1
0
Reproducible localhost based on NixOS
Go to file
2022-05-11 14:23:27 +00:00
etc Disable current line highlight 2022-05-11 14:09:04 +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 Enable firmware update manager 2022-05-11 14:08:21 +00:00
desktop.nix Add SponsorBlock plugin for Chromium 2021-10-07 13:46:45 +00:00
docker.nix Add libseccomp-dev, fix ntpd unit, remove telegram 2021-06-01 21:54:52 +00:00
hacks.nix Implements docker-based fhs env wrapper 2019-07-05 19:49:51 +00:00
home-manager.nix Second path for tmux config 2022-05-11 14:22:47 +00:00
LICENSE Initial 2019-05-31 00:08:17 +00:00
networking.nix OpenVPN keep-alive service 2022-05-11 14:23:27 +00:00
packages.nix New git-get implementation 2022-05-11 14:22:04 +00:00
README.md Get rid of unstable 2020-12-14 18:20:45 +00:00
secrets.nix.example Add hosts 2021-05-18 13:20:23 +00:00
security.nix Compatibility with the new NixOS version 2021-10-07 13:46: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-20.09 nixos
nix-channel --add https://nixos.org/channels/nixos-20.09-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-20.09 nixos
sudo nix-channel --add https://nixos.org/channels/nixos-20.09-small nixos-small
sudo nix-channel --update