summaryrefslogtreecommitdiff
path: root/parts/systems/glados/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'parts/systems/glados/default.nix')
-rw-r--r--parts/systems/glados/default.nix61
1 files changed, 61 insertions, 0 deletions
diff --git a/parts/systems/glados/default.nix b/parts/systems/glados/default.nix
new file mode 100644
index 0000000..de2c1d5
--- /dev/null
+++ b/parts/systems/glados/default.nix
@@ -0,0 +1,61 @@
+{lib, ...}: {
+ imports = [
+ ./boot.nix
+ ./hardware-configuration.nix
+ ../../modules/nixos/features/tailscale.nix
+ ../../modules/nixos/features/virtualisation.nix
+ ];
+
+ boot = {
+ kernelParams = ["amd_pstate=active"];
+ kernel.sysctl = {
+ "vm.swappiness" = 100;
+ "vm.vfs_cache_pressure" = 500;
+ "vm.dirty_background_ratio" = 1;
+ "vm.dirty_ratio" = 50;
+ };
+ };
+
+ desktop.gnome.enable = true;
+
+ features = {
+ tailscale.enable = true;
+ virtualisation.enable = true;
+ };
+
+ hardware = {
+ nvidia.enable = true;
+ ssd.enable = true;
+ };
+
+ networking.hostName = "glados";
+
+ security.tpm2 = {
+ enable = true;
+ abrmd.enable = true;
+ };
+
+ services = {
+ flatpak.enable = true;
+ fwupd.enable = true;
+ };
+
+ systemd = {
+ services."prepare-kexec".wantedBy = ["multi-user.target"];
+ tmpfiles.rules = let
+ nproc = 12;
+ in
+ builtins.map
+ (n: "w /sys/devices/system/cpu/cpu${builtins.toString n}/cpufreq/energy_performance_preference - - - - ${"balance_performance"}")
+ (lib.range 0 (nproc - 1));
+ };
+
+ powerManagement.cpuFreqGovernor = "powersave";
+
+ zramSwap = {
+ enable = true;
+ algorithm = "zstd";
+ swapDevices = 1;
+ memoryPercent = 50;
+ };
+}