Commit 43d04b1

HPCesia <me@hpcesia.com>
2025-10-01 17:56:07
refactor: migrate kevin's host home config
1 parent 1423cf2
Changed files (4)
hosts
chaser-kevin
modules
hosts
outputs
x86_64-linux
hosts/chaser-kevin/home.nix
@@ -1,63 +0,0 @@
-{nixos-logo, ...}: {
-  # Power Control
-  programs.plasma.powerdevil = {
-    AC.inhibitLidActionWhenExternalMonitorConnected = true;
-    battery = {
-      powerProfile = "powerSaving";
-      # Auto Power Save
-      autoSuspend = {
-        action = "sleep";
-        idleTimeout = 600;
-      };
-      turnOffDisplay = {
-        idleTimeout = 360;
-        idleTimeoutWhenLocked = 120;
-      };
-      dimDisplay = {
-        enable = true;
-        idleTimeout = 120;
-      };
-      # Actions
-      whenLaptopLidClosed = "hibernate";
-      whenSleepingEnter = "standbyThenHibernate";
-      powerButtonAction = "shutDown";
-      inhibitLidActionWhenExternalMonitorConnected = true;
-    };
-    lowBattery = {
-      powerProfile = "powerSaving";
-      # Auto Power Save
-      autoSuspend = {
-        action = "sleep";
-        idleTimeout = 300;
-      };
-      turnOffDisplay = {
-        idleTimeout = 180;
-        idleTimeoutWhenLocked = 60;
-      };
-      dimDisplay = {
-        enable = true;
-        idleTimeout = 60;
-      };
-      # Actions
-      whenLaptopLidClosed = "hibernate";
-      whenSleepingEnter = "standbyThenHibernate";
-      powerButtonAction = "shutDown";
-      inhibitLidActionWhenExternalMonitorConnected = true;
-    };
-  };
-
-  programs.plasma.input = {
-    touchpads = [
-      {
-        enable = true;
-        name = "SYNA2BA6:00 06CB:CF00 Touchpad";
-        productId = "cf00";
-        vendorId = "06cb";
-        disableWhileTyping = true;
-        naturalScroll = true;
-        tapToClick = true;
-        tapAndDrag = true;
-      }
-    ];
-  };
-}
modules/hosts/chaser-kevin/default.nix
@@ -37,7 +37,6 @@
               ++ (map (lib.path.append config.flake.meta.rootPath) [
                 "home/linux/gui.nix"
                 "options/home/default.nix"
-                "hosts/chaser-kevin/home.nix"
               ]);
           };
         }
modules/hosts/chaser-kevin/home.nix
@@ -3,12 +3,83 @@
   lib,
   ...
 }: {
-  flake.modules.homeManager."hosts/kevin" = {config, ...}: {
+  flake.modules.homeManager."hosts/kevin" = {
+    config,
+    osConfig,
+    ...
+  }: let
+    hasPlasma =
+      osConfig.services.desktopManager.plasma6.enable
+      && lib.hasAttr "plasma" config.programs
+      && config.programs.plasma.enable;
+  in {
     programs.fastfetch.settings.logo = lib.mkIf config.programs.fastfetch.enable {
       type = "kitty-direct";
       source = "${inputs.nixos-logo}/nixos-griseo.png";
       height = 15;
       width = 32;
     };
+
+    # Power Control
+    programs.plasma.powerdevil = lib.mkIf hasPlasma {
+      AC.inhibitLidActionWhenExternalMonitorConnected = true;
+      battery = {
+        powerProfile = "powerSaving";
+        # Auto Power Save
+        autoSuspend = {
+          action = "sleep";
+          idleTimeout = 600;
+        };
+        turnOffDisplay = {
+          idleTimeout = 360;
+          idleTimeoutWhenLocked = 120;
+        };
+        dimDisplay = {
+          enable = true;
+          idleTimeout = 120;
+        };
+        # Actions
+        whenLaptopLidClosed = "hibernate";
+        whenSleepingEnter = "standbyThenHibernate";
+        powerButtonAction = "shutDown";
+        inhibitLidActionWhenExternalMonitorConnected = true;
+      };
+      lowBattery = {
+        powerProfile = "powerSaving";
+        # Auto Power Save
+        autoSuspend = {
+          action = "sleep";
+          idleTimeout = 300;
+        };
+        turnOffDisplay = {
+          idleTimeout = 180;
+          idleTimeoutWhenLocked = 60;
+        };
+        dimDisplay = {
+          enable = true;
+          idleTimeout = 60;
+        };
+        # Actions
+        whenLaptopLidClosed = "hibernate";
+        whenSleepingEnter = "standbyThenHibernate";
+        powerButtonAction = "shutDown";
+        inhibitLidActionWhenExternalMonitorConnected = true;
+      };
+    };
+
+    programs.plasma.input = lib.mkIf hasPlasma {
+      touchpads = [
+        {
+          enable = true;
+          name = "SYNA2BA6:00 06CB:CF00 Touchpad";
+          productId = "cf00";
+          vendorId = "06cb";
+          disableWhileTyping = true;
+          naturalScroll = true;
+          tapToClick = true;
+          tapAndDrag = true;
+        }
+      ];
+    };
   };
 }
outputs/x86_64-linux/src/kevin.nix
@@ -26,8 +26,6 @@
       # common
       "home/linux/gui.nix"
       "options/home/default.nix"
-      # host specific
-      "hosts/chaser-${name}/home.nix"
     ];
   };
 in {