about summary refs log tree commit diff stats
path: root/hosts/tiamat
diff options
context:
space:
mode:
Diffstat (limited to 'hosts/tiamat')
-rw-r--r--hosts/tiamat/configuration.nix21
-rw-r--r--hosts/tiamat/hardware/cpu.nix4
-rw-r--r--hosts/tiamat/hardware/default.nix28
-rw-r--r--hosts/tiamat/hardware/gpu.nix19
-rw-r--r--hosts/tiamat/networking.nix14
5 files changed, 86 insertions, 0 deletions
diff --git a/hosts/tiamat/configuration.nix b/hosts/tiamat/configuration.nix
new file mode 100644
index 00000000..7f68621c
--- /dev/null
+++ b/hosts/tiamat/configuration.nix
@@ -0,0 +1,21 @@
+# vim: ts=2
+{
+  config,
+  lib,
+  nixpkgs,
+  home-manager,
+  ...
+}: {
+  imports = [
+    ./hardware
+    ./networking.nix
+
+    ../../secrets
+
+    ../../system
+
+    ../../services
+  ];
+
+  system.stateVersion = "23.05";
+}
diff --git a/hosts/tiamat/hardware/cpu.nix b/hosts/tiamat/hardware/cpu.nix
new file mode 100644
index 00000000..6859f72a
--- /dev/null
+++ b/hosts/tiamat/hardware/cpu.nix
@@ -0,0 +1,4 @@
+{config, ...}: {
+  powerManagement.cpuFreqGovernor = "powersave";
+  hardware.cpu.intel.updateMicrocode = true; # Why not?
+}
diff --git a/hosts/tiamat/hardware/default.nix b/hosts/tiamat/hardware/default.nix
new file mode 100644
index 00000000..bd7241b3
--- /dev/null
+++ b/hosts/tiamat/hardware/default.nix
@@ -0,0 +1,28 @@
+{
+  config,
+  lib,
+  pkgs,
+  modulesPath,
+  ...
+}: {
+  imports = [
+    (modulesPath + "/installer/scan/not-detected.nix") # TODO is this necessary?
+    ./cpu.nix
+    ./gpu.nix
+  ];
+
+  nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+
+  system.fileSystemLayouts = {
+    enable = true;
+    mainDisk = "/dev/disk/by-uuid/<uuid>";
+    efiDisk = "/dev/disk/by-uuid/<uuid>";
+  };
+
+  boot = {
+    kernelModules = ["kvm-amd"];
+
+    # TODO check this:
+    initrd.availableKernelModules = ["xhci_pci" "nvme" "rtsx_pci_sdmmc"];
+  };
+}
diff --git a/hosts/tiamat/hardware/gpu.nix b/hosts/tiamat/hardware/gpu.nix
new file mode 100644
index 00000000..741e8882
--- /dev/null
+++ b/hosts/tiamat/hardware/gpu.nix
@@ -0,0 +1,19 @@
+{
+  config,
+  pkgs,
+  lib,
+  ...
+}: {
+  nixpkgs.config.packageOverrides = pkgs: {
+    vaapiIntel = pkgs.vaapiIntel.override {enableHybridCodec = true;};
+  };
+  hardware.opengl = {
+    enable = true;
+    extraPackages = with pkgs; [
+      intel-media-driver # LIBVA_DRIVER_NAME=iHD
+      vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
+      vaapiVdpau
+      libvdpau-va-gl
+    ];
+  };
+}
diff --git a/hosts/tiamat/networking.nix b/hosts/tiamat/networking.nix
new file mode 100644
index 00000000..17f7c356
--- /dev/null
+++ b/hosts/tiamat/networking.nix
@@ -0,0 +1,14 @@
+{
+  config,
+  lib,
+  ...
+}: {
+  # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
+  # (the default) this is the recommended approach. When using systemd-networkd it's
+  # still possible to use this option, but it's recommended to use it in conjunction
+  # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
+  networking.useDHCP = lib.mkDefault true;
+  # networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
+  # networking.interfaces.wlp3s0.useDHCP = lib.mkDefault true;
+  networking.hostName = "Apzu";
+}