From e22f4574f69b83c34940817c3bf0ce89ec2e7d5b Mon Sep 17 00:00:00 2001
From: ene <ene@sils.li>
Date: Sun, 26 Feb 2023 12:22:58 +0100
Subject: Feat(hosts): Added mammun for the vm config

---
 hosts/mammun_on_vm/configuration.nix    | 25 +++++++++++++++++++++++++
 hosts/mammun_on_vm/hardware/cpu.nix     |  4 ++++
 hosts/mammun_on_vm/hardware/default.nix | 27 +++++++++++++++++++++++++++
 hosts/mammun_on_vm/hardware/gpu.nix     | 15 +++++++++++++++
 hosts/mammun_on_vm/networking.nix       | 16 ++++++++++++++++
 5 files changed, 87 insertions(+)
 create mode 100644 hosts/mammun_on_vm/configuration.nix
 create mode 100644 hosts/mammun_on_vm/hardware/cpu.nix
 create mode 100644 hosts/mammun_on_vm/hardware/default.nix
 create mode 100644 hosts/mammun_on_vm/hardware/gpu.nix
 create mode 100644 hosts/mammun_on_vm/networking.nix

(limited to 'hosts')

diff --git a/hosts/mammun_on_vm/configuration.nix b/hosts/mammun_on_vm/configuration.nix
new file mode 100644
index 00000000..294fc815
--- /dev/null
+++ b/hosts/mammun_on_vm/configuration.nix
@@ -0,0 +1,25 @@
+# vim: ts=2
+{
+  config,
+  lib,
+  nixpkgs,
+  home-manager,
+  pkgs,
+  ...
+}: {
+  imports = [
+    ./hardware
+    ./networking.nix
+
+    ../../system
+
+    ../../services
+  ];
+  soispha = {
+    users = {
+      hashedPassword = "$y$jDT$O/42/7REOL50onRYcTV9R1$Ot3bPAh2raHmPN3yScP4wsJRtNqrMtTBzOq9oRJeRA0";
+    };
+  };
+
+  system.stateVersion = "23.05";
+}
diff --git a/hosts/mammun_on_vm/hardware/cpu.nix b/hosts/mammun_on_vm/hardware/cpu.nix
new file mode 100644
index 00000000..2d7232cd
--- /dev/null
+++ b/hosts/mammun_on_vm/hardware/cpu.nix
@@ -0,0 +1,4 @@
+{config, ...}: {
+  powerManagement.cpuFreqGovernor = "powersave";
+  hardware.cpu.amd.updateMicrocode = true; # Why not?
+}
diff --git a/hosts/mammun_on_vm/hardware/default.nix b/hosts/mammun_on_vm/hardware/default.nix
new file mode 100644
index 00000000..e9766f05
--- /dev/null
+++ b/hosts/mammun_on_vm/hardware/default.nix
@@ -0,0 +1,27 @@
+{
+  config,
+  lib,
+  pkgs,
+  modulesPath,
+  ...
+}: {
+  imports = [
+    (modulesPath + "/installer/scan/not-detected.nix")
+    ./cpu.nix
+    ./gpu.nix
+  ];
+
+  nixpkgs.hostPlatform = "x86_64-linux";
+
+  system.fileSystemLayouts = {
+    enable = true;
+    mainDisk = "/dev/disk/by-uuid/b1974623-df36-4367-bf12-c0778cd8ff33";
+    efiDisk = "/dev/disk/by-uuid/201D-E6E7";
+  };
+
+  boot = {
+    kernelModules = ["kvm-amd"];
+
+    initrd.availableKernelModules = ["xhci_pci" "ahci" "ehci_pci" "sd_mod" "sr_mod" "sdhci_pci"];
+  };
+}
diff --git a/hosts/mammun_on_vm/hardware/gpu.nix b/hosts/mammun_on_vm/hardware/gpu.nix
new file mode 100644
index 00000000..d744962c
--- /dev/null
+++ b/hosts/mammun_on_vm/hardware/gpu.nix
@@ -0,0 +1,15 @@
+# vim: ts=2
+{pkgs, ...}: {
+  boot.initrd.kernelModules = ["amdgpu"];
+  # for Southern Islands (SI ie. GCN 1) cards and for Sea Islands (CIK ie. GCN 2) cards
+  boot.kernelParams = ["radeon.si_support=0" "amdgpu.si_support=1" "radeon.cik_support=0" "amdgpu.cik_support=1"];
+
+  hardware.opengl.driSupport = true;
+  # For 32 bit applications
+  hardware.opengl.driSupport32Bit = true;
+
+  hardware.opengl.extraPackages = with pkgs; [
+    rocm-opencl-icd
+    rocm-opencl-runtime
+  ];
+}
diff --git a/hosts/mammun_on_vm/networking.nix b/hosts/mammun_on_vm/networking.nix
new file mode 100644
index 00000000..e243ebe0
--- /dev/null
+++ b/hosts/mammun_on_vm/networking.nix
@@ -0,0 +1,16 @@
+{
+  config,
+  lib,
+  ...
+}: {
+  networking = {
+    networkmanager = {
+      enable = true;
+      dns = "default";
+      wifi = {
+        powersave = true;
+      };
+    };
+    hostName = "mammun";
+  };
+}
-- 
cgit 1.4.1