Fish shell configuration with extensive functions, aliases, and environment setup.
Project: Fish Shell
Root configuration files (sourced by config.fish):
config.fish- Main entry point (OS detection, Hyprland launcher, function autoloading)aliases.fish- Abbreviations and command aliases (neovim, pnpm, brew, directory shortcuts)profile.fish- Environment variables (TERM, EDITOR, PATH, FZF options, XDG paths)scripts.fish- Miscellaneous utilities (copy_output, etc.)coreutils.fish- uutils-coreutils replacementsgum.fish- Gum CLI wrapper functionscolors.fish- Color theme and utilitiesprivate.fish- Local/private settings (not in repo)
**Functions (autoloaded):
AI/OpenCode integration:
ai_commit.fish- OpenCode AI commit message generationai_pr.fish- OpenCode AI PR description generation
Git worktree management:
worktree_add.fish,worktrees_clean.fish,latest_worktree.fishgit_add_gum.fish- Interactive git add with gum
Directory navigation:
cdlc.fish,cdlm.fish,fzfcd.fish- Custom cd variantsmntnas.fish- Mount NAS
Work/time tracking:
first_login_of_the_day.fish,set_workday_start.fish,remaining_work_hours.fish,workday_end.fishget_week_dates.fish,parse_flexible_date.fish,format_date_display.fish__time_ago_from_timestamp.fish- Time calculation helper
Azure DevOps integration:
workitems_on_date.fish,workitems_week.fish,workitems_cache_clear.fish__workitems_extract.fish- Helper for parsing work itemsado_test_case.fish- Azure DevOps test case helpers
Nix/flake management:
flake_check_updates.fish,flake_update_interactive.fish,flake_updates_daemon.fishflake_update_cache_metadata.fish- Cache metadata updatesnxrb.fish- Nix rebuild shortcut
System utilities:
proxy_status.fish,toggle_proxy.fish,mullvad_random_socks5.fish- Network/VPNdisk_space.fish,killport.fish,hyprprop_kill.fish- System utilitiesprogress_bar.fish- Progress bar utilities
Package management:
export_npm_globals.fish,install_npm_globals.fish- NPM global managementpnpx.fish- pnpm exec wrapper
General utilities:
colors.fish- Color helpersopen.fish- Open command wrappercopykey.fish- Copy SSH key to clipboardwezterm_set_user_var.fish- Wezterm integrationgum.fish- Gum CLI wrapperssrc.fish- Source config reload
Notes:
- Functions are autoloaded from
functions/directory - Internal helper scripts live in
libexec/and are invoked by Fish wrappers - Fish wrappers invoke Bun helpers with
bun --cwd ...; Bun defaults are pinned inlibexec/bunfig.toml, and dependencies are pinned inlibexec/package.json+libexec/bun.lock - Biome config for helper scripts:
libexec/biome.json(biome check .config/fish/libexec) - Managed via Nix/Home Manager as part of dotfiles
- Uses gum for interactive prompts and colored output
- FZF configured for fd-based file finding with threading
- Environment variables cached to avoid repeated external commands on startup