this post was submitted on 07 Apr 2026
49 points (98.0% liked)

linux4noobs

4064 readers
20 users here now

linux4noobs


Noob Friendly, Expert Enabling

Whether you're a seasoned pro or the noobiest of noobs, you've found the right place for Linux support and information. With a dedication to supporting free and open source software, this community aims to ensure Linux fits your needs and works for you. From troubleshooting to tutorials, practical tips, news and more, all aspects of Linux are warmly welcomed. Join a community of like-minded enthusiasts and professionals driving Linux's ongoing evolution.


Seeking Support?

Community Rules

founded 2 years ago
MODERATORS
 

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 :)

you are viewing a single comment's thread
view the rest of the comments
[–] OUwUO@programming.dev 10 points 1 day ago* (last edited 1 day ago) (4 children)

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.

[–] tal@lemmy.today 2 points 17 hours ago* (last edited 17 hours ago) (1 children)

But bash left a lot to be desired in that regard; its history simply didn’t record everything.

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

Add the following to your ~/.bashrc:

# When the shell exits, append to the history file instead of overwriting it
shopt -s histappend
[–] OUwUO@programming.dev 2 points 15 hours ago

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

[–] HuudaHarkiten@piefed.social 1 points 1 day ago

fish

"Watch out, Netscape Navigator 4.0!"

I'm sold.

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

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?

[–] OUwUO@programming.dev 5 points 1 day ago

As I suppose the other user already went over your main query, I'll instead focus on what might have felt rather innocuous.

my default shell is fish

I subscribe to the school of thought that one should not change their default shell^[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.] 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.

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

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.

[–] rozodru@piefed.world 3 points 1 day ago

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.