Disclaimer: I tried searching for something like “useful programs”, “useful packages”, “useful tools”, “recommended packages”, etc. Don’t see any posts like that, if this is a duplicate, then it’s not intentional and my search skills have failed me.
Anyway, I was watching a YT video today and the guy launched a cool program in his terminal, I paused to see what he was running. It was btop, of course being new I never heard about it. Then I thought – how many cool tools/packages are there, which people use, but I am not aware of?
So what do you like? What do you install on a fresh install? What are the most useful tools in your belt? What can’t you live without on Linux?
Perhaps I’ll find something useful :)


fish - Ever since I’ve made the switch to Linux, the terminal has been part of the experience. And, honestly, I wouldn’t want it any other way. Besides its efficiency, I also very much enjoy how it automatically keeps track of everything I do within. I don’t get that functionality whenever I do something within a GUI. But bash left a lot to be desired in that regard; its history simply didn’t record everything. It was also pretty bare-bones; no syntax highlighting, no auto suggestions etc. Thus, after trying to bend bash (and later zsh) to my will and ultimately being dissatisfied with the janky mess I was left with, I finally gave in to at least give fish a honest try. The rest is history. Heck, fish is the very first thing I install on a machine.
Bash doesn’t merge history from multiple bash instances into your ~/.bash_history by default. If you want that to persist:
https://unix.stackexchange.com/questions/1288/preserve-bash-history-in-multiple-terminal-windows
Thank you for that! IIRC, it was one of the settings I took from bash-sensible. I can say that it definitely improved after just a couple of changes to
~/.bashrc. Add in ble.sh and it suddenly seemed somewhat modern instead of archaic.Unfortunately, I don’t remember exactly what broke the camel’s back. However, FWIW, contrary to how I recall my experiences with bash and zsh, I don’t feel any frustration while using using fish. So it’s definitely doing something for me 😉.
I saw fish recommended for new users in openSUSE’s documentation. I want to try that. There is a way to switch to Bash for a particular script, right? I know that file-based scripts have the shebang line, so that’s a non-issue, but what if I have a Bash command I copied from the Internet and my default shell is fish?
As I suppose the other user already went over your main query, I’ll instead focus on what might have felt rather innocuous.
I subscribe to the school of thought that one should not change their default shell[1] through invoking
chsh(or whatever other method that applies changes to/etc/passwd). This article does an excellent job at laying down the reasoning (and the recommended alternative). FWIW, the alternative’s day-to-day experience provides all of the pros without any of the cons.I suppose it could be fine~ish as long as it’s POSIX compliant AND compatible with bash. Which, unfortunately, fish happens to be neither of the two. ↩︎
Just prepend the command with “bash”. If the script changes environment variables and you need that to happen in your fish environment there is https://github.com/edc/bass
Thanks. So I guess if Bash is my default shell then
fish <command>also works by analogy.yeah Fish along with DOOM Emacs are the first two things I install on my machine.
I used to use zsh with oh my zsh and various plugins and it would totally slow down my nixos system so then I decided to give fish a try and surprise surprise it had all the stuff I had to add on to zsh already baked in.
easily the best shell out there.
“Watch out, Netscape Navigator 4.0!”
I’m sold.