System configs, 'dotfiles', and... stuff.
For the average system, booted into a minimal disk image...
./scripts/partition.sh
for an opinionated, minimally guided, partioning scheme.
./scripts/partition.sh -d <device> -e
nixos-generate-config --root /mnt
For the average system, booted into a minimal disk image, when a disko config is defined.
nix --experimental-features "nix-command flakes" run github:nix-community/disko/latest -- --mode disko ./hosts/<host>/disko.nix
nixos-generate-config --no-filesystems --root /mnt
For raspberry pi, track this: nix-community/disko#550
# after configs are generated, reconcile /mnt/etc/nixos/*.nix with config in ./hosts/<host>;
# from here, we'll abondon the generated configs in /mnt/etc/nixos/*.nix in favor of our flake.
nixos-install --root /mnt --flake .#<host>
# be careful not to lose any potential diffs; either commit and push them, or copy them into a safe
# location on the newly built system still attached to /mnt.
When initially building this out, some of the below were helpful and inspiring along the way: