diff options
Diffstat (limited to 'modules/hardware')
| -rw-r--r-- | modules/hardware/default.nix | 49 | ||||
| -rw-r--r-- | modules/hardware/fs.nix | 27 |
2 files changed, 76 insertions, 0 deletions
diff --git a/modules/hardware/default.nix b/modules/hardware/default.nix new file mode 100644 index 0000000..098b3cc --- /dev/null +++ b/modules/hardware/default.nix @@ -0,0 +1,49 @@ +{ lib, modulesPath, ... }: +{ + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ./fs.nix + ]; + + boot.initrd = { + availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" ]; + kernelModules = [ ]; + }; + boot.kernelModules = [ + "kvm-intel" + "sd_mod" + ]; + hardware = { + enableAllFirmware = true; + cpu.intel.updateMicrocode = true; + }; + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + + # Power/power state + powerManagement = { + enable = true; + cpuFreqGovernor = "powersave"; + }; + services.acpid.enable = true; + services.logind = { + powerKey = "ignore"; + rebootKey = "ignore"; + lidSwitch = "ignore"; + lidSwitchDocked = "ignore"; + lidSwitchExternalPower = "ignore"; + hibernateKey = "ignore"; + suspendKey = "ignore"; + }; + + # Bootloader + boot.loader = { + systemd-boot = { + enable = true; + configurationLimit = 30; + }; + timeout = 1; + efi.canTouchEfiVariables = true; + }; + + networking.useDHCP = lib.mkDefault true; +} diff --git a/modules/hardware/fs.nix b/modules/hardware/fs.nix new file mode 100644 index 0000000..aaf67d6 --- /dev/null +++ b/modules/hardware/fs.nix @@ -0,0 +1,27 @@ +{ ... }: +{ + fileSystems = { + "/" = { + device = "/dev/disk/by-label/nixos"; + fsType = "ext4"; + }; + "/boot" = { + device = "/dev/disk/by-label/boot"; + fsType = "vfat"; + }; + "/media" = { + device = "/dev/disk/by-label/media"; + fsType = "ext4"; + options = [ "rw" "nofail" "x-systemd.automount" "x-systemd.mount-timeout=30s" ]; + }; + }; + swapDevices = [{ device = "/dev/disk/by-label/swap"; }]; + + # Set high limits for file watching/file handles + systemd.extraConfig = ''DefaultLimitNOFILE=65536''; + systemd.user.extraConfig = ''DefaultLimitNOFILE=65536''; + boot.kernel.sysctl."fs.inotify.max_user_instances" = 8192; + security.pam.loginLimits = [ + { domain = "*"; type = "-"; item = "nofile"; value = "65536"; } + ]; +} |
