7. CUSTOMIZATION

Machine-local Configuration

Place machine-specific settings that should not be committed to git in:

~/.config/.user-dots/fish/local.fish

Typical uses: additional PATH entries, local aliases, hostname-specific env vars, work-specific tool configs.

Secrets and API Keys

~/.config/.user-dots/fish/secrets.fish

Store API tokens, GPG keys, private credentials here. This file is never committed.

Both files are sourced at the end of config.fish on every interactive session, so they can override anything set earlier.

Overriding Configuration Variables

Any variable set in local.fish after the main config loads takes effect. Example: to increase the scrollback history limit:

# in local.fish
set -gx SCROLLBACK_HISTORY_MAX_FILES 200

Fish Universal Variables

Some settings (fzf colors, theme) are stored in fish_variables via set -U. These are machine-local and git-ignored. Do not commit fish_variables.