Fish Shell Configuration
A production-grade Fish shell configuration targeting Fish 4.x. It provides:
- Drop-in replacements for common Unix tools (
ls,cat,rm,du,ping,less) - Deep Kitty and WezTerm terminal integration: tab/window/pane management from the command line
- Optional session logging: terminal scrollback,
tmux/zellijpanes, andparu/yayoutput captured to~/.terminal_history(off by default; see C5 Logging) - Automatic Python virtualenv activation on directory change
- Cross-platform package management via pkg and
fish-deps - AI scaffolding helpers for Claude Code and Antigravity
- Catppuccin Mocha color theme throughout
The configuration uses a structured file tree:
Directory~/.config/fish/
- config.fish Main entry point; sets env vars and PATH
Directoryconf.d/
- abbr.fish All abbreviations
- autopair.fish Auto-pair brackets and quotes
- done.fish Desktop notifications for long commands
- first_run.fish One-time init: Fisher bootstrap, theme
- key_bindings.fish Custom key bindings and Vi mode
- logging-events.fish C5 event handlers; syncs logging state
- kitty-watcher-reminder.fish C5 per-session Kitty watcher reminder
- paru-wrapper.fish Auto-generates paru logging wrapper
- puffer.fish !! / !$ / ./ expansion
- tmux-logging.fish C5 starts tmux pipe-pane capture
- zellij-logging.fish C5 fish_exit handler for zellij
- sponge_privacy.fish Sponge privacy patterns
- starship.fish fish_prompt shell-integration markers
- theme.fish Catppuccin syntax highlight colors
- tricks.fish PATH, bang-bang helpers, bat man pages
- wakatime.fish WakaTime shell hook
- yay-wrapper.fish Auto-generates yay logging wrapper
- zoxide.fish Zoxide z/zi integration; overrides cd
Directoryfunctions/ Custom functions, one per file
- __auto_source_fallback_venv.fish
- __config_settings_apply.fish
- __config_settings_get_raw.fish
- __config_settings_get_val.fish
- __config_settings_set_value.fish
- __config_settings_state.fish
- __config_settings_subcats.fish
- __fish_config_op_cascade.fish
- __fish_config_op_enabled.fish
- __fish_config_op_registry_lookup.fish
- __fish_config_op_registry_rebuild.fish
- __fish_config_sync_logging.fish
- __fish_help_header.fish
- __fish_palette.fish
- __fish_real_command.fish
- __fish_user_dots_link.fish
- __fish_variable_check.fish
- __fzf_inline_picker.fish
- __insert_previous_path_head.fish
- __interactive_history_sub.fish
- __jobrunner_sessions.fish
- __kitty_logging_dir.fish
- __kitty_logging_has_watcher.fish
- __kitty_logging_version.fish
- __substitute_typo.fish
- _agents_init_ensure_gitignore.fish
- _agents_repo_ensure_symlink.fish
- _agents_repo_install_tools.fish
- _agents_repo_local_slug.fish
- _agents_repo_slug.fish
- _agents_repo_sync.fish
- _agents_vault_dir.fish
- _auto_pull_sync.fish
- _autopair_backspace.fish
- _autopair_insert_left.fish
- _autopair_insert_right.fish
- _autopair_insert_same.fish
- _autopair_tab.fish
- _fish_deps_catalog.fish
- _fish_deps_detect_pm.fish
- _fish_deps_install.fish
- _fish_deps_pm_install.fish
- _fish_deps_pm_upgrade.fish
- _fish_deps_status.fish
- _fish_deps_update.fish
- _fish_mkdir_p.fish
- _fish_source_scoped.fish
- _fzf_configure_bindings_help.fish
- _fzf_extract_var_info.fish
- _fzf_preview_changed_file.fish
- _fzf_preview_file.fish
- _fzf_preview_image.fish
- _fzf_preview_media.fish
- _fzf_report_diff_type.fish
- _fzf_report_file_type.fish
- _fzf_search_directory.fish
- _fzf_search_git_log.fish
- _fzf_search_git_status.fish
- _fzf_search_history.fish
- _fzf_search_processes.fish
- _fzf_search_variables.fish
- _fzf_wrapper.fish
- _prune_terminal_logs.fish
- _puffer_fish_expand_bang.fish
- _puffer_fish_expand_buck.fish
- _puffer_fish_expand_dot.fish
- _puffer_fish_expand_star.fish
- _qalc_eval.fish
- _replace_command_token.fish
- _scrollback_prune_junk.fish
- _smart_execute.fish
- _tmux_pipe_log.fish
- _zellij_dump_log.fish
- agents-init.fish
- agents-vault.fish
- agy.fish
- antigravity-ide.fish
- auto-pull.fish
- bash.fish
- bd-pull.fish
- bkg.fish
- branch.fish
- cat.fish
- cdi.fish
- cffetch.fish
- cheat.fish
- check_fish_deps.fish
- claude-docs.fish
- claude-pr.fish
- claude.fish
- cleanup.fish
- clone.fish
- clonet.fish
- config-help.fish
- config-settings.fish
- config-toggle.fish
- config-update.fish
- copy.fish
- detach.fish
- dng2avif.fish
- docker.fish
- dockup.fish
- dops.fish
- du.fish
- dusize.fish
- edit.fish
- fast-cli.fish
- fast.fish
- fc.fish
- ffetch.fish
- fish-deps.fish
- fish_mode_prompt.fish
- fish_prompt.fish
- fish_right_prompt.fish
- fisher.fish
- fzf-update.fish
- fzf_configure_bindings.fish
- gi.fish
- gip.fish
- gip4.fish
- gip6.fish
- git-clean.fish
- gitui.fish
- gitup.fish
- hist.fish
- jobrunner.fish
- joplin.fish
- jr.fish
- kitty-logging.fish
- ld.fish
- lD.fish
- less.fish
- limine-edit.fish
- lock.fish
- logs.fish
- ls.fish
- lsr.fish
- lss.fish
- lstree.fish
- lt.fish
- ltr.fish
- lx.fish
- mkcd.fish
- mkdir.fish
- mv.fish
- open-url.fish
- p.fish
- parur.fish
- paste.fish
- ping.fish
- pkg.fish
- play-media.fish
- poke.fish
- ports.fish
- qc.fish
- qr.fish
- rand_string.fish
- rawfish.fish
- replay.fish
- repo-open.fish
- rg.fish
- rm.fish
- sbver.fish
- screensleep.fish
- scrub.fish
- search.fish
- smart_exit.fish
- spark.fish
- split.fish
- sponge_filter_secrets.fish
- spwin.fish
- ssh.fish
- steam-dl.fish
- sudo-toggle.fish
- superpowers.fish
- swapstat.fish
- tab.fish
- tmux-clean.fish
- top.fish
- upgrade.fish
- view.fish
- wake-lock.fish
- y.fish
- yt-dlp.fish
- zoxide.fish
Directorycompletions/ Tab completion scripts, autoloaded on demand
- agents-vault.fish
- auto-pull.fish
- bd.fish
- cheat.fish
- copilot.fish
- deadbranch.fish
- fisher.fish
- fzf_configure_bindings.fish
- jobrunner.fish
- ov.fish
- play-media.fish
- rand_string.fish
- replay.fish
- spark.fish
- tailscale.fish
- zoxide.fish
Directoryintegrations/
- fzf.fish FZF Catppuccin theme and key bindings
Directoryscripts/
- clean_progress_log.py Strips typescript animations for clean logs
Directoryagents-tools/ AGENTS.md scripts and git hooks
- …
Directorydocs/ Offline documentation and man page
- fish-config.md Primary source manual
- fish-config.1 Compiled man page (auto-generated)
- fish-config.index Section index for help config
Directoryhtml/ Chunked HTML docs (auto-generated)
- …
Directorywiki/ Markdown wiki (auto-generated)
- …