1
0
Reproducible localhost based on NixOS
Go to file
2020-12-14 18:19:04 +00:00
etc Kitty has stopped follow GDK_SCALE 2019-11-30 12:29:10 +00:00
.gitignore Initial 2019-05-31 00:08:17 +00:00
configuration.nix Disable kernel modules locking 2019-11-19 16:31:28 +00:00
desktop.nix Add Grammarly 2019-11-19 16:31:38 +00:00
docker.nix Add libarchive/nettle to docker container 2019-10-07 21:04:49 +00:00
hacks.nix Implements docker-based fhs env wrapper 2019-07-05 19:49:51 +00:00
home-manager.nix Set gsettings schemas from unstable 2019-11-30 12:29:38 +00:00
LICENSE Initial 2019-05-31 00:08:17 +00:00
networking.nix Disable ping response 2019-09-06 15:29:25 +00:00
packages.nix Remove anbox 2020-12-14 18:19:04 +00:00
README.md Update README.md 2019-10-13 18:18:22 +00:00
secrets.nix.example Add secrets example 2019-06-21 19:14:17 +00:00
security.nix Disable kernel modules locking 2019-11-19 16:31:28 +00:00
suspend.nix Initial 2019-05-31 00:08:17 +00:00
thinkpad.nix CPU Throttling Fix 2019-08-22 22:11:33 +00:00
wireless-networks.nix.example Add wireless networks sample 2019-06-21 19:16:58 +00:00

Fully reproducible localhost

Download NixOS installation ISO

Notes:

  1. I assume that latest stable (e.g. 19.09) ISO will be used for installation.
  2. Default network configuration is VPN-only, so if you don't have plans to use it you need to change iptables rules (remove iptables -P OUTPUT DROP from networking.nix) and remove services.openvpn.servers.vpn from networking.nix.
  3. GUI settings is optimized for 3840x2160 on 15".

Installation

parted /dev/vda mklabel gpt
parted /dev/vda mkpart EFI fat32 0% 512M
parted /dev/vda set 1 esp on
parted /dev/vda mkpart NIX ext4 512M 100%

cryptsetup luksFormat /dev/vda2
cryptsetup open /dev/vda2 nix

mkfs.vfat -F32 /dev/vda1
mkfs.ext4 /dev/mapper/nix

mount /dev/mapper/nix /mnt/
mkdir /mnt/boot
mount /dev/vda1 /mnt/boot

nix-env -iA nixos.gitMinimal
git clone https://code.dumpstack.io/infra/localhost.git /mnt/etc/nixos/

cd /mnt/etc/nixos

cp wireless-networks.nix.example wireless-networks.nix
nano wireless-networks.nix

cp secrets.nix.example secrets.nix
nano secrets.nix

nix-channel --add https://nixos.org/channels/nixos-unstable unstable
nix-channel --update

nixos-generate-config --root /mnt

nixos-install
reboot

After install

Initial password for user is user.

sudo nix-channel --add https://nixos.org/channels/nixos-unstable unstable