Configuration files for the fish shell.
- plugins managed via fisher
- pure prompt
- right prompt hacked with
inspirations
by 🦸♂️ reitzig/theme-dmorrell- thinking to try jorgebucaran/hydro, apparently (and astonishingly) simpler than pure
- right prompt hacked with
- kitty terminal emulator
- screenshot theme: maxdevjs/dotfiles-kitty/themes/rose-pine.conf
- my configuration files for it
la
aliased to exa-al
When using yadm, add this repo as submodule
. The general recipe is:
NOTE: this specific command
MUST
be issued in$HOME
~ $ yadm submodule add <url> path
~ $ yadm submodule update --init --recursive
In this specific case:
~ $ yadm submodule add https://github.com/maxdevjs/dotfiles-fish .config/fish
~ $ yadm submodule update --init --recursive
This repo is currently added as submodule to my dotfiles via yadm.
fish plugins are managed via fisher.
I encountered a few
issues trying to bootstrap fisher 🦹♂️ after adding this submodule:
~ $ yadm submodule add https://github.com/maxdevjs/dotfiles-fish .config/fish
Everything did 💥 putting the Multiverse in 🔥.
Theoretically I'd use fisher's shiny ~/.config/fish/fish_plugins
file to install every needed plugin. In my case it looks something like:
jorgebucaran/fisher
rafaelrinaldi/pure
jethrokuan/z
acomagu/fish-async-prompt
jorgebucaran/spark.fish
joseluisq/gitnow
jorgebucaran/autopair.fish
gazorby/fish-abbreviation-tips
Unfortunately, on its own install fisher removes any previous track of ~/.config/fish/fish_plugins
.
Troubleshooting
If needed, get rid of the submodule 🤕
- delete the relevant section from the
~/.gitmodules
file:
[submodule ".config/fish"]
path = .config/fish
url = https://github.com/maxdevjs/dotfiles-fish
- stage the .gitmodules changes
~ $ git add .gitmodules
- delete the relevant section from
~/.local/share/yadm/repo.git/config
[submodule ".config/fish"]
url = https://github.com/maxdevjs/dotfiles-fish
active = true
-
yadm rm --cached ~/.config/fish
(no trailing slash) -
rm -rf ~/.local/share/yadm/repo.git/modules/.config/fish
(no trailing slash) -
yadm commit -m "Remove fish submodule"
-
delete the now untracked submodule files
rm -rf ~/.config/fish
🥳🎉😺🍺😋
Current workaround 🩹
Hooks
NOTE: this must be set in
~/.local/share/yadm/repo.git/modules/.config/fish/hooks/
I use Git Hooks (8.3 Customizing Git - Git Hooks / githooks - Hooks used by Git), specifically the pre-commit, to:
- backup a copy of
~/.config/fish/fish_plugins
to~/.config/fish/fish_plugins_BACKUP
git add ~/.config/fish/fish_plugins_BACKUP
- I went through the fisher.fish function code
- did not seem trivial to change its behaviour on fisher installation
Start from fisher update returns conflicting files errors and removes fish_plugins file #670