diff --git a/README.md b/README.md index 0fe8518..a6e56e3 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,66 @@ personal nixos configuration files -## how to deploy +## how to deploy the config ```bash $ sudo nixos-rebuild switch --flake path:/home/aaron/git/nixconfig#default ``` + +## how to upgrade the system + +```bash +$ sudo nixos-rebuild switch --flake --upgrade path:/home/aaron/git/nixconfig#default +``` + +## basic system installation + +```bash +NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT +sda 8:0 0 233.8G 0 disk +├─sda1 8:1 0 500M 0 part /boot +└─sda2 8:2 0 233.3G 0 part + └─root 254:0 0 233.3G 0 crypt + ├─vg-swap 254:1 0 8G 0 lvm [SWAP] + └─vg-root 254:2 0 225.3G 0 lvm / +``` + +```bash +# format the boot partition +mkfs.fat -F 32 /dev/sda1 -n "nixboot" +# create an encrypted partition +cryptsetup luksFormat -y --label="nixcrypt" /dev/sda2 +# open the encrypted partition and map it to /dev/mapper/cryptroot +cryptsetup luksOpen /dev/sda2 cryptroot + +# create the physical volume +pvcreate /dev/mapper/cryptroot +# create a volume group inside +vgcreate lvmroot /dev/mapper/cryptroot +# create the swap volume +lvcreate --size 8G lvmroot --name nwap +# if you desire, create a home volume +lvcreate --size 150G lvmroot --name home +# create the root volume +lvcreate -l 100%FREE lvmroot --name root + +# format as usual for root partition +mkfs.ext4 -L "nixroot" /dev/mapper/lvmroot-root +# if you previously made the home partition, do it too +mkfs.ext4 -L "nixhome" /dev/mapper/lvmroot-home +# format the swap partition +mkswap -L "nixswap" /dev/mapper/lvmroot-swap + +# mount root +mount /dev/disk/by-label/nixroot /mnt +# mount boot +mount --mkdir /dev/sda1 /mnt/boot +# again, if you did the home volume +mount --mkdir /dev/disk/by-label/nixhome /mnt/home +# turn on swap +swapon /dev/disk/by-label/nixswap +``` + +## author + +aaron