diff --git a/hosts/kilgharrah/boot.nix b/hosts/kilgharrah/boot.nix new file mode 100644 index 0000000..31d92d8 --- /dev/null +++ b/hosts/kilgharrah/boot.nix @@ -0,0 +1,14 @@ +{ config, lib, pkgs, ... }: + +{ + boot = { + loader.systemd-boot.enable = true; + loader.systemd-boot.editor = false; + loader.efi.canTouchEfiVariables = true; + + initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" ]; + kernelModules = [ "kvm-intel" ]; + + supportedFilesystems = [ "ntfs" ]; # for USB drives + }; +} diff --git a/hosts/kilgharrah/default.nix b/hosts/kilgharrah/default.nix index c2b18d0..a157123 100644 --- a/hosts/kilgharrah/default.nix +++ b/hosts/kilgharrah/default.nix @@ -1,10 +1,12 @@ { config, lib, pkgs, ... }: { - imports = - [ # Include the results of the hardware scan. - ./hardware-configuration.nix - ]; + imports = [ + ./boot.nix + ./filesystems.nix + ./hardware.nix + ./networking.nix + ]; nixpkgs.hostPlatform = "x86_64-linux"; networking.hostId = "72885bb5"; @@ -18,20 +20,8 @@ security.sudo.wheelNeedsPassword = false; nix.settings.trusted-users = [ "@wheel" ]; - # Use the systemd-boot EFI boot loader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - - networking.hostName = "kilgharrah"; # Define your hostname. - - networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. - time.timeZone = "Europe/London"; - # Configure network proxy if necessary - # networking.proxy.default = "http://user:password@proxy:port/"; - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - i18n.defaultLocale = "en_GB.UTF-8"; console.keyMap = "uk"; @@ -65,6 +55,6 @@ ]; }; - system.stateVersion = "24.05"; # Did you read the comment? + system.stateVersion = "24.05"; -} \ No newline at end of file +} diff --git a/hosts/kilgharrah/filesystems.nix b/hosts/kilgharrah/filesystems.nix new file mode 100644 index 0000000..eb9f0c5 --- /dev/null +++ b/hosts/kilgharrah/filesystems.nix @@ -0,0 +1,65 @@ +{ config, lib, pkgs, ... }: + +{ + boot.initrd.luks.devices = { + "enc".device = "/dev/disk/by-uuid/b414aaba-0a36-4135-a7e1-dc9489286acd"; + }; + + fileSystems = { + "/" = { + device = "/dev/disk/by-uuid/ad4cbc18-8849-40ed-b0bf-097f8f46346b"; + fsType = "btrfs"; + options = [ "subvol=@" "compress=zstd" ]; + }; + "/home" = { + device = "/dev/disk/by-uuid/ad4cbc18-8849-40ed-b0bf-097f8f46346b"; + fsType = "btrfs"; + options = [ "subvol=@home" "compress=zstd" ]; + }; + "/nix" = { + device = "/dev/disk/by-uuid/ad4cbc18-8849-40ed-b0bf-097f8f46346b"; + fsType = "btrfs"; + options = [ "subvol=@nix" "compress=zstd" "noatime" ]; + }; + "/swap" = { + device = "/dev/disk/by-uuid/ad4cbc18-8849-40ed-b0bf-097f8f46346b"; + fsType = "btrfs"; + options = [ "subvol=@swap" "noatime" ]; + }; + "/root" = { + device = "/dev/disk/by-uuid/ad4cbc18-8849-40ed-b0bf-097f8f46346b"; + fsType = "btrfs"; + options = [ "subvol=@root" "compress=zstd" ]; + }; + "/srv" = { + device = "/dev/disk/by-uuid/ad4cbc18-8849-40ed-b0bf-097f8f46346b"; + fsType = "btrfs"; + options = [ "subvol=@srv" "compress=zstd" ]; + }; + "/var/cache" = { + device = "/dev/disk/by-uuid/ad4cbc18-8849-40ed-b0bf-097f8f46346b"; + fsType = "btrfs"; + options = [ "subvol=@cache" "compress=zstd" "noatime" ]; + }; + "/var/tmp" = { + device = "/dev/disk/by-uuid/ad4cbc18-8849-40ed-b0bf-097f8f46346b"; + fsType = "btrfs"; + options = [ "subvol=@tmp" "compress=zstd" "noatime" ]; + }; + "/var/log" = { + device = "/dev/disk/by-uuid/ad4cbc18-8849-40ed-b0bf-097f8f46346b"; + fsType = "btrfs"; + options = [ "subvol=@log" "compress=zstd" "noatime" ]; + }; + "/boot" = { + device = "/dev/disk/by-uuid/9582-E78D"; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; + }; + }; + + swapDevices = [{ + device = "/swap/swapfile"; + size = 32 * 1024; + }]; +} diff --git a/hosts/kilgharrah/hardware-configuration.nix b/hosts/kilgharrah/hardware-configuration.nix deleted file mode 100644 index 6610f2c..0000000 --- a/hosts/kilgharrah/hardware-configuration.nix +++ /dev/null @@ -1,90 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = - { device = "/dev/disk/by-uuid/ad4cbc18-8849-40ed-b0bf-097f8f46346b"; - fsType = "btrfs"; - options = [ "subvol=@" "compress=zstd" ]; - }; - - boot.initrd.luks.devices."enc".device = "/dev/disk/by-uuid/b414aaba-0a36-4135-a7e1-dc9489286acd"; - - fileSystems."/home" = - { device = "/dev/disk/by-uuid/ad4cbc18-8849-40ed-b0bf-097f8f46346b"; - fsType = "btrfs"; - options = [ "subvol=@home" "compress=zstd" ]; - }; - - fileSystems."/nix" = - { device = "/dev/disk/by-uuid/ad4cbc18-8849-40ed-b0bf-097f8f46346b"; - fsType = "btrfs"; - options = [ "subvol=@nix" "compress=zstd" "noatime" ]; - }; - - fileSystems."/swap" = - { device = "/dev/disk/by-uuid/ad4cbc18-8849-40ed-b0bf-097f8f46346b"; - fsType = "btrfs"; - options = [ "subvol=@swap" "noatime" ]; - }; - - fileSystems."/root" = - { device = "/dev/disk/by-uuid/ad4cbc18-8849-40ed-b0bf-097f8f46346b"; - fsType = "btrfs"; - options = [ "subvol=@root" "compress=zstd" ]; - }; - - fileSystems."/srv" = - { device = "/dev/disk/by-uuid/ad4cbc18-8849-40ed-b0bf-097f8f46346b"; - fsType = "btrfs"; - options = [ "subvol=@srv" "compress=zstd" ]; - }; - - fileSystems."/var/cache" = - { device = "/dev/disk/by-uuid/ad4cbc18-8849-40ed-b0bf-097f8f46346b"; - fsType = "btrfs"; - options = [ "subvol=@cache" "compress=zstd" "noatime" ]; - }; - - fileSystems."/var/tmp" = - { device = "/dev/disk/by-uuid/ad4cbc18-8849-40ed-b0bf-097f8f46346b"; - fsType = "btrfs"; - options = [ "subvol=@tmp" "compress=zstd" "noatime" ]; - }; - - fileSystems."/var/log" = - { device = "/dev/disk/by-uuid/ad4cbc18-8849-40ed-b0bf-097f8f46346b"; - fsType = "btrfs"; - options = [ "subvol=@log" "compress=zstd" "noatime" ]; - }; - - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/9582-E78D"; - fsType = "vfat"; - options = [ "fmask=0022" "dmask=0022" ]; - }; - - swapDevices = [ ]; - - # 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 - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp2s0.useDHCP = lib.mkDefault true; - # networking.interfaces.wlo1.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} \ No newline at end of file diff --git a/hosts/kilgharrah/hardware.nix b/hosts/kilgharrah/hardware.nix new file mode 100644 index 0000000..715ed4f --- /dev/null +++ b/hosts/kilgharrah/hardware.nix @@ -0,0 +1,8 @@ +{ config, lib, pkgs, ... }: + +{ + hardware.enableAllFirmware = true; + hardware.cpu.intel.updateMicrocode = true; + services.fwupd.enable = true; +} + diff --git a/hosts/kilgharrah/networking.nix b/hosts/kilgharrah/networking.nix new file mode 100644 index 0000000..58854d5 --- /dev/null +++ b/hosts/kilgharrah/networking.nix @@ -0,0 +1,5 @@ +{ config, lib, pkgs, ... }: + +{ + networking.networkmanager.enable = true; +} diff --git a/hosts/tohru/default.nix b/hosts/tohru/default.nix index cf28ca3..06e6736 100644 --- a/hosts/tohru/default.nix +++ b/hosts/tohru/default.nix @@ -52,4 +52,3 @@ system.stateVersion = "23.11"; } -