What are some programs/tools/packages that you can't live without?
What are some programs/tools/packages that you can't live without?
May I request for the people that answer, don’t just answer with the name of the program, tell us what it does, why you like it, bonus points if you post a link to where to get it as well.
I’m a relatively new Linux user and I’ve been going through threads that ask the same sort of question and 90% of the answers are just “[app name]” and nothing else. I know I could just search it for myself, but be kind and write a few words extra.
zigfetch, but that doesn’t have a Nix logo :/
Just FYI , neofetch is dead/archived, though it still works afaik.
Seems like they’ve made cockpit easier to use on openSUSE.
news.opensuse.org/…/new-launcher-aims-to-simplify…
On Fedora installing and autostarting is as simple as:
sudo dnf install cockpit
sudo systemctl enable --now cockpit.socket
And to allow it through the firewall, if active:
sudo firewall-cmd --add-service=cockpit --permanent
Then it will be available on localhost:9090 (with a certificate warning)
Here are some useful programs I use:
console utilities/programs:
zoxide: memorizes which directories you cd into, so you can later type shorthands for them
procs: modern replacement for the ps command. basically lists your processes
neofetch/fastfetch: displays your system info in a fancy way. 99% Linux users use that
inxi: displays detailed system info but in a less fancy way. people usually attach the output of inxi -Fxz to a forum post where they need help troubleshooting
asciinema: cool program that records your terminal sessions as text files
agg: converts asciinema recordings to gif
yt-dlp: insanely powerful youtube downloader (remember to only download things you are permitted to!)
sl: ragebait when you misspell ls
yazi: fancy file manager with image previews! minimal or no configuration required
cava: audio visualizer. when you press f it cycles colors!
htop/btop: you already mentioned. task managers basically
ncdu: interactively shows disk usage per file
GUI apps:
qalculate: very powerful calculator (has both qt and gtk frontends)
gparted: probably the best gui disk management tool so far
localsend: send files locally over wifi direct
blueman: gui bluetooth manager
freetube: awesome youtube client (NOTE: against youtube terms of use!)
baobab: gui disk usage analyzer
cheese: photo taking app with funny effects
Some recommendations:
baobab -> QDirStatqalculate -> speedcrunchncdu -> gdu (“I am you, but faster”)I prefer lsd to ls or eza/exa (RIP exa).
thanks for suggestions. but a couple of controversial things:
i have no problems with qdirstat or gdu, so i’ll give them a try. i’ll maybe try speedcrunch as well
lsd is written in Rust, which I personally have no problem with but there are people that do
Huh? Do you mean to say it’s non-GPL? Some people have been going around rewriting GPL C/C++ utilities in Rust, but publishing them under non-GPL licenses, and that has been controversial. I don’t think I’ve seen people having a problem with Rust specifically.
Great list! And just to add a bit:
yt-dlp is indeed insanely powerful, and works for way more than just YouTube, for both audio(music) and video. Supported sites
LocalSend is supported on all platforms, and is perfect for situations where you traditionally use a USB to move files.
baobab: gui disk usage analyzer
taking some advantage from this thread, does any of you know a tool like baobab, but for android?
Here’s my list
Corner
Do you mean this ?
fish <command> also works by analogy.
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.

