chore(guide): add corrections and updates to the install guide
This commit is contained in:
+20
-9
@@ -2,8 +2,13 @@
|
||||
|
||||
- The installations presented in this repository are always luks encrypted
|
||||
- For simplicity I'm using device labels rather than uuids
|
||||
- Secure Boot has to be disabled in the firmware, the installer iso isn't signed
|
||||
|
||||
1. the partitioning layout should look somewhat like this after the installation
|
||||
1. create the partitions with `cfdisk` or `fdisk` (gpt)
|
||||
- `nvme0n1p1`: 2G, type `EFI System`, otherwise the firmware won't find the bootloader
|
||||
- `nvme0n1p2`: the rest, type `Linux filesystem`
|
||||
|
||||
the layout should look somewhat like this after the installation
|
||||
```bash
|
||||
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
|
||||
nvme0n1 259:0 0 476.9G 0 disk
|
||||
@@ -30,12 +35,13 @@ cryptsetup luksOpen /dev/nvme0n1p2 cryptroot
|
||||
pvcreate /dev/mapper/cryptroot
|
||||
# create a volume group inside
|
||||
vgcreate lvmroot /dev/mapper/cryptroot
|
||||
# create the swap volume
|
||||
lvcreate --size 8G lvmroot --name swap
|
||||
# create the swap volume, half the ram (no hibernation)
|
||||
lvcreate --size 16G lvmroot --name swap
|
||||
# if you desire, create a home volume
|
||||
lvcreate --size 150G lvmroot --name home
|
||||
# create the root volume
|
||||
lvcreate -l 100%FREE lvmroot --name root
|
||||
# create the root volume, leave some space in the vg to grow volumes later
|
||||
# (lvextend -r -L +50G lvmroot/home works while mounted)
|
||||
lvcreate -l 90%FREE lvmroot --name root
|
||||
|
||||
# format as usual for root partition
|
||||
mkfs.ext4 -L "nixroot" /dev/mapper/lvmroot-root
|
||||
@@ -47,7 +53,7 @@ mkswap -L "nixswap" /dev/mapper/lvmroot-swap
|
||||
# mount root
|
||||
mount /dev/disk/by-label/nixroot /mnt
|
||||
# mount boot
|
||||
mount --mkdir /dev/nvme0n1p1 /mnt/boot
|
||||
mount --mkdir /dev/disk/by-label/nixboot /mnt/boot
|
||||
# again, if you did the home volume
|
||||
mount --mkdir /dev/disk/by-label/nixhome /mnt/home
|
||||
# turn on swap
|
||||
@@ -59,8 +65,7 @@ swapon /dev/disk/by-label/nixswap
|
||||
# generate templates and update the hardware-configuration.nix
|
||||
nixos-generate-config --root /mnt
|
||||
|
||||
# add dm-crypt and dm-mod to the kernelModules
|
||||
boot.initrd.kernelModules = [ "dm-crypt" "dm-mod" ];
|
||||
# no extra kernelModules needed, luks and lvm load dm_crypt and dm_mod themselves
|
||||
|
||||
# add file systems using labels
|
||||
fileSystems."/" =
|
||||
@@ -81,7 +86,13 @@ swapDevices =
|
||||
];
|
||||
|
||||
# point the bootloader to the luks device
|
||||
boot.initrd.luks.devices."cryptroot".device = "/dev/disk/by-label/nixcrypt";
|
||||
boot.initrd.luks.devices."cryptroot" = {
|
||||
device = "/dev/disk/by-label/nixcrypt";
|
||||
# without this fstrim never reaches the ssd
|
||||
allowDiscards = true;
|
||||
# lower latency on nvme
|
||||
bypassWorkqueues = true;
|
||||
};
|
||||
```
|
||||
|
||||
4. install nixos
|
||||
|
||||
Reference in New Issue
Block a user