diff options
Diffstat (limited to 'hosts/phobos/hardware/laptop')
-rw-r--r-- | hosts/phobos/hardware/laptop/default.nix | 4 | ||||
-rw-r--r-- | hosts/phobos/hardware/laptop/disks.nix | 52 | ||||
-rw-r--r-- | hosts/phobos/hardware/laptop/hardware.nix | 58 |
3 files changed, 114 insertions, 0 deletions
diff --git a/hosts/phobos/hardware/laptop/default.nix b/hosts/phobos/hardware/laptop/default.nix new file mode 100644 index 0000000..b0125ee --- /dev/null +++ b/hosts/phobos/hardware/laptop/default.nix @@ -0,0 +1,4 @@ +{ ... }: +{ + imports = [ ./hardware.nix ]; +} diff --git a/hosts/phobos/hardware/laptop/disks.nix b/hosts/phobos/hardware/laptop/disks.nix new file mode 100644 index 0000000..07618df --- /dev/null +++ b/hosts/phobos/hardware/laptop/disks.nix @@ -0,0 +1,52 @@ +{ config, lib, inputs, pkgs, modulesPath, isIso, ... }: +{ + + environment.persistence."/persist" = { + directories = [ + "/var/log" + "/var/lib" + ]; + files = [ + "/etc/machine-id" + "/etc/nix/id_rsa" + ]; + }; + + fileSystems."/" = { + device = "none"; + fsType = "tmpfs"; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/0A8B-3968"; + fsType = "vfat"; + }; + + boot.initrd.luks.devices."encrypted_root".device = "/dev/disk/by-uuid/6db0e43d-f73f-4cf0-81f6-9391f9d03ca0"; + + fileSystems."/persist" = { + device = "/dev/mapper/encrypted_root"; + fsType = "btrfs"; + neededForBoot = true; + options = [ "subvol=persist" "compress-force=zstd" "noatime" ]; + }; + + fileSystems."/nix" = { + device = "/dev/mapper/encrypted_root"; + fsType = "btrfs"; + options = [ "subvol=nix" "compress-force=zstd" "noatime" ]; + }; + + fileSystems."/home" = { + device = "/dev/mapper/encrypted_root"; + fsType = "btrfs"; + options = [ "subvol=home" "compress-force=zstd" ]; + }; + + swapDevices = [ ]; + + services.btrfs.autoScrub.enable = true; + + zramSwap.enable = true; + +} diff --git a/hosts/phobos/hardware/laptop/hardware.nix b/hosts/phobos/hardware/laptop/hardware.nix new file mode 100644 index 0000000..cbec828 --- /dev/null +++ b/hosts/phobos/hardware/laptop/hardware.nix @@ -0,0 +1,58 @@ +{ config, lib, inputs, pkgs, modulesPath, ... }: +let + powerMode = "performance"; +in +{ + imports = [ + ./disks.nix + ]; + + boot = { + initrd = { + availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "sd_mod" "sdhci_pci" ]; + kernelModules = [ ]; + }; + kernelPackages = pkgs.linuxPackages_zen; + kernelModules = [ "kvm_intel" ]; + extraModulePackages = [ ]; + kernelParams = [ "net.ifnames=0" "biosdevname=0" "iomem=relaxed" "mitigations=off" ]; + }; + + powerManagement.cpuFreqGovernor = powerMode; + + services = { + xserver = { + videoDrivers = [ "nvidia" ]; + + # Enable touchpad support (enabled default in most desktopManager). + synaptics = { + enable = true; + palmDetect = true; + twoFingerScroll = true; + minSpeed = "1.0"; + maxSpeed = "1.12"; + accelFactor = "0.01"; + }; + }; + }; + + hardware = { + opengl = { + enable = true; + driSupport = true; + }; + + nvidia = { + prime = { + sync.enable = true; + + # Bus ID of the NVIDIA GPU. You can find it using lspci, either under 3D or VGA + nvidiaBusId = "PCI:1:0:0"; + + # Bus ID of the Intel GPU. You can find it using lspci, either under 3D or VGA + intelBusId = "PCI:0:2:0"; + }; + }; + }; + +} |