Install fish
chsh -s /usr/bin/fish
That’s all, folks.
I also install starship.
And maybe a Nerd Font
I do use a nerd font also.
I thought it’d have better git prompt out of the box. I guess I have to try it configure.
Default preset or did you try a preset it has different presets on the website.
I just installed it as it is out of the box. What do you suggest for improving git prompt?
Try out the different presets the git prompts may be better.
🫡
I thought you weren’t supposed to use Fish as your login shell directly since it isn’t fully POSIX compatible
Why would your login shell need to be fully POSIX compatible?
They warn about it on their home page, so I assumed using it could bust your system. My bad.
I think they also had harsher wording about this in the past but I might be misremembering…This was more of a problem when they didn’t support basic POSIX-isms so even basic calls to
sh
likesh -c 'echo "foo" && echo "bar"'
would fail. Less of a problem now but you never know when a random script is going to rely on some obscure POSIX flagScripts who use
are independent of your login shell.
What does any of that have to do with your login shell?
Recently tried it and do like
I will die on the hill of bash + atuin & ble.sh being absolute peak.
Atuin is a shell-history tool that stores detailed shell history in Sqlite, and provides a TUI + fuzzy search to query it efficiently. Optional and self-hostable cross-machine sync is available too, with E2E encryption.
Ble.sh is a bash-enhancement suite that provides autocomplete, syntax highlighting, multi-line editing, etc.
You can test them both out in under 5 minutes, and uninstall them just as easily if they aren’t your cuppa. Singular warning: install ble.sh before atuin, since atuin will use a different, buggier pre-exec dependency if ble.sh is not present.
E:
ble.sh
is getting automatically converted into a link in my comment , and I’m not sure how to stop that w/o side effects. But the correct URLs are https://github.com/akinomyoga/ble.sh & https://atuin.sh/.Atuin has been such a life saver. I never learned/used whatever mechanism bash had for looking up history… (ctrl+s maybe?) And the history command always seemed to miss things.
Zsh is still king in my book. Fish and Bash don’t have the language features, and Zsh completion with menu groups is a premier experience. Fish’s completion from manpages is very good, but there’s also a standard zsh function to complete from
--help
output.If I were to switch shells, it would have to be to nushell.
I’ve enjoyed kitty + zsh + oh-my-zsh with a nice long list of plugins that I quite enjoy for a while. It’s rock solid and very easy to configure/migrate to new machines. That plus zen-full tmux and lazyvim with its own set of customizations and plugins has been a complete modern mouse friendly env for both local and remote for me for years.
Fish is really great too. It gets you a modern shell with a lot of sensible features and defaults out of the box. I feel like it is a bit harder to customize and make your own. That is of course my opinion.