.. | ||
.env_sample | ||
makefile | ||
nil.nix | ||
readme.md |
What's this?
This directory contains the specific host configuration for each machine that uses this nix setup. Description and hardware of each machine will be listed as a comment block at the start of each .nix
file.
So you want to add a machine?
This will get flushed out as a move more of my systems over to NixOS.
Setup
cp .env_sample .env
Update the variables. run make echo
to verify all values are set correctly.
If all looks good run make install
. This will
- Wipe the specified drive.
- Partition the drive using
gdisk
- Setup the boot drive
- Configure the LUKS partition
- Setup the LVM inside the LUKS Partition
- Setup Swap inside the LVM.
- Setup a ZFS pool & create ZFS mount points
- Generate then install the NixOS configuration.
Note: Step 8 is now outdated and should be updated to work with this configuration format and flakes.
This should leave you with a system formatted like the below
NAME TYPE MOUNTPOINT
nvme0n1 disk
├─nvme0n1p1 part /boot
└─nvme0n1p2 part
└─crypt crypt /dev/mapper/root
└─partitions lvm
├─swap swap /dev/partitions/swap
└─lvm_root lvm /dev/partitions/lvm_root
└─rpool zpool
├─rpool/root zfs
├─rpool/root/nixos zfs /
└─rpool/home zfs /home