{ pkgs, ... }: { # Configure Zsh programs.zsh = { enable = true; enableCompletion = true; autosuggestion.enable = true; syntaxHighlighting.enable = true; autocd = true; oh-my-zsh = { enable = true; plugins = [ "git" "eza" "vscode" "sudo" ]; theme = "lukerandall"; }; # Use initContent to add custom Zsh configuration after Home Manager's setup initContent = '' # Load Gemini API Key from SOPS if [ -f "/run/secrets/gemini-api-key" ]; then export GOOGLE_GENERATIVE_AI_API_KEY=$(cat "/run/secrets/gemini-api-key") export GEMINI_API_KEY="$GOOGLE_GENERATIVE_AI_API_KEY" fi # Load OpenCode API Key from SOPS if [ -f "/run/secrets/opencode-api-key" ]; then export OPENCODE_API_KEY=$(cat "/run/secrets/opencode-api-key") fi # Load Gitea MCP access token from SOPS (used by opencode's gitea MCP server) if [ -f "/run/secrets/x1carbon/gitea-mcp-token" ]; then export GITEA_ACCESS_TOKEN=$(cat "/run/secrets/x1carbon/gitea-mcp-token") fi # Fastfetch check if command -v fastfetch >/dev/null 2>&1; then fastfetch --config ${./fastfetch.json} fi ''; }; programs.zoxide.enable = true; programs.eza = { enable = true; extraOptions = [ "-l" "--icons" "--git" "-a" ]; }; }