diff --git a/hosts/common/configs/user/console/kubernetes/default.nix b/hosts/common/configs/user/console/kubernetes/default.nix new file mode 100644 index 0000000..16854a1 --- /dev/null +++ b/hosts/common/configs/user/console/kubernetes/default.nix @@ -0,0 +1,20 @@ +{ + user ? throw "user argument is required", + home ? throw "home argument is required", +}: +{ pkgs, ... }: +{ + home-manager.users.${user} = { + home.packages = with pkgs; [ + kubernetes-helm + kubectl + ]; + + programs.zsh.initExtra = '' + export P10K_EXTRA_RIGHT_PROMPT_ELEMENTS=( + kubecontext + "''${P10K_EXTRA_RIGHT_PROMPT_ELEMENTS[@]}" + ) + ''; + }; +} diff --git a/hosts/common/configs/user/console/zsh/.p10k.zsh b/hosts/common/configs/user/console/zsh/.p10k.zsh index 119c109..8d7cfdd 100644 --- a/hosts/common/configs/user/console/zsh/.p10k.zsh +++ b/hosts/common/configs/user/console/zsh/.p10k.zsh @@ -223,6 +223,11 @@ typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_FOREGROUND=135 typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_FOREGROUND=130 + #############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]############# + typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=('*' DEFAULT) + typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_FOREGROUND=134 + typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION='${P9K_KUBECONTEXT_CLOUD_CLUSTER:-${P9K_KUBECONTEXT_NAME}}${${:-/$P9K_KUBECONTEXT_NAMESPACE}:#/default}' + ##################################[ context: user@hostname ]################################## typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=178 typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_FOREGROUND=180 diff --git a/hosts/common/configs/user/gui/vscode/default.nix b/hosts/common/configs/user/gui/vscode/default.nix index 38cac21..61b9880 100644 --- a/hosts/common/configs/user/gui/vscode/default.nix +++ b/hosts/common/configs/user/gui/vscode/default.nix @@ -120,6 +120,7 @@ in ./langs/nix ./langs/python ./langs/svelte + ./langs/yaml ]; wayland.windowManager.hyprland.settings.bind = [ "$mod, c, exec, ${lib.meta.getExe pkgs.vscode}" ]; diff --git a/hosts/common/configs/user/gui/vscode/langs/yaml/default.nix b/hosts/common/configs/user/gui/vscode/langs/yaml/default.nix new file mode 100644 index 0000000..6e50509 --- /dev/null +++ b/hosts/common/configs/user/gui/vscode/langs/yaml/default.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: +{ + programs.vscode.extensions = + with pkgs; + with vscode-extensions; + [ + redhat.vscode-yaml + ]; +} diff --git a/hosts/common/shells/nodejs/default.nix b/hosts/common/shells/nodejs/default.nix index 00ac595..7fe81a6 100644 --- a/hosts/common/shells/nodejs/default.nix +++ b/hosts/common/shells/nodejs/default.nix @@ -7,6 +7,7 @@ pkgs.mkShell { shellHook = '' export P10K_EXTRA_RIGHT_PROMPT_ELEMENTS=( node_version + "''${P10K_EXTRA_RIGHT_PROMPT_ELEMENTS[@]}" ) ''; } diff --git a/hosts/common/shells/python/default.nix b/hosts/common/shells/python/default.nix index bdbeb5e..dce0b63 100644 --- a/hosts/common/shells/python/default.nix +++ b/hosts/common/shells/python/default.nix @@ -15,6 +15,7 @@ pkgs.mkShell { shellHook = '' export P10K_EXTRA_RIGHT_PROMPT_ELEMENTS=( virtualenv + "''${P10K_EXTRA_RIGHT_PROMPT_ELEMENTS[@]}" ) ''; } diff --git a/hosts/eirene/users/nick/default.nix b/hosts/eirene/users/nick/default.nix index 4af78da..c275363 100644 --- a/hosts/eirene/users/nick/default.nix +++ b/hosts/eirene/users/nick/default.nix @@ -119,19 +119,21 @@ in "gpg/personal/pass".sopsFile = ../../../../secrets/personal/secrets.yaml; }; - programs.ssh.matchBlocks = { - "github.com" = { - hostname = "github.com"; - user = "git"; - identityFile = "${home}/.ssh/ssh_git_personal_ed25519_key"; - extraOptions.StrictHostKeyChecking = "accept-new"; + programs = { + ssh.matchBlocks = { + "github.com" = { + hostname = "github.com"; + user = "git"; + identityFile = "${home}/.ssh/ssh_git_personal_ed25519_key"; + extraOptions.StrictHostKeyChecking = "accept-new"; + }; }; + + obsidian.vaults."Documents/Obsidian/master".enable = true; }; theme.wallpaper = ../../../../static/wallpapers/clouds.png; - programs.obsidian.vaults."Documents/Obsidian/master".enable = true; - services.syncthing.settings.folders = { obsidian = { label = "Obsidian"; diff --git a/hosts/elara/users/nikara/default.nix b/hosts/elara/users/nikara/default.nix index e9d003e..b138ea0 100644 --- a/hosts/elara/users/nikara/default.nix +++ b/hosts/elara/users/nikara/default.nix @@ -18,6 +18,7 @@ in (import ../../../common/configs/user/console/gpg-agent { inherit user home; }) (import ../../../common/configs/user/console/home-manager { inherit user home; }) (import ../../../common/configs/user/console/imagemagick { inherit user home; }) + (import ../../../common/configs/user/console/kubernetes { inherit user home; }) (import ../../../common/configs/user/console/libvirt { inherit user home; }) (import ../../../common/configs/user/console/ncdu { inherit user home; }) (import ../../../common/configs/user/console/neovim { inherit user home; }) @@ -121,34 +122,49 @@ in "gpg/sas/key".sopsFile = ../../../../secrets/sas/secrets.yaml; "gpg/sas/pass".sopsFile = ../../../../secrets/sas/secrets.yaml; + + "kubeconfig/d90270" = { + sopsFile = ../../../../secrets/sas/secrets.yaml; + path = "${home}/.kube/d90270"; + }; + "kubeconfig/d90271" = { + sopsFile = ../../../../secrets/sas/secrets.yaml; + path = "${home}/.kube/d90271"; + }; + "kubeconfig/d90272" = { + sopsFile = ../../../../secrets/sas/secrets.yaml; + path = "${home}/.kube/d90272"; + }; }; - programs.ssh.matchBlocks = { - # Personal - "github.com/karaolidis" = { - hostname = "github.com"; - user = "git"; - identityFile = "${home}/.ssh/ssh_git_personal_ed25519_key"; - extraOptions.StrictHostKeyChecking = "accept-new"; + programs = { + ssh.matchBlocks = { + # Personal + "github.com/karaolidis" = { + hostname = "github.com"; + user = "git"; + identityFile = "${home}/.ssh/ssh_git_personal_ed25519_key"; + extraOptions.StrictHostKeyChecking = "accept-new"; + }; + + # SAS + "github.com" = { + hostname = "github.com"; + user = "git"; + identityFile = "${home}/.ssh/ssh_git_sas_ed25519_key"; + extraOptions.StrictHostKeyChecking = "accept-new"; + }; + "gitlab.sas.com" = { + hostname = "gitlab.sas.com"; + user = "git"; + identityFile = "${home}/.ssh/ssh_git_sas_ed25519_key"; + extraOptions.StrictHostKeyChecking = "accept-new"; + }; }; - # SAS - "github.com" = { - hostname = "github.com"; - user = "git"; - identityFile = "${home}/.ssh/ssh_git_sas_ed25519_key"; - extraOptions.StrictHostKeyChecking = "accept-new"; - }; - "gitlab.sas.com" = { - hostname = "gitlab.sas.com"; - user = "git"; - identityFile = "${home}/.ssh/ssh_git_sas_ed25519_key"; - extraOptions.StrictHostKeyChecking = "accept-new"; - }; + obsidian.vaults."Documents/Obsidian/master".enable = true; }; theme.wallpaper = ../../../../static/wallpapers/snow.jpg; - - programs.obsidian.vaults."Documents/Obsidian/master".enable = true; }; }