From 4464c6638659e0bfaf9a43621a27f8e3a92c5380 Mon Sep 17 00:00:00 2001 From: Christoph Cullmann Date: Mon, 25 Mar 2024 20:03:49 +0100 Subject: [PATCH] use btrfs again --- common.nix | 3 ++- mini/hardware-configuration.nix | 38 +++++++++++++++++++-------------- mini/install.txt | 10 +++++---- 3 files changed, 30 insertions(+), 21 deletions(-) diff --git a/common.nix b/common.nix index 8b439cb..4319422 100644 --- a/common.nix +++ b/common.nix @@ -162,10 +162,11 @@ in options = "--delete-older-than 7d"; }; - # avoid that nix hogs all CPUs + # avoid that nix hogs all CPUs and enable new stuff settings = { max-jobs = 1; cores = 4; + experimental-features = "nix-command flakes"; }; # https://github.com/nix-community/nix-direnv diff --git a/mini/hardware-configuration.nix b/mini/hardware-configuration.nix index 99e60cd..f317a8b 100644 --- a/mini/hardware-configuration.nix +++ b/mini/hardware-configuration.nix @@ -10,11 +10,17 @@ boot.initrd.kernelModules = [ "amdgpu" ]; boot.kernelModules = [ "kvm-amd" ]; + # system + boot.initrd.luks.devices."crypt-system".device = "/dev/disk/by-id/nvme-CT4000P3PSSD8_2325E6E63746-part2"; + + # vms + #boot.initrd.luks.devices."crypt-vms".device = "/dev/disk/by-id/ata-CT2000MX500SSD1_2138E5D5061F"; + fileSystems."/" = - { device = "none"; - fsType = "tmpfs"; + { device = "/dev/mapper/crypt-system"; + fsType = "btrfs"; neededForBoot = true; - options = [ "defaults" "size=8G" "mode=755" ]; + options = [ "subvol=root" "noatime" "nodiratime" ]; }; fileSystems."/boot" = @@ -24,17 +30,17 @@ }; fileSystems."/nix" = - { device = "/dev/disk/by-id/nvme-CT4000P3PSSD8_2325E6E63746-part2"; - fsType = "bcachefs"; + { device = "/dev/mapper/crypt-system"; + fsType = "btrfs"; neededForBoot = true; - options = [ "noatime" "nodiratime" ]; + options = [ "subvol=nix" "noatime" "nodiratime" ]; }; fileSystems."/data" = - { device = "/dev/disk/by-id/nvme-CT4000P3PSSD8_2325E6E63746-part3"; - fsType = "bcachefs"; + { device = "/dev/mapper/crypt-system"; + fsType = "btrfs"; neededForBoot = true; - options = [ "noatime" "nodiratime" ]; + options = [ "subvol=data" "noatime" "nodiratime" ]; }; fileSystems."/home" = @@ -61,13 +67,13 @@ depends = [ "/data" ]; }; - fileSystems."/home/cullmann/vms" = - { device = "/dev/disk/by-id/ata-CT2000MX500SSD1_2138E5D5061F"; - fsType = "bcachefs"; - neededForBoot = true; - options = [ "noatime" "nodiratime" ]; - depends = [ "/home" ]; - }; +# fileSystems."/home/cullmann/vms" = +# { device = "/dev/disk/by-id/ata-CT2000MX500SSD1_2138E5D5061F"; +# fsType = "bcachefs"; +# neededForBoot = true; +# options = [ "noatime" "nodiratime" ]; +# depends = [ "/home" ]; +# }; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; diff --git a/mini/install.txt b/mini/install.txt index 73ec634..2c834c0 100644 --- a/mini/install.txt +++ b/mini/install.txt @@ -124,6 +124,10 @@ mount --bind /mnt/data/home /mnt/home mount --bind /mnt/data/root /mnt/root mount --bind /mnt/data/nixos/$HOST /mnt/etc/nixos +# create fake /data to have the right paths +mkdir -p /data +mount --bind /mnt/data /data + # take a look mount @@ -137,17 +141,15 @@ cp /mnt/etc/nixos/configuration.nix /tmp # copy config data -# patch some paths there - sudo scp -r /data/nixos root@192.168.13.100:/mnt/data # install -nixos-install --no-root-passwd --root /mnt +nixos-install --option experimental-features 'nix-command flakes' --no-root-passwd --root /mnt # unmount all stuff -umount -Rl /mnt +umount -Rl /data /mnt cryptsetup luksClose crypt-system # sync all /data after the install