From 07b471bcac6feb8a351f013c512af50b7f884543 Mon Sep 17 00:00:00 2001 From: Alexander Szczepanski Date: Sat, 2 Nov 2024 18:27:40 +0100 Subject: [PATCH] framework-2024-11-02-18-27-40 --- machine/framework/configuration.nix | 23 +++++--- machine/framework/hardware-configuration.nix | 59 ++++++++++++++++++-- 2 files changed, 68 insertions(+), 14 deletions(-) diff --git a/machine/framework/configuration.nix b/machine/framework/configuration.nix index edfd6cc..ccee6b2 100755 --- a/machine/framework/configuration.nix +++ b/machine/framework/configuration.nix @@ -56,10 +56,16 @@ in kernelPackages = pkgs.linuxPackages_latest; initrd.systemd.enable = true; loader = { - systemd-boot.enable = true; + grub = { + enable = true; + efiSupport = true; + device = "nodev"; + configurationLimit = 5; + enableCryptodisk = true; + }; efi = { canTouchEfiVariables = true; }; }; - + supportedFilesystems = [ "btrfs" ]; kernelPatches = [{ name = "fix problems with netfilter in 6.11.4"; patch = ../../kernelpatches/fix-netfilter-6.11.4.patch; @@ -215,17 +221,18 @@ in }; # Set up deep sleep + hibernation - swapDevices = [{ - device = "/swapfile"; - size = 64 * 1024; - }]; + # swapDevices = [{ + # device = "/swapfile"; + # size = 64 * 1024; + # }]; # Partition swapfile is on (after LUKS decryption) - boot.resumeDevice = "/dev/disk/by-uuid/5549d49d-165e-4a45-973e-6a32a63e31be"; + boot.resumeDevice = "/dev/disk/by-uuid/9f90bae0-287b-480c-9aa1-de108b4b4626"; # Resume Offset is offset of swapfile # https://wiki.archlinux.org/title/Power_management/Suspend_and_hibernate#Hibernation_into_swap_file - boot.kernelParams = [ "mem_sleep_default=deep" "resume_offset=190937088" ]; + # boot.kernelParams = [ "mem_sleep_default=deep" "resume_offset=190937088" ]; + boot.kernelParams = [ "mem_sleep_default=deep" ]; # Suspend-then-hibernate everywhere services.logind = { diff --git a/machine/framework/hardware-configuration.nix b/machine/framework/hardware-configuration.nix index 90c8f5d..b4bc981 100644 --- a/machine/framework/hardware-configuration.nix +++ b/machine/framework/hardware-configuration.nix @@ -9,24 +9,66 @@ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ]; + boot.initrd.availableKernelModules = [ + "xhci_pci" + "thunderbolt" + "nvme" + "usb_storage" + "sd_mod" + ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-intel" ]; boot.extraModulePackages = [ ]; fileSystems = { "/" = { - device = "/dev/disk/by-uuid/5549d49d-165e-4a45-973e-6a32a63e31be"; - fsType = "ext4"; + device = "/dev/disk/by-uuid/20780bfe-5714-4c2f-bf53-7296b76cfbdc"; + fsType = "btrfs"; options = [ + "subvol=@root" + "compress=zstd" + "noatime" + "nodiratime" + "discard" + ]; + }; + "/home" = { + device = "/dev/disk/by-uuid/20780bfe-5714-4c2f-bf53-7296b76cfbdc"; + fsType = "btrfs"; + options = [ + "subvol=@home" + "compress=zstd" + "noatime" + "nodiratime" + "discard" + ]; + }; + "/nix" = { + device = "/dev/disk/by-uuid/20780bfe-5714-4c2f-bf53-7296b76cfbdc"; + fsType = "btrfs"; + options = [ + "subvol=@nix" + "compress=zstd" + "noatime" + "nodiratime" + "discard" + ]; + }; + "/var/log" = { + device = "/dev/disk/by-uuid/20780bfe-5714-4c2f-bf53-7296b76cfbdc"; + fsType = "btrfs"; + options = [ + "subvol=@log" + "compress=zstd" "noatime" "nodiratime" "discard" ]; }; "/boot" = { - device = "/dev/disk/by-uuid/20D2-E669"; + device = "/dev/disk/by-uuid/427A-97BA"; fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; }; "/home/alex/shared/storage" = { device = "/dev/disk/by-uuid/58259976-4f63-4f60-a755-7870b08286e7"; @@ -42,14 +84,19 @@ }; }; - boot.initrd.luks.devices."luks-4f42a0a6-1f09-413c-8af3-9be8fc5c1b25".device = "/dev/disk/by-uuid/4f42a0a6-1f09-413c-8af3-9be8fc5c1b25"; + boot.initrd.luks.devices.root = { + device = "/dev/disk/by-uuid/eddab069-d369-4b26-8b4e-f3b907ba6f6c"; + preLVM = true; + }; environment.etc.crypttab.text = '' luks-e36ec189-2211-4bcc-bb9d-46650443d76b UUID=e36ec189-2211-4bcc-bb9d-46650443d76b /etc/luks-key01 ''; # boot.initrd.luks.devices."luks-e36ec189-2211-4bcc-bb9d-46650443d76b".device = "/dev/disk/by-uuid/e36ec189-2211-4bcc-bb9d-46650443d76b"; - swapDevices = [ ]; + swapDevices = [{ + device = "/dev/disk/by-uuid/9f90bae0-287b-480c-9aa1-de108b4b4626"; + }]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's