docs(fisher): clarify bundled vs fisher-managed plugins; add sponge #37
@@ -22,7 +22,7 @@ This config layers on top of the CachyOS base Fish configuration and adds:
|
||||
|
||||
- **Catppuccin Mocha** theming throughout (prompt, FZF, syntax highlighting)
|
||||
- **Starship** prompt with VI key bindings
|
||||
- **Fisher** plugin management with FZF key bindings and Catppuccin syntax colors
|
||||
- **Fisher** plugin manager bootstrapped automatically; plugin functionality (FZF bindings, Catppuccin theme, done notifications, autopair, puffer-fish) bundled directly with the config
|
||||
- **Smart CLI wrappers** that prefer modern tools (`eza`, `bat`, `btop`, `dust`, `prettyping`) with graceful fallbacks
|
||||
- **Auto Python venv** activation on directory change (direnv-aware)
|
||||
- **Kitty terminal** deep integration for splits, tabs, and SSH
|
||||
@@ -66,7 +66,7 @@ mv ~/.config/fish ~/.config/fish.bak
|
||||
git clone https://git.rootiest.dev/rootiest/fish-config.git ~/.config/fish
|
||||
```
|
||||
|
||||
Then open a new Fish shell — Fisher and all plugins will be installed automatically on first launch, and the Catppuccin Mocha theme will be applied.
|
||||
Then open a new Fish shell — Fisher will be installed automatically on first launch and the Catppuccin Mocha theme will be applied. All plugin functionality is bundled directly with this config and requires no additional installation.
|
||||
|
||||
A [chezmoi](https://www.chezmoi.io/) dotfile manager is also configured — secrets are sourced from `~/.config/.user-dots/fish/secrets.fish` and excluded from version control.
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ if not type -q fisher
|
||||
if curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source
|
||||
echo " [first-run] Fisher installed."
|
||||
if not fisher update 2>/dev/null
|
||||
echo " [first-run] Plugin sync failed — run 'fisher update' manually." >&2
|
||||
echo " [first-run] Fisher update failed — run 'fisher update' manually." >&2
|
||||
end
|
||||
else
|
||||
echo " [first-run] Fisher install failed — run 'fisher update' manually." >&2
|
||||
|
||||
+19
-5
@@ -29,8 +29,8 @@ keybindings=# 3. KEY BINDINGS
|
||||
bindings=# 3. KEY BINDINGS
|
||||
key-bindings=# 3. KEY BINDINGS
|
||||
keys=# 3. KEY BINDINGS
|
||||
fzf-bindings=## FZF Bindings (from fzf --fish integration)
|
||||
fzf=## FZF Bindings (from fzf --fish integration)
|
||||
fzf-bindings=## FZF Bindings (bundled from PatrickF1/fzf.fish)
|
||||
fzf=## FZF Bindings (bundled from PatrickF1/fzf.fish)
|
||||
|
||||
# ── Section 4: Abbreviations ──────────────────────────────────
|
||||
abbreviations=# 4. ABBREVIATIONS
|
||||
@@ -166,10 +166,24 @@ universal=## Fish Universal Variables
|
||||
# ── Section 8: Fisher Plugins ─────────────────────────────────
|
||||
plugins=# 8. FISHER PLUGINS
|
||||
fisher=# 8. FISHER PLUGINS
|
||||
bundled-plugins=## Bundled Plugin Functionality
|
||||
fish-plugins-manifest=## fish_plugins Manifest
|
||||
|
||||
# ── Section 9: Viewing This Manual ───────────────────────────
|
||||
viewing=# 9. VIEWING THIS MANUAL
|
||||
manual=# 9. VIEWING THIS MANUAL
|
||||
# ── Section 9: Installation ────────────────────────────────────
|
||||
installation=# 9. INSTALLATION
|
||||
install=# 9. INSTALLATION
|
||||
sentinel=## Return Sentinel
|
||||
updating=## Updating
|
||||
|
||||
# ── Section 10: Personalization ───────────────────────────────
|
||||
personalization=# 10. PERSONALIZATION
|
||||
personalize=# 10. PERSONALIZATION
|
||||
secrets=## secrets.fish
|
||||
local-config=## local.fish
|
||||
|
||||
# ── Section 11: Viewing This Manual ──────────────────────────
|
||||
viewing=# 11. VIEWING THIS MANUAL
|
||||
manual=# 11. VIEWING THIS MANUAL
|
||||
ov=## With ov (recommended)
|
||||
man-page=## As a man page (if compiled)
|
||||
manpage=## As a man page (if compiled)
|
||||
|
||||
+31
-15
@@ -279,7 +279,7 @@ are active in Insert, Normal, and Visual modes unless noted.
|
||||
line to open an fzf picker and insert a selection
|
||||
at the cursor position.
|
||||
|
||||
## FZF Bindings (from PatrickF1/fzf.fish)
|
||||
## FZF Bindings (bundled from PatrickF1/fzf.fish)
|
||||
|
||||
Ctrl+R Search command history
|
||||
Ctrl+Alt+F Search git-tracked files
|
||||
@@ -1395,9 +1395,9 @@ To customize, override FZF_DEFAULT_OPTS in local.fish.
|
||||
|
||||
### Catppuccin Mocha Syntax Highlighting
|
||||
|
||||
The catppuccin/fish plugin applies syntax highlight colors on first run.
|
||||
Colors are stored in fish_variables (universal). To switch variants, install
|
||||
a different theme from the themes/ directory:
|
||||
The Catppuccin Mocha theme ships with this config in themes/ and is applied
|
||||
on first run via `conf.d/first_run.fish`. Colors are stored in fish_variables
|
||||
(universal). To switch variants, install a different theme from themes/:
|
||||
|
||||
fish_config theme save "Catppuccin Latte"
|
||||
|
||||
@@ -1417,18 +1417,33 @@ testing), run:
|
||||
|
||||
Then open a new shell.
|
||||
|
||||
The plugin list is maintained in fish_plugins at the config root.
|
||||
## Bundled Plugin Functionality
|
||||
|
||||
Plugin functionality is bundled directly with this config rather than managed
|
||||
through Fisher. The bundled versions include customizations for Fish 4.x
|
||||
compatibility and improved behavior that differ from their upstream releases.
|
||||
Installing them through Fisher would overwrite these customizations.
|
||||
|
||||
Bundled components and their upstream origins:
|
||||
|
||||
catppuccin/fish → themes/ + conf.d/theme.fish
|
||||
PatrickF1/fzf.fish → functions/_fzf_*.fish + conf.d/fzf.fish
|
||||
franciscolourenco/done → conf.d/done.fish
|
||||
jorgebucaran/autopair.fish → functions/_autopair_*.fish + conf.d/autopair.fish
|
||||
nickeb96/puffer-fish → functions/_puffer_fish_*.fish + conf.d/puffer.fish
|
||||
|
||||
Do not run `fisher install` for these — it will overwrite the customized
|
||||
versions. To update their behavior, edit the relevant bundled files directly.
|
||||
|
||||
## fish_plugins Manifest
|
||||
|
||||
The `fish_plugins` file at the config root contains only the Fisher manager
|
||||
entry itself:
|
||||
|
||||
jorgebucaran/fisher Plugin manager itself
|
||||
catppuccin/fish Catppuccin Mocha color theme
|
||||
PatrickF1/fzf.fish fzf integration for Fish
|
||||
franciscolourenco/done Desktop notification when long commands finish
|
||||
jorgebucaran/autopair.fish Auto-pair brackets and quotes
|
||||
meaningful-ooo/sponge Remove failed commands from history
|
||||
nickeb96/puffer-fish !! / !$ / ./ expansion
|
||||
|
||||
Run `fisher update` to update all plugins, or `fish-deps update` which
|
||||
calls fisher update as its first step.
|
||||
To update Fisher, run `fisher update` or `fish-deps update` which calls it
|
||||
as its first step.
|
||||
|
||||
---
|
||||
|
||||
@@ -1439,8 +1454,9 @@ This configuration is managed as a git repository. To deploy on a new machine:
|
||||
mv ~/.config/fish ~/.config/fish.bak # back up any existing config
|
||||
git clone https://git.rootiest.dev/rootiest/fish-config.git ~/.config/fish
|
||||
|
||||
Then open a new Fish shell. Fisher and all plugins install automatically on
|
||||
first launch and the Catppuccin Mocha theme is applied.
|
||||
Then open a new Fish shell. Fisher installs automatically on first launch
|
||||
and the Catppuccin Mocha theme is applied. All other plugin functionality is
|
||||
bundled directly with this config and requires no additional installation.
|
||||
|
||||
## Return Sentinel
|
||||
|
||||
|
||||
+6
-2
@@ -116,5 +116,9 @@ Non-standard applications required by this fish shell configuration.
|
||||
|
||||
| Tool | Description | Notes |
|
||||
|------|-------------|-------|
|
||||
| `fisher` | Fish plugin manager | Manages plugins via `fish_plugins` |
|
||||
| `catppuccin/fish` | Catppuccin theme for Fish | Listed in `fish_plugins` |
|
||||
| `fisher` | Fish plugin manager | Bootstrapped automatically on first run; only entry in `fish_plugins` |
|
||||
|
||||
Plugin functionality (Catppuccin theme, FZF bindings, done notifications, autopair, puffer-fish
|
||||
expansions) is bundled directly with this config in `functions/`, `conf.d/`, and `themes/`. These are
|
||||
customized versions — do not install them via `fisher install`, as doing so would overwrite the
|
||||
bundled modifications.
|
||||
|
||||
Reference in New Issue
Block a user