{ pkgs, ... }: { # Universal CLI tools for all hosts home.packages = with pkgs; [ # File navigation & viewing eza bat ripgrep fd fzf tree wget # download files and recursive sites # System info htop tldr fastfetch # Editor micro # Node pnpm # fast node package manager # Secrets (pass.withExtensions (ext: [ ext.pass-otp ])) gpgme gnupg # Extras ollama # CLI для LLM delta # красивый git diff (synonym: git-delta) alejandra # nix-форматтер broot # tree с превью trash-cli # rm с корзиной texliveFull # LaTeX (~4GB, для математики) gita # manage multiple git repos ]; # TODO: global npm/pnpm packages not managed by nix for now # install manually: pnpm i -g @mariozechner/pi-coding-agent # GPG agent is configured in home/pass.nix (only for pass) # FZF fuzzy finder programs.fzf = { enable = true; enableZshIntegration = true; defaultCommand = "fd --type f --hidden --exclude .git"; defaultOptions = [ "--height 40%" "--layout=reverse" "--border" ]; }; # Zoxide - smarter cd programs.zoxide = { enable = true; enableZshIntegration = true; options = [ "--cmd cd" ]; }; # Atuin - encrypted shell history with sync programs.atuin = { enable = true; enableZshIntegration = true; settings = { auto_sync = true; sync_frequency = "5m"; search_mode = "fuzzy"; style = "compact"; show_preview = true; exit_mode = "return-query"; }; }; # Bat - cat with syntax highlighting programs.bat = { enable = true; config = { theme = "Catppuccin Macchiato"; italic-text = "always"; style = "numbers,changes,header"; }; }; # Eza - modern ls replacement programs.eza = { enable = true; icons = "auto"; git = true; }; # Fastfetch - system info (using package only, no home-manager module) # Config is in ~/.config/fastfetch/config.jsonc manually for now }