Initial Commit
This commit is contained in:
119
README
119
README
@@ -1,2 +1,117 @@
|
||||
** This is another test **
|
||||
this is a test
|
||||
# Fish Installer Script
|
||||
|
||||
Automates 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.
|
||||
|
||||
---
|
||||
|
||||
## 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
|
||||
- `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/fish_install/raw/branch/main/fish_installer.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.
|
||||
Reference in New Issue
Block a user