From 92f4dc765e4678c9345764cdc290cf7ef2424eae Mon Sep 17 00:00:00 2001 From: Craige McWhirter Date: Wed, 22 May 2024 21:44:04 +1000 Subject: [PATCH] thelioMira: initial hardware commit --- hardware/system76_thelioMira.nix | 74 ++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 hardware/system76_thelioMira.nix diff --git a/hardware/system76_thelioMira.nix b/hardware/system76_thelioMira.nix new file mode 100644 index 0000000..b4eab03 --- /dev/null +++ b/hardware/system76_thelioMira.nix @@ -0,0 +1,74 @@ +# Hardware configuration file for the System76 Thelio Mira +{ + config, + lib, + pkgs, + modulesPath, + ... +}: { + imports = []; + + boot = { + initrd = { + availableKernelModules = [ + "ahci" + "nvme" # NVMe drives (really fast SSDs) + "sd_mod" # SCSI disk support + "usb_storage" # USB Mass Storage support + "usbhid" + "xhci_pci" # USB 3.0 (eXtensible Host Controller Interface) + ]; + kernelModules = ["dm-snapshot"]; + luks = { + devices = { + "cryptroot" = { + device = "/dev/disk/by-label/cryptroot"; + allowDiscards = true; + preLVM = true; + }; + "cryptstore" = { + device = "/dev/disk/by-label/cryptstore"; + allowDiscards = true; + preLVM = true; + }; + }; + }; + }; + kernelModules = ["kvm-intel"]; # Enable kvm for libvirtd + }; + + fileSystems = { + "/" = { + device = "/dev/disk/by-label/nixos"; + fsType = "ext4"; + }; + "/nix" = { + device = "/dev/disk/by-label/nixStore"; + fsType = "ext4"; + }; + "/boot" = { + device = "/dev/disk/by-uuid/677E-FD28"; + fsType = "vfat"; + }; + }; + + swapDevices = [ + { + device = "/dev/disk/by-label/swap"; + discardPolicy = "both"; + } + ]; + + networking.useDHCP = lib.mkDefault true; + + nix.settings.max-jobs = lib.mkDefault 12; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware = { + cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + system76 = { + enableAll = true; # all recommended configuration for system76 systems + power-daemon.enable = true; + }; + }; +}