1
0
Reproducible localhost based on NixOS
Go to file
2020-12-14 18:20:36 +00:00
etc Emacs: use default font size 2020-12-14 18:20:29 +00:00
.gitignore Initial 2019-05-31 00:08:17 +00:00
auto-update.nix Faultless auto-update 2020-12-14 18:19:16 +00:00
configuration.nix Refactor 2020-12-14 18:20:28 +00:00
desktop.nix Use default lightdm greeter 2020-12-14 18:20:36 +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 Bump home manager 2020-12-14 18:20:34 +00:00
LICENSE Initial 2019-05-31 00:08:17 +00:00
networking.nix Revert "Disable nscd" 2020-12-14 18:20:35 +00:00
packages.nix Remove lxappearance 2020-12-14 18:20:33 +00:00
README.md Suggest to run nix-channel --update after install 2020-12-14 18:20:27 +00:00
secrets.nix.example Fix example 2020-12-14 18:20:11 +00:00
security.nix i3lock -> xsecurelock 2020-12-14 18:19:24 +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. 20.03) 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 --add https://nixos.org/channels/nixos-20.03-small nixos-small
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
sudo nix-channel --add https://nixos.org/channels/nixos-20.03-small nixos-small
sudo nix-channel --update