This repository has been archived on 2023-08-08. You can view files and clone it, but cannot push or open issues or pull requests.
nil/hosts
2022-03-06 14:31:24 -05:00
..
.env_sample Updated documentation for creating a new install. 2022-03-06 14:31:24 -05:00
makefile Updated documentation for creating a new install. 2022-03-06 14:31:24 -05:00
nil.nix refactored 2022-03-04 22:21:58 -05:00
readme.md Updated documentation for creating a new install. 2022-03-06 14:31:24 -05:00

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

  1. Wipe the specified drive.
  2. Partition the drive using gdisk
  3. Setup the boot drive
  4. Configure the LUKS partition
  5. Setup the LVM inside the LUKS Partition
  6. Setup Swap inside the LVM.
  7. Setup a ZFS pool & create ZFS mount points
  8. 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