aboutsummaryrefslogtreecommitdiffstats
path: root/hosts/mammun
diff options
context:
space:
mode:
Diffstat (limited to 'hosts/mammun')
-rw-r--r--hosts/mammun/configuration.nix19
-rw-r--r--hosts/mammun/hardware/cpu.nix4
-rw-r--r--hosts/mammun/hardware/default.nix28
-rw-r--r--hosts/mammun/hardware/gpu.nix15
-rw-r--r--hosts/mammun/networking.nix14
5 files changed, 80 insertions, 0 deletions
diff --git a/hosts/mammun/configuration.nix b/hosts/mammun/configuration.nix
new file mode 100644
index 00000000..8e78949b
--- /dev/null
+++ b/hosts/mammun/configuration.nix
@@ -0,0 +1,19 @@
+# vim: ts=2
+{
+ config,
+ lib,
+ nixpkgs,
+ home-manager,
+ ...
+}: {
+ imports = [
+ ./hardware
+ ./networking.nix
+
+ ../../system
+
+ ../../services
+ ];
+
+ system.stateVersion = "23.05";
+}
diff --git a/hosts/mammun/hardware/cpu.nix b/hosts/mammun/hardware/cpu.nix
new file mode 100644
index 00000000..2d7232cd
--- /dev/null
+++ b/hosts/mammun/hardware/cpu.nix
@@ -0,0 +1,4 @@
+{config, ...}: {
+ powerManagement.cpuFreqGovernor = "powersave";
+ hardware.cpu.amd.updateMicrocode = true; # Why not?
+}
diff --git a/hosts/mammun/hardware/default.nix b/hosts/mammun/hardware/default.nix
new file mode 100644
index 00000000..bd7241b3
--- /dev/null
+++ b/hosts/mammun/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/mammun/hardware/gpu.nix b/hosts/mammun/hardware/gpu.nix
new file mode 100644
index 00000000..c3df51ae
--- /dev/null
+++ b/hosts/mammun/hardware/gpu.nix
@@ -0,0 +1,15 @@
+{
+ config,
+ pkgs,
+ lib,
+ ...
+}: {
+ hardware.opengl.extraPackages = with pkgs; [
+ rocm-opencl-icd # open-cl
+ amdvlk # or directly through mesa
+ amd-media-driver # libva
+ ];
+
+ # Force radv, TODO is this logical?
+ environment.variables.AMD_VULKAN_ICD = "RADV";
+}
diff --git a/hosts/mammun/networking.nix b/hosts/mammun/networking.nix
new file mode 100644
index 00000000..05c7d100
--- /dev/null
+++ b/hosts/mammun/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 = "mammun";
+}