aldo's fish shell config.
config.fishβ aliases, env vars, path setup, tool init (starship, fnm, direnv)conf.d/β sourced automatically on every shell startaldo-dracula-palette.fishβ adaptive dracula/alucard colours that follow the macos dark/light settingfish_frozen_theme.fish,fish_frozen_key_bindings.fishβ fish 4.3 migration filesfnm.fishβ node version manager hook
functions/β one function per file (see below)fish_variablesβ universal variables
e [path]β open nvim (current dir if no arg)c [path]β open the editoro [path]β open findert [path]β open typoratypora [path]β same, explicit
git-status-pretty(aliasedgs) β coloured, grouped statusga [path]β add, then show status + diffgc [msg]β commit (opens editor if no msg)gcp [msg]β commit and pushgitβ wrapsgit clone: rewrites github https urls to ssh and falls back to https if that failsggs [dir]β global status across every repo in a directory (default~/dev)pullall [dir]β fast-forward every tracked branch across repos, ordered by recent activity (default~/dev)
nixxβ nix-darwin update/build/apply wrapper with drift checking. see the nix reponixx-driftβ reports packages installed but not declared (and vice versa) across brew, pnpm and uvskills-restoreβ reinstall agent skills from a lockfile
yoink <url>(aliasedgrab) β download a site as llm-ready markdown plus its binary assetsvideo-context <file>β pull a transcript (whisper) and screenshots out of a video for feeding to an llmfix-audio <file>β collapse a one-sided recording to dual mono and loudness-normalise itnormalise-audio <file>β loudness-normalise audio, keep the video streamwatch-unzip <dir>β watch a folder and auto-extract zips as they land
batβ bat with a theme that follows dark/light modefif <string>β fuzzy find inside files (ripgrep + fzf)pjsonβ format every json file in the current dirproofreadβ proofread clipboard text with a local ollama modelhearβ text-to-speech via elevenlabs
fish_prompt,fish_right_promptβ the prompt itself (ssh host, pwd, git state)
clone into ~/.config/fish:
git clone git@github.com:aldosch/fish.git ~/.config/fishsome functions expect tools that live in the nix config (gum, eza, ripgrep, fzf, etc.).
