# Packages module # # This module manages CLI tools and packages installed via Nix. # GUI applications (casks) are managed via Homebrew in the darwin modules. # # Based on the Brewfile analysis from docs/migration-analysis.md { config, pkgs, lib, ... }: { home.packages = with pkgs; [ # ======================================================================== # Shell Tools # ======================================================================== # Note: zsh, atuin, starship, fzf, zoxide, direnv are configured via # programs.* in shell.nix for better integration # ======================================================================== # Modern CLI Replacements # These replace traditional Unix tools with modern alternatives # ======================================================================== bat # Modern cat with syntax highlighting (aliased as cat) eza # Modern ls with icons and git integration (aliased as ls) fd # Modern find ripgrep # Modern grep (aliased as grep) delta # Modern diff with syntax highlighting (aliased as diff) dust # A more intuitive version of du written in rust duf # A better df alternative hyperfine # A command-line benchmarking tool. choose # A human-friendly and fast alternative to cut and (sometimes) awk coreutils yazi # File manager # ======================================================================== # File and Text Utilities # ======================================================================== jq # JSON processor yq # YAML processor tree # Directory tree viewer rsync # File synchronization unzip # Archive extraction curl # HTTP client wget # HTTP client watch # Execute commands periodically # ======================================================================== # Git and Version Control # ======================================================================== git # Version control gh # GitHub CLI # git-delta is included above as 'delta' jujutsu # Git-compatible VCS (jj) lazygit # Terminal UI for git # ======================================================================== # Development Tools # ======================================================================== neovim # Text editor tmux # Terminal multiplexer # Languages and Runtimes nodejs_22 # Node.js LTS (replaces NVM) deno # JavaScript/TypeScript runtime python313 # Python 3.13 # pyenv is configured in shell.nix uv # Fast Python package installer mise # tool manager # Build Tools gnumake # Make build tool cmake # Cross-platform build system # ======================================================================== # Container and Kubernetes Tools # ======================================================================== docker # Container runtime (CLI only, daemon via colima) docker-buildx # Docker build extensions docker-compose # Multi-container Docker applications colima # Container runtime for macOS (replaces Docker Desktop) # Kubernetes kubectl # Kubernetes CLI kubectx # Easy context switcher kubernetes-helm # Kubernetes package manager helmfile # Declarative Helm chart management k9s # Kubernetes TUI istioctl # Istio service mesh CLI fluxcd # GitOps toolkit popeye # argocd kubeseal kubebuilder kind # ======================================================================== # Infrastructure and Cloud Tools # ======================================================================== terraform # Infrastructure as code ansible # Configuration management sshpass # Non-interactive SSH password auth (for ansible) awscli2 # AWS CLI v2 # ======================================================================== # Media Tools # ======================================================================== ffmpeg # Media processing # ======================================================================== # Security Tools # ======================================================================== gnupg # GPG encryption age # Modern encryption tool sops # Secrets management rustscan # The Modern Port Scanner. Find ports quickly (3 seconds at its fastest). nmap alternative. # ======================================================================== # Miscellaneous Tools # ======================================================================== graphviz # Graph visualization tree-sitter # Parser generator (for neovim) htop # Process viewer ncdu # Disk usage analyzer tldr # Simplified man pages doggo # Command-line DNS client for humans. dig on steroids btop # A monitor of resources gh mob zsh-fast-syntax-highlighting jellyfin-tui # ======================================================================== # Nix Tools # ======================================================================== nixfmt-rfc-style # Nix code formatter nil # Nix language server # ======================================================================== # AAI tools # ======================================================================== gemini-cli opencode ]; # ======================================================================== # Additional Program Configurations # ======================================================================== # Note: Git is configured in modules/home/git.nix # The git module handles all git configuration including delta integration # Bat configuration (modern cat replacement) programs.bat = { enable = true; config = { theme = "Catppuccin Mocha"; style = "numbers,changes,header"; }; }; # Eza configuration (modern ls replacement) programs.eza = { enable = true; enableZshIntegration = true; icons = "auto"; git = true; }; # Ripgrep configuration programs.ripgrep = { enable = true; arguments = [ "--smart-case" "--hidden" "--glob=!.git/*" ]; }; # Htop configuration programs.htop = { enable = true; settings = { show_program_path = false; tree_view = true; }; }; # Lazygit configuration programs.lazygit = { enable = true; }; }