- cross-posted to:
- [email protected]
- cross-posted to:
- [email protected]
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.
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
For me it’s wezterm (for nice tabs and nerdfonts support), starship.rs for some additional info in the prompt and, well, NerdFonts because nothing really works without them anymore. I didn’t have any issues with bash but atuin someone else mentioned looks nice so I will give it a try.
@ExLisper @cm0002 wezterm is a fantastic terminal emulator. bit slow on startup but it’s got everything you need. plus I love the lua config that reloads it on the fly, makes customizing a breeze.
I use that sometimes but I always end up going back to Foot. I’m one of those “minimal, lightweight, fast” nerds and Foot is just solid and quick. Works great with Yazi and images. Use it with Oh My Zsh which I love for the plugins and is a life saver cause I ALWAYS forget commands and hell even forget the IP for my server.
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.
I also use ble.sh and I’m happy about it. Didn’t want to install altshells because sometimes stuff I install includes instructions on what to add to bashrc to make it work, and other times programs might rely on bashrc being used and even put something there automatically, which is ofc a terrible practice, but it happens. Not ever having to translate commands/config from bash to another shell is a big win for me. I mostly use just a simple history-based autocomplete in ble.sh.
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.