chuahou / conf.nix

NixOS configuration and friends

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

conf.nix


Build derivations with updated inputs

Personal configuration for NixOS, home-manager and others.

Usage

  1. Partition accordingly.
  2. Set up LUKS as appropriate.
    1. cryptsetup luksFormat /dev/XXX
    2. cryptsetup open /dev/XXX crypt
    3. pvcreate /dev/mapper/crypt
    4. vgcreate data /dev/mapper/crypt
    5. lvcreate -n swap -L 4G data
    6. lvcreate -n root -l 100%FREE data
    7. mkswap /dev/mapper/data-swap
    8. mkfs.btrfs /dev/mapper/data-root
  3. Create subvolumes.
    1. mount -t btrfs /dev/mapper/data-root -o noatime,ssd,space_cache=v2,commit=120,compress=zstd /mnt
    2. for i in root home nix persist log; do btrfs sub create /mnt/$i; done
    3. btrfs sub snap -r /mnt/root{,-blank}
    4. umount /mnt
    5. mount -t btrfs /dev/mapper/data-root -o noatime,ssd,space_cache=v2,commit=120,compress=zstd,subvol=root /mnt
    6. mkdir -p /mnt/{home,nix,persist,var/log,boot}
    7. 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; done
    8. mount -t btrfs /dev/mapper/data-root -o noatime,ssd,space_cache=v2,commit=120,compress=zstd,subvol=log /mnt/var/log
    9. mount /dev/BOOTPARTITION /mnt/boot
  4. nixos-generate-config --root /mnt and copy relevant generated details to a new host under nixos/.
  5. Write host-specific config under new host under nixos/.
    1. UUIDs can be found using blkid | grep UUID.
  6. Setup password files.
    1. mkdir -p /mnt/persist/passwd
    2. mkpasswd -m sha-512 > /mnt/persist/passwd/root
    3. mkpasswd -m sha-512 > /mnt/persist/passwd/user
  7. nixos-install --impure --flake /path/to/conf.nix#NEWHOSTNAME

Previously on configuration repos

RIP kiwami, utility repo

About

NixOS configuration and friends

License:MIT License


Languages

Language:Nix 76.4%Language:Vim Script 11.6%Language:Shell 7.1%Language:Vim Snippet 4.8%