Files
Fishing_Tackle/README.md
Ade Thompson 71271c6109 Amended
Updated CURL URL
2025-08-09 21:39:51 +01:00

120 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Fishing Tackle - My Fish Installer Script
I created (supported by ChatGPT) this script to automate the installation and setup of the [Fish shell](https://fishshell.com/), the [Fisher](https://github.com/jorgebucaran/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 isnt listed, you can still run Fish/Fisher manually, then re-run the installer for plugin setup.
---
## Requirements
- Internet connectivity
- `curl` or `wget`
- `sudo` privileges 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:
1. Detect your OS and package manager.
2. Install Fish (if absent).
3. Install Fisher (if absent).
4. Install/update the configured plugins.
5. Prompt to set Fish as your default shell.
----------
## Plugins Installed
- **Fisher (manager):** [https://github.com/jorgebucaran/fisher](https://github.com/jorgebucaran/fisher)
- **nvm.fish (Node versions):** [https://github.com/jorgebucaran/nvm.fish](https://github.com/jorgebucaran/nvm.fish)
- **fzf.fish (fuzzy finder integration):** [https://github.com/PatrickF1/fzf.fish](https://github.com/PatrickF1/fzf.fish)
- **tide (prompt/theme):** [https://github.com/IlanCosman/tide](https://github.com/IlanCosman/tide)
- **fish-abbreviation-tips:** [https://github.com/meaningful-ooo/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 `curl` or `wget` with your package manager.
- **Permission denied:** Re-run with a user that has `sudo` privileges.
- **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/
- **Fisher:** [https://github.com/jorgebucaran/fisher](https://github.com/jorgebucaran/fisher)
- **nvm.fish:** [https://github.com/jorgebucaran/nvm.fish](https://github.com/jorgebucaran/nvm.fish)
- **fzf.fish:** [https://github.com/PatrickF1/fzf.fish](https://github.com/PatrickF1/fzf.fish)
- **Tide Prompt:** [https://github.com/IlanCosman/tide](https://github.com/IlanCosman/tide)
- **Fish Abbreviation Tips:** [https://github.com/meaningful-ooo/fish-abbreviation-tips](https://github.com/meaningful-ooo/fish-abbreviation-tips)
----------
## License
MIT License — You are free to use, modify, and distribute this script.