[home] Create explicit kubectl role

This allows work machines to enable development, while not including
non-work-related kubectl management stuffs.
This commit is contained in:
2025-11-24 11:49:23 -08:00
parent 20daebbd61
commit fc9474a7c9
5 changed files with 20 additions and 3 deletions

View File

@@ -16,6 +16,7 @@
communication.enable = true; communication.enable = true;
sync.enable = true; sync.enable = true;
kdeconnect.enable = true; kdeconnect.enable = true;
kubectl.enable = true;
}; };
targets.genericLinux.enable = true; targets.genericLinux.enable = true;
@@ -30,4 +31,4 @@
./modules/plasma-manager ./modules/plasma-manager
./modules/tmux ./modules/tmux
]; ];
} }

View File

@@ -17,6 +17,7 @@
kdeconnect.enable = true; kdeconnect.enable = true;
media.enable = true; media.enable = true;
sync.enable = true; sync.enable = true;
kubectl.enable = true;
# office.enable = false; # Excluded for storage constraints # office.enable = false; # Excluded for storage constraints
}; };

View File

@@ -6,6 +6,7 @@
./development ./development
./gaming ./gaming
./kdeconnect ./kdeconnect
./kubectl
./media ./media
./office ./office
./sync ./sync

View File

@@ -30,8 +30,6 @@ in
pkgs.custom.tea-rbw pkgs.custom.tea-rbw
]; ];
programs.kubectl-secure.enable = true;
# Install Claude Code humanlayer command and agent plugins # Install Claude Code humanlayer command and agent plugins
home.activation.claudeCodeCommands = lib.hm.dag.entryAfter ["writeBoundary"] '' home.activation.claudeCodeCommands = lib.hm.dag.entryAfter ["writeBoundary"] ''
# Clean up old plugin-installed commands and agents to avoid duplicates # Clean up old plugin-installed commands and agents to avoid duplicates

View File

@@ -0,0 +1,16 @@
{ config, lib, pkgs, globalInputs, system, ... }:
with lib;
let
cfg = config.home.roles.kubectl;
in
{
options.home.roles.kubectl = {
enable = mkEnableOption "Enable management tools for the homelab k3s oglenet cluster";
};
config = mkIf cfg.enable {
programs.kubectl-secure.enable = true;
};
}