Fishing Tackle - My Fish Installer Script
I created (supported by ChatGPT) this script to automate the installation and setup of the Fish shell, the Fisher plugin manager, and a curated set of plugins.
The script detects your OS/package manager, installs Fish (if needed), ensures Fisher is present, installs/updates plugins, and can optionally set Fish as your default shell.
A simple one liner does all the heavy lifting and is perfect for setting up a new terminal enviroment.
Features
- OS detection for common package managers (
apt,dnf,pacman,zypper,brew). - Installs Fish if missing; skips if already installed.
- Installs Fisher if missing; skips if already installed.
- Installs/updates plugins (listed below).
- Optional update checks for Fish and plugins.
- Optional default shell change via final prompt.
Supported Platforms (via package manager)
- Debian/Ubuntu and derivatives —
apt - Fedora —
dnf - Arch/Manjaro —
pacman - openSUSE —
zypper - macOS —
brew(requires Homebrew pre-installed)
If your distro isn’t listed, you can still run Fish/Fisher manually, then re-run the installer for plugin setup.
Requirements
- Internet connectivity
curlorwgetsudoprivileges for package installation
Quick Start
Run directly from your repository (replace URL with your host/path):
curl -fsSL https://your-domain-or-gitea-instance/fishing_tackle/raw/branch/main/cast.sh | bash
The script will:
-
Detect your OS and package manager.
-
Install Fish (if absent).
-
Install Fisher (if absent).
-
Install/update the configured plugins.
-
Prompt to set Fish as your default shell.
Plugins Installed
-
Fisher (manager): https://github.com/jorgebucaran/fisher
-
nvm.fish (Node versions): https://github.com/jorgebucaran/nvm.fish
-
fzf.fish (fuzzy finder integration): https://github.com/PatrickF1/fzf.fish
-
tide (prompt/theme): https://github.com/IlanCosman/tide
-
fish-abbreviation-tips: https://github.com/meaningful-ooo/fish-abbreviation-tips
You can customize the plugin list by editing the array/list inside the script before running it.
Typical Output (abridged)
✓ Detected debian (apt)
✓ Fish already installed
• Checking Fish updates…
✓ Skipped update check
✓ Fisher already present
✓ All requested plugins already installed
? Set Fish as your default shell now? (y/N)
Troubleshooting
-
Command not found (curl/wget): Install
curlorwgetwith your package manager. -
Permission denied: Re-run with a user that has
sudoprivileges. -
Terminal still using old shell: Log out/in or run
chsh -s /usr/bin/fish(path may vary; the script offers to do this).
Useful Links
-
Fish Shell: https://fishshell.com/
-
nvm.fish: https://github.com/jorgebucaran/nvm.fish
-
fzf.fish: https://github.com/PatrickF1/fzf.fish
-
Tide Prompt: https://github.com/IlanCosman/tide
-
Fish Abbreviation Tips: https://github.com/meaningful-ooo/fish-abbreviation-tips
License
MIT License — You are free to use, modify, and distribute this script.
