Commit 82fa71997ead

Vincent Demeester <vincent@sbr.pm>
2025-05-26 00:28:18
systems: preparing kobe as well as shikoku.
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
1 parent 6005fcf
Changed files (3)
systems/kobe/boot.nix
@@ -1,1 +1,58 @@
-_: { }
+{
+  pkgs,
+  config,
+  ...
+}:
+{
+  boot = {
+    loader.systemd-boot.netbootxyz.enable = true;
+    # initrd = {
+    #   luks.devices."cryptroot" = {
+    #     keyFile = "/dev/disk/by-id/mmc-SD08G_0x704a5a38";
+    #     keyFileSize = 4096;
+    #   };
+    # };
+
+    blacklistedKernelModules = [
+      "sierra_net" # sierra wireless modules
+      "cdc_mbim" # modem mobile broadband modules
+      "cdc_ncm" # similar
+    ];
+    initrd.kernelModules = [
+      "vfio_pci"
+      "vfio"
+      "vfio_iommu_type1"
+
+      "nvidia"
+      "nvidia_modeset"
+      "nvidia_uvm"
+      "nvidia_drm"
+    ];
+    kernelModules = [
+      "ahci" # sata controller, might not be needed
+      "nvme" # required for nvme disks
+      "thunderbolt" # required for thunderbolt (dock, …)
+      # from thinkpad x1 gen 9
+      "dm-mod"
+      "cryptd" # required for encryption
+      "xhci_pci" # usb controller related
+      "usb_storage" # usb storage related
+      "sd_mod" # block device related
+      "sdhci_pci" # block device related as well
+      "aesni-intel" # advanced encryption for intel
+      "kvm_intel"
+      "kvm-intel"
+      "nvidia"
+    ];
+    extraModulePackages = [
+      config.boot.kernelPackages.nvidiaPackages.stable
+      config.boot.kernelPackages.nvidia_x11
+    ];
+    kernelParams = [
+      "intel_iommu=on"
+      "kvm_intel.nested=1"
+      # ("vfio-pci.ids=" + lib.concatStringsSep "," gpuIDs)
+    ];
+    kernelPackages = pkgs.linuxPackages_latest;
+  };
+}
systems/kobe/hardware.nix
@@ -1,4 +1,9 @@
-{ inputs, lib, ... }:
+{
+  inputs,
+  lib,
+  config,
+  ...
+}:
 {
   imports = [
     inputs.disko.nixosModules.disko
@@ -6,6 +11,33 @@
 
     inputs.nixos-hardware.nixosModules.lenovo-thinkpad-p50
 
+    ../common/hardware/acpid.nix
   ];
 
+  networking = {
+    hostId = builtins.substring 0 8 (builtins.hashString "md5" config.networking.hostName);
+    # Bridge setup
+    bridges.br1.interfaces = [ "enp0s31f6" ];
+    useDHCP = false;
+    interfaces.br1 = {
+      useDHCP = true;
+    };
+    # FIXME probably change this
+    firewall.enable = false; # we are in safe territory :D
+  };
+  hardware.nvidia = {
+    modesetting.enable = true;
+    open = false;
+    nvidiaSettings = true;
+    package = config.boot.kernelPackages.nvidiaPackages.stable;
+  };
+  hardware.graphics = {
+    enable = true;
+  };
+  nixpkgs.config.allowUnfree = true;
+
+  hardware = {
+    enableAllFirmware = true;
+  };
+
 }
systems/shikoku/boot.nix
@@ -1,6 +1,7 @@
 {
   config,
   lib,
+  pkgs,
   ...
 }:
 let
@@ -44,6 +45,7 @@ in
       "kvm_intel.nested=1"
       ("vfio-pci.ids=" + lib.concatStringsSep "," gpuIDs)
     ];
-    boot.initrd.kernelModules = [ "nvidia" ];
+
+    kernelPackages = pkgs.linuxPackages_latest;
   };
 }