feat(k8s): add enable option

This commit is contained in:
2026-05-22 10:24:40 +02:00
parent 7d4e514f97
commit a191c89549
6 changed files with 98 additions and 45 deletions

View File

@@ -57,8 +57,14 @@
cloud.hetzner.enable = true; cloud.hetzner.enable = true;
comms.signal.enable = true; comms.signal.enable = true;
git.github.enable = true; git.github.enable = true;
shell.bash.aliases.lang-js = true; shell = {
shell.bash.addBinToPath = true; enable = true;
bash.aliases.lang-js = true;
bash.addBinToPath = true;
};
anki.enable = true;
k8s.k9s.enable = true;
taskwarrior.enable = true;
audio.enable = true; audio.enable = true;
ssh.enable = true; ssh.enable = true;
music.enable = true; music.enable = true;

View File

@@ -53,8 +53,14 @@
cloud.hetzner.enable = true; cloud.hetzner.enable = true;
comms.signal.enable = true; comms.signal.enable = true;
git.github.enable = true; git.github.enable = true;
shell.bash.aliases.lang-js = true; shell = {
shell.bash.addBinToPath = true; enable = true;
bash.aliases.lang-js = true;
bash.addBinToPath = true;
};
anki.enable = true;
k8s.k9s.enable = true;
taskwarrior.enable = true;
my.yubikey.enable = true; my.yubikey.enable = true;
audio.enable = true; audio.enable = true;
ssh.enable = true; ssh.enable = true;

View File

@@ -89,6 +89,7 @@
postgresql.enable = true; postgresql.enable = true;
redis.enable = true; redis.enable = true;
}; };
k8s.enable = true;
git.github.enable = true; git.github.enable = true;
git.gitlab.enable = true; git.gitlab.enable = true;
secrets.vault.enable = true; secrets.vault.enable = true;

View File

@@ -1,29 +1,44 @@
{ pkgs, ... }:
{ {
home.packages = with pkgs; [ config,
argocd lib,
fluxcd pkgs,
k3d ...
kubectl }:
kubernetes
kustomize
minikube
opentofu
upbound
];
programs.kubecolor = {
enable = true;
enableAlias = true;
};
home.shellAliases = {
k = "kubectl";
};
let
cfg = config.k8s;
in
{
imports = [ imports = [
./helm.nix ./helm.nix
./k9s.nix ./k9s.nix
]; ];
options.k8s.enable = lib.mkEnableOption "k8s";
config = lib.mkIf cfg.enable {
k8s.helm.enable = lib.mkDefault true;
k8s.k9s.enable = lib.mkDefault true;
home.packages = with pkgs; [
argocd
fluxcd
k3d
kubectl
kubernetes
kustomize
minikube
opentofu
upbound
];
programs.kubecolor = {
enable = true;
enableAlias = true;
};
home.shellAliases = {
k = "kubectl";
};
};
} }

View File

@@ -1,15 +1,27 @@
{ pkgs, ... }:
{ {
home.packages = with pkgs; [ config,
(wrapHelm kubernetes-helm { lib,
plugins = with kubernetes-helmPlugins; [ pkgs,
helm-diff ...
helm-git }:
helm-schema
helm-secrets let
helm-unittest cfg = config.k8s.helm;
]; in
}) {
]; options.k8s.helm.enable = lib.mkEnableOption "helm";
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
(wrapHelm kubernetes-helm {
plugins = with kubernetes-helmPlugins; [
helm-diff
helm-git
helm-schema
helm-secrets
helm-unittest
];
})
];
};
} }

View File

@@ -1,10 +1,23 @@
{ {
programs.k9s = { config,
enable = true; lib,
settings.k9s = { ...
ui = { }:
logoless = true;
reactive = true; let
cfg = config.k8s.k9s;
in
{
options.k8s.k9s.enable = lib.mkEnableOption "";
config = lib.mkIf cfg.enable {
programs.k9s = {
enable = true;
settings.k9s = {
ui = {
logoless = true;
reactive = true;
};
}; };
}; };
}; };