{ config, lib, pkgs, ... }: let fsOptions = [ "noatime" "ssd" "space_cache" "compress=zstd" ]; in { imports = [ ( builtins.fetchGit { url = "https://github.com/NixOS/nixos-hardware"; rev = "d38958a6aa5bdbf3239f26a04689f3d9ae7da0c0"; } + "/lenovo/thinkpad/t440s" ) ]; boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; boot.kernelModules = [ "kvm-intel" ]; boot.extraModulePackages = []; # encrypted partitions boot.initrd.luks = { devices = # allow discards on all devices builtins.mapAttrs (name: val: val // {allowDiscards = true;}) { "system".device = "/dev/disk/by-uuid/85154131-b2a8-4ef5-9d74-47429cb267ef"; "cryptswap".device = "/dev/disk/by-uuid/ac586df6-6332-4809-beb1-f51906a2adaa"; "ssd2".device = "/dev/disk/by-uuid/cadd4e1f-3642-4faa-8d4e-37dd85465df1"; }; reusePassphrases = true; }; fileSystems."/" = { device = "/dev/disk/by-uuid/cb5998ae-cfc9-447f-8756-1ceaec6ca4c4"; fsType = "btrfs"; options = fsOptions ++ [ "subvol=nixos_root" ]; }; fileSystems."/boot" = { device = "/dev/disk/by-uuid/DED9-661B"; fsType = "vfat"; options = [ "discard" ]; }; fileSystems."/home" = { device = "/dev/disk/by-uuid/cb5998ae-cfc9-447f-8756-1ceaec6ca4c4"; fsType = "btrfs"; options = fsOptions ++ [ "subvol=home" ]; }; fileSystems."/var/tmp" = { device = "/dev/disk/by-uuid/cd6b8f25-c029-49a6-b326-656faec3ce15"; fsType = "btrfs"; options = fsOptions ++ [ "subvol=vartmp" ]; }; fileSystems."/var/log" = { device = "/dev/disk/by-uuid/cd6b8f25-c029-49a6-b326-656faec3ce15"; fsType = "btrfs"; options = fsOptions ++ [ "subvol=varlog" ]; }; fileSystems."/var/cache" = { device = "/dev/disk/by-uuid/cd6b8f25-c029-49a6-b326-656faec3ce15"; fsType = "btrfs"; options = fsOptions ++ [ "subvol=varcache" ]; }; boot.tmpOnTmpfs = true; fileSystems."/tmp".fsType = "tmpfs"; swapDevices = [ { device = "/dev/disk/by-uuid/bf928178-4e92-4e7e-8df2-18fbd658eecf"; } ]; nix.maxJobs = lib.mkDefault 4; powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; hardware.trackpoint = { enable = true; sensitivity = 180; speed = 180; }; # modesetting is always better than intel (legacy) services.xserver.videoDrivers = [ "modesetting" ]; }