this post was submitted on 10 Aug 2025
46 points (89.7% liked)

Linux

8878 readers
952 users here now

A community for everything relating to the GNU/Linux operating system (except the memes!)

Also, check out:

Original icon base courtesy of lewing@isc.tamu.edu and The GIMP

founded 2 years ago
MODERATORS
top 23 comments
sorted by: hot top controversial new old
[–] gamma@programming.dev 3 points 22 hours ago* (last edited 22 hours ago)

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.

[–] maxwells_daemon@lemmy.world 27 points 1 day ago* (last edited 1 day ago) (3 children)

Install fish

chsh -s /usr/bin/fish

That's all, folks.

[–] artiman@piefed.social 14 points 1 day ago (2 children)
[–] UnfortunateShort@lemmy.world 9 points 1 day ago* (last edited 1 day ago) (1 children)
[–] artiman@piefed.social 1 points 1 day ago* (last edited 1 day ago)

I do use a nerd font also.

[–] Mihies@programming.dev 3 points 1 day ago (1 children)

I thought it'd have better git prompt out of the box. I guess I have to try it configure.

[–] artiman@piefed.social 3 points 1 day ago* (last edited 1 day ago) (1 children)

Default preset or did you try a preset it has different presets on the website.

[–] Mihies@programming.dev 1 points 1 day ago (1 children)

I just installed it as it is out of the box. What do you suggest for improving git prompt?

[–] artiman@piefed.social 2 points 1 day ago (1 children)

Try out the different presets the git prompts may be better.

[–] LiveLM@lemmy.zip 2 points 1 day ago (1 children)

I thought you weren't supposed to use Fish as your login shell directly since it isn't fully POSIX compatible

[–] darklamer@lemmy.dbzer0.com 4 points 1 day ago (2 children)

Why would your login shell need to be fully POSIX compatible?

[–] LiveLM@lemmy.zip 1 points 16 hours ago

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...

[–] furikuri@programming.dev 2 points 1 day ago (2 children)

This was more of a problem when they didn't support basic POSIX-isms so even basic calls to sh like sh -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 flag

[–] xav@programming.dev 2 points 1 day ago

Scripts who use #!/bin/sh are independent of your login shell.

[–] darklamer@lemmy.dbzer0.com 1 points 23 hours ago

What does any of that have to do with your login shell?

[–] InternetCitizen2@lemmy.world 2 points 1 day ago

Recently tried it and do like

[–] dgdft@lemmy.world 15 points 1 day ago* (last edited 1 day ago) (2 children)

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/.

[–] rutrum@programming.dev 3 points 1 day ago

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.

[–] hisao@ani.social 7 points 1 day ago

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.

[–] ExLisper@lemmy.curiana.net 1 points 1 day ago (1 children)

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.

[–] rozodru@social.vivaldi.net 1 points 1 day ago

@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.

[–] Fuzzypyro@lemmy.world 7 points 1 day ago

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.