diff --git a/home/apps/kubernetes.nix b/home/apps/kubernetes.nix index 710e808..0b07abb 100644 --- a/home/apps/kubernetes.nix +++ b/home/apps/kubernetes.nix @@ -10,6 +10,7 @@ gojq jqp konf + kubecolor kubeconform kubectl kubectx @@ -23,8 +24,21 @@ home.shellAliases = { jq = "gojq"; - kcuc = "konf set"; kcn = "konf ns"; + kcuc = "konf set"; + kubectl = "kubecolor"; + }; + + programs.zsh = { + initExtra = '' + # kubecolor + compdef kubecolor=kubectl + # konf + source <(konf-go shellwrapper zsh) + source <(konf-go completion zsh) + # open last konf on new shell session, only if konf store has been initialized + [[ -d ~/.kube/konfs/store ]] && export KUBECONFIG=$(konf-go --silent set -) + ''; }; home.sessionVariables = { diff --git a/home/apps/zsh.nix b/home/apps/zsh.nix index bb430db..cd33b61 100644 --- a/home/apps/zsh.nix +++ b/home/apps/zsh.nix @@ -10,8 +10,6 @@ recursive = recursive; }; in { - home.sessionVariables = {LESSHISTFILE = "-";}; - programs = { bat.enable = true; btop = { @@ -25,7 +23,15 @@ in { direnv.enable = true; direnv.nix-direnv.enable = true; - fzf.enable = true; + fzf = { + enable = true; + defaultOptions = [ + "--height=30%" + "--layout=reverse" + "--info=inline" + "--color=spinner:#f5e0dc,hl:#f38ba8,fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc,marker:#f5e0dc,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8" + ]; + }; lsd = { enable = true; @@ -60,7 +66,7 @@ in { enable = true; enableAutosuggestions = true; enableCompletion = true; - enableSyntaxHighlighting = true; + enableSyntaxHighlighting = false; initExtra = let functionsDir = "${config.home.homeDirectory}/${config.programs.zsh.dotDir}/functions"; @@ -68,22 +74,13 @@ in { for conf in "${functionsDir}"/**/*.zsh; do source "$conf" done - - # WezTerm - if [[ "$TERM_PROGRAM" == "WezTerm" ]]; then - TERM=wezterm - source ${pkgs.nur.repos.nekowinston.wezterm-nightly}/etc/profile.d/wezterm.sh - fi - - source <(konf-go shellwrapper zsh) - source <(konf-go completion zsh) - # open last konf on new shell session - export KUBECONFIG=$(konf-go --silent set -) ''; - envExtra = '' - export ZVM_INIT_MODE=sourcing ZVM_CURSOR_BLINKING_BEAM=1 - ''; + sessionVariables = { + ZVM_INIT_MODE = "sourcing"; + ZVM_CURSOR_BLINKING_BEAM = "1"; + LESSHISTFILE = "-"; + }; dotDir = ".config/zsh"; oh-my-zsh = { @@ -99,15 +96,20 @@ in { }; plugins = [ { - name = "zsh-vi-mode"; - src = pkgs.zsh-vi-mode; - file = "share/zsh-vi-mode/zsh-vi-mode.plugin.zsh"; + name = "zsh-fast-syntax-highlighting"; + src = pkgs.zsh-fast-syntax-highlighting; + file = "share/zsh/site-functions/fast-syntax-highlighting.plugin.zsh"; } { name = "zsh-nix-shell"; src = pkgs.zsh-nix-shell; file = "share/zsh-nix-shell/nix-shell.plugin.zsh"; } + { + name = "zsh-vi-mode"; + src = pkgs.zsh-vi-mode; + file = "share/zsh-vi-mode/zsh-vi-mode.plugin.zsh"; + } ]; shellAliases = { cat = @@ -116,6 +118,7 @@ in { else "bat"; # switch between yubikeys for the same GPG key switch_yubikeys = "gpg-connect-agent \"scd serialno\" \"learn --force\" /bye"; + tree = "lsd --tree"; }; history = { path = "${config.xdg.configHome}/zsh/history";