First I'll be installing fisher, which is a plugin manager for fish. I’ll be using it to install all other plugins.
You can install fisher using:
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher in`stall jorgebucaran/fisher
Now that we have fisher installed, I'm going to change my prompt to tide, which I like better than starship.
To install tide:
fisher install IlanCosman/tide@v6
After you run that, it’ll install Tide and let you configure how you want the prompt to look.
If you're switching from starship, remove it from loading by default by deleting these lines in ~/.config/fish/config.fish:
- ## Starship prompt
- if status --is-interactive
- source ("/usr/bin/starship" init fish --print-full-init | psub)
- end
Next, I'll install done, which gives a notification when a long process is finished.
To install:
fisher install franciscolourenco/done
Now you should get a desktop notification whenever a long command finishes running.
After that, I'm going to add fish-ai, which adds some simple AI features to the shell.
Install it with:
fisher install realiserad/fish-ai
You'll need to configure it. Create ~/.config/fish-ai.ini and add this:
[fish-ai]
configuration = github
[github]
provider = self-hosted
server = https://models.inference.ai.azure.com
api_key = <paste GitHub PAT here>
model = gpt-4o-mini
You can create a GitHub personal access token (PAT) here — it needs models permission.