{pkgs, lib, ...}: { nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "ookla-speedtest" ]; home.packages = with pkgs; [ (python3.withPackages(ps: with ps; [ # ansible dnspython youtube-dl boto3 # aws-s3 support for ansible kubernetes # is in ansible kubernetes.core module # dict_utils for an ansible filter_plugin setuptools deepmerge pip passlib # bcrypt pyyaml ])) ansible killall tree htop mosh dasel git pre-commit git-lfs git-crypt git-annex ghorg tig cocogitto tea glab figlet tmux w3m wget xh minio-client liboping # fix it mtr ookla-speedtest hey colordiff direnv ## nice prompt together with grml # pure-prompt # vimPlugins.nvim-lspconfig # vimPlugins.nerdtree go_1_18 gcc libcap gopls # cargo rustup yarn cmake pwgen hugo asciidoctor-with-extensions # gotify-cli # use ntfy.sh glow imagemagick ffmpeg # devOps terraform tflint kubectl kustomize kubernetes-helm helmfile stern kubeswitch kubespy fluxcd kubeseal # nixopsUnstable ]; home.shellAliases = { k9sctx = "k9s --kubeconfig=$(switch)"; k9s = "k9s --headless"; kubectx = "export KUBECONFIG=$(switch)"; }; programs.home-manager.enable = true; programs.password-store = { enable = true; package = pkgs.pass-wayland.withExtensions (exts: [ exts.pass-otp ]); settings = { PASSWORD_STORE_DIR = "$HOME/.password-store"; }; }; programs.nushell = { enable = true; # envFile.text = '' # let-env config = { # hooks: { # pre_prompt: [{ # code: " # let direnv = (direnv export json | from json) # let direnv = if ($direnv | length) == 1 { $direnv } else { {} } # $direnv | load-env # " # }] # } # } # ''; }; programs.zsh = { enable = true; enableAutosuggestions = true; enableSyntaxHighlighting = true; # initExtra = '' # source ${pkgs.grml-zsh-config}/etc/zsh/zshrc # prompt pure # ''; }; programs.starship = { enable = true; # enableNushellIntegration = true; settings = { directory ={ truncation_length = 0; }; helm = { disabled = true; }; kubernetes = { disabled = false; format = "[$symbol$cluster( \($namespace\))]($style) in "; detect_extensions = [ "package" # helm ]; }; }; }; programs.direnv.enable = true; programs.btop.enable = true; programs.tealdeer.enable = true; # man / tldr ... programs.gitui.enable = true; programs.neovim = { enable = false; extraConfig = '' syntax on set number relativenumber ''; plugins = with pkgs.vimPlugins; [ nvim-lspconfig airline Syntastic { plugin = nerdtree; config = "map :NERDTreeToggle"; } ]; }; programs.helix = { enable = true; languages = []; settings = { theme = "base16_default"; editor = { lsp.display-messages = true; }; }; }; programs.k9s = { enable = true; # does not open ERROR with clusters settings #settings.k9s = { # headless = true; # logger.fullScreenLogs = true; #}; }; }