aboutsummaryrefslogtreecommitdiff
path: root/modules/hardware
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2025-06-14 16:40:48 +0530
committerAkshay Nair <phenax5@gmail.com>2025-06-14 16:40:48 +0530
commit42df69164dbc74e5ddb54f5a7a01fd66260fef57 (patch)
treebc8b19c39df9edf16ca6827005b3d5e1ef564764 /modules/hardware
parent58519ea7b12e8ad58c0f97d9636d30572a789b41 (diff)
downloadhomeserver-nixos-config-42df69164dbc74e5ddb54f5a7a01fd66260fef57.tar.gz
homeserver-nixos-config-42df69164dbc74e5ddb54f5a7a01fd66260fef57.zip
Switch to coredns + refactor dns hosts mapping into service + more refactor
Diffstat (limited to 'modules/hardware')
-rw-r--r--modules/hardware/default.nix49
-rw-r--r--modules/hardware/fs.nix27
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"; }
+ ];
+}