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.
~/.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.
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
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.