Personal configuration for NixOS, home-manager and others.
- Partition accordingly.
- Set up LUKS as appropriate.
cryptsetup luksFormat /dev/XXXcryptsetup open /dev/XXX cryptpvcreate /dev/mapper/cryptvgcreate data /dev/mapper/cryptlvcreate -n swap -L 4G datalvcreate -n root -l 100%FREE datamkswap /dev/mapper/data-swapmkfs.btrfs /dev/mapper/data-root
- Create subvolumes.
mount -t btrfs /dev/mapper/data-root -o noatime,ssd,space_cache=v2,commit=120,compress=zstd /mntfor i in root home nix persist log; do btrfs sub create /mnt/$i; donebtrfs sub snap -r /mnt/root{,-blank}umount /mntmount -t btrfs /dev/mapper/data-root -o noatime,ssd,space_cache=v2,commit=120,compress=zstd,subvol=root /mntmkdir -p /mnt/{home,nix,persist,var/log,boot}for i in home nix persist; do mount -t btrfs /dev/mapper/data-root -o noatime,ssd,space_cache=v2,commit=120,compress=zstd,subvol=$i /mnt/$i; donemount -t btrfs /dev/mapper/data-root -o noatime,ssd,space_cache=v2,commit=120,compress=zstd,subvol=log /mnt/var/logmount /dev/BOOTPARTITION /mnt/boot
nixos-generate-config --root /mntand copy relevant generated details to a new host undernixos/.- Write host-specific config under new host under
nixos/.- UUIDs can be found using
blkid | grep UUID.
- UUIDs can be found using
- Setup password files.
mkdir -p /mnt/persist/passwdmkpasswd -m sha-512 > /mnt/persist/passwd/rootmkpasswd -m sha-512 > /mnt/persist/passwd/user
nixos-install --impure --flake /path/to/conf.nix#NEWHOSTNAME
RIP kiwami, utility repo