chsh is a small tool that lets you change the default shell for your current user. In order to let any user change their own shell, which is set in /etc/passwd, it needs privileges and is generally setuid root. I am of the opinion that setuid/setgid binaries are a UNIX legacy that should be deprecated. I will explain the security reasons behind that statement in a future post. In this “UNIX legacy” series of posts, I am looking at classic setuid binaries and try to find better, safer alternatives for common use cases. In this post, we will look at alternatives to changing your login shell.
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.
fish
“Watch out, Netscape Navigator 4.0!”
I’m sold.
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:
unix.stackexchange.com/…/preserve-bash-history-in…
Add the following to your ~/.bashrc:
# When the shell exits, append to the history file instead of overwriting it shopt -s histappendThank 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’ll list a few of my regularly-used tools, both CLI and GUI.
CLI:
ncdu: An interactive TUI variant of du, for tracing disk usage across targeted directories.podman: An alternative runtime to Docker that is arguably just better at this point. Can handle rootless containers with ease, works with SELinux, can handle Docker compose files with add-on tool podman-compose, can automatically update containers intelligently, can integrate well with SystemD, and more.mtr: Another network tool. Effectively traces network routes to a given IP. Great for diagnosing faults in latency or major packet loss.ffmpeg: A very complicated, but powerful tool for converting, manipulating video and audio files in all sorts of ways. FFMpeg can essentially be the answer to any ‘do X to Y file’ question.GUI:
KeepassXC: My password manager of choice. Has browser autofill integration, though requires some holepunch work to function with Flatpak browsers. Explicitly is based on local files. Does not rely on cloud providers.
I use Proton Pass and Bitwarden. How do you backup your KeePass database? Do you sync it with mobile?
It’s probably not a case for everyone due to the obvious limitations, but I primarily use KeepassXC from my main workstation. I have backup scripts that periodically run for my user on said workstation that capture my Keepass database among other user files and backup to external storage, cloud storage as dictated.
For my laptops, mobile devices; I periodically push the database from either the main workstation or pull from a backup to these devices. I do not write new entries from these devices in order to avoid having to handle writeback to the main instance of my Keepass db. This can be done, but inherently starts to hinge on needing network access all the time to ensure an up-to-date copy of the DB is present as well as being explicitly a single-user db to prevent a syncing protocol from accidentally writing over new entries from any given device. Obviously, if network sync and the potential for multi-user is important to you, continue using Bitwarden. It is a perfectly fine solution.
I use it also.
I syncthing the database between phone, tablet, desktop, laptop, and home server.
Has worked beautifully for years now. Seamless.
Fuzzy search the output from any command. The most commonly used for me is the ctrl + r hotkey for fuzzy searching in my bash history. But I have multiple scripts and aliases that utilize it.
Some applications I’ve not seen yet:
Terminal
ntorga.com/gzip-bzip2-xz-zstd-7z-brotli-or-lz4/
lz4 - fastest compression/decompression (several GB/s); compression is good, but not amazing; very little CPU usagezstd - very fast compression, fast decompression (few GB/s compression; ~600MB/s for decompression; better or equal compression compared to zip, depending on level)cloc <folder> - gets lines of code for a project/foldergdu <optional location> - like ncdu, but faster (written in go) - think TreeSize/WinDirStat for the terminalstat <file> - built-in application to show the modified, created, etc stats for a file.hyperfine - benchmark for binaries - run this in front of a command to have it run multiple times, and show some statistics.jpegli - great to recompress JPEG files into smaller filesizes, with only very few/minor visual effects.just - used with a Justfile in a project so I can run just to see the commands, or run just test, just clean, just … to run project-specific commands.msedit - ye olde edit.com, reborn! Feels a little bit cursed to use an MS text editor on the terminal, but it’s better for beginners than nano or micro or whatever.oxipng - lossless png compressionpngquant - lossy png compression (it forces the file to use a palette of n colors, which reduces the colors used, so it will affect your files, unlike oxipng.upx - compress binary filesvisidata - analyses csv files, and shows some stats. Like Data Wrangler for the terminaloxfmt - think “oxidized prettier” (file formatter for programmers)GUIs
Whatpulse - I’ve been tracking my keypresses since 2005. not a terminal application, unlike the rest.fsearch - Linux alternative to Everything by Voidtools. It will be a little bit different, but it does the job. mlocate package, with the sudo updatedb and locate commands, if you prefer the terminalkeepassxc - password managerspeedcrunch - best GUI calculator, IMO. Just a bar for input, and a bunch of stored results above it. Use the ans variable to use the previous answer in the current calculation, like ans*2 to multiply the previous answer. Or use variables, like x=5, y=2, x+y: 7.
Not long ago, I found myself pondering over the choice of a compression tool for backups in Infinite Ez, our self-hosted container platform that transforms a single server into a fully-fledged PaaS. Ordinarily, gzip would be the obvious choice, but I began to question whether…
upx - compress binary files
Just to be clear, the parent poster means “binary as in executable binaries”, rather than “binary as in non-text”.
mlocate
This was replaced by plocate some time back in Debian, which IIRC was generally faster. Some distros used a compatibility package for some time; you may actually have plocate installed yourself.
IDE:
DOOM Emacs. It’s my IDE, my email client, sometimes my terminal, my calendar, my regular word editor, it’s just everything I need.
NVChad. It’s Neovim but with all the smart plugins as default. I prefer it over lazyvim as it just has everything I need good to go.
CLI/TUIs:
If you like watching anime than Ani-CLI is the best thing out there. has everything and you can watch whatever you want in the terminal.
Bat. It’s like Cat but better.
lazygit. really great git interface that makes things easy.
cmus. easiliy the best TUI music player
yazi. my go to file manager. has everything I need, easy to theme and customize.
osxiv. straight forward image viewer
Browser:
Qutebrowser. I like using vim navigation for everything so Qutebrowser is my browser of choice. very easy to customize and configure with custom scripts. works fantastic with various password managers.
DOOM Emacs
NVChad
You might be the first person I’ve found on Lemmy that actively uses both DOOM Emacs and a Neovim distribution. Could you perhaps do a deeper dive on your work flow? Thanks in advance!
Sure. I use NVChad for web development/simple HTML since it’s preconfigured perfectly for that stuff right out of the box. for example hex color codes it shows a visual representation of the colour which is awesome when using tailwind or just regular css. It’s simple to set up right away so I can easily install it quickly on any machine and be good to go.
DOOM Emacs I use for larger projects/builds, compiling stuff, working with configurations (I primarily use NixOS) as I find it works better with that stuff. having a built in terminal is also very nice as well as a built in email client and the built in file manager makes managing projects much easier combined with the added built in git. Also with DOOM Emacs if I create a new file for something it will have stuff preconfigured, kinda like a bootstrap, for various things.
For audio work, I use 4 programs: LMMS, yt-dlp, demucs, and audacity
My workflow usually goes yt-dlp to download audio/samples, then either audacity and demucs. Audacity I use for splicing the clips I need, and if its necessary, I use demucs to split stems either on the full song before splicing clips with audacity or splitting stems after getting the clips I want. I then use LMMS to sample and layer drums and other samples usually.
Those are the ones that came to my mind
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.
btop
[email protected] is basically this for terminal programs like btop.