hardware.nix
1 { 2 config, 3 lib, 4 modulesPath, 5 ... 6 }: 7 { 8 imports = [ 9 (modulesPath + "/installer/scan/not-detected.nix") 10 ]; 11 12 fileSystems."/" = { 13 device = "/dev/disk/by-uuid/1dc63794-7ade-4515-bb78-5ad39efc3cec"; 14 fsType = "ext4"; 15 }; 16 17 boot = { 18 kernelModules = [ "kvm-intel" ]; 19 loader = { 20 systemd-boot.enable = true; 21 efi.canTouchEfiVariables = true; 22 }; 23 24 initrd = { 25 availableKernelModules = [ 26 "xhci_pci" 27 "nvme" 28 "usb_storage" 29 "sd_mod" 30 ]; 31 32 luks = { 33 devices."luks-a5c81d3f-2beb-4f03-846a-8180b66906c2" = { 34 device = "/dev/disk/by-uuid/a5c81d3f-2beb-4f03-846a-8180b66906c2"; 35 crypttabExtraOpts = [ "fido2-device=auto" ]; 36 }; 37 devices."luks-75b2ca82-089f-43a6-9898-717ecff82bc1" = { 38 device = "/dev/disk/by-uuid/75b2ca82-089f-43a6-9898-717ecff82bc1"; 39 crypttabExtraOpts = [ "fido2-device=auto" ]; 40 }; 41 }; 42 systemd.enable = true; 43 }; 44 }; 45 46 fileSystems."/boot" = { 47 device = "/dev/disk/by-uuid/2640-9029"; 48 fsType = "vfat"; 49 options = [ 50 "fmask=0077" 51 "dmask=0077" 52 ]; 53 }; 54 55 systemd.network.networks = { 56 "50-dhcp" = { 57 matchConfig.Name = "en*"; 58 networkConfig.DHCP = "yes"; 59 dhcpV4Config.UseDNS = false; 60 dhcpV6Config.UseDNS = false; 61 linkConfig.RequiredForOnline = "no"; 62 }; 63 "50-wireless" = { 64 matchConfig.Name = "wlan0"; 65 dhcpV4Config.UseDNS = false; 66 dhcpV6Config.UseDNS = false; 67 networkConfig = { 68 DHCP = "yes"; 69 IgnoreCarrierLoss = "3s"; 70 }; 71 }; 72 }; 73 74 networking.wireless.iwd = { 75 enable = true; 76 settings = { 77 IPv6.Enabled = true; 78 # https://man.archlinux.org/man/iwd.network.5#SETTINGS 79 Settings = { 80 AutoConnect = true; 81 Hidden = true; # show hidden 82 AlwaysRandomizeAddress = true; # random mac 83 }; 84 }; 85 }; 86 87 swapDevices = [ 88 { device = "/dev/disk/by-uuid/8e846295-8a8c-4bab-a07a-d615743733e1"; } 89 ]; 90 91 boot.resumeDevice = "/dev/disk/by-uuid/8e846295-8a8c-4bab-a07a-d615743733e1"; 92 93 nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; 94 hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; 95 }