I'm writing this post purely to keep track of what I use and also to see what part of my website I can improve upon.
First, let's talk about how I choose my software:
- I install it and it works
- Prefer free (as in freedom) and open-source software
- Prefer softwares with low memory footprint (RAM usage)
- Prefer GTK over QT, GTK3 over GTK4
- Both terminal and graphical interfaces are fine
- If it is a desktop application, it MUST not use Electron or anything web as its GUI framework.
Second of all, there are a few things you need to know about this list:
- If you can't find a type of software in this list, it's either that I'm using the default Linux utils or I don't have any need for it.
- Entries with
Undecided
means that I'm still on the progress of choosing a good software I'd love to use for that entry. - The list will get updated when I switch to something new.
I'll split the list into 7 main categories partly based on Arch Wiki's "List of applications":
System
- Operating system: NixOS, alternatively Alpine Linux
I switched to NixOS very early this year after having a conversation with d-rens about it and he offered to help me get into Nix. I had been using NixOS for almost 3 weeks now and have come to really like it (blog post soon?). Some features of NixOS I appreciate:
- Declarative system configuration model
- Reproducible system configurations
- Largest package repository in the wild
Previously, I used Alpine Linux for my desktop. I'd say Alpine Linux is pretty good for general usage other than just for servers, though I wouldn't recommend people to daily drive it if they can't offer to risk losing some sanity. I'd go back to Alpine if I need to use something other than NixOS in the future.
- Window manager: labwc
This is the Openbox of Wayland. I use labwc simply because it's compatible to Openbox (same configuration and theme specification), which itself is a mature and feature-complete window manager. The WM has very good documentation (basically inherited from Openbox), very good appearance (titlebar, drop shadow,... out-of-the-box) and the development is well planned. Not fancy, but good at it's job. IMO it's the best compositor Wayland has to offer.
- Desktop environment: XFCE
At this moment, I don't use a DE. But if I had to I'd choose to go with XFCE. Since version 4.20 they added basic support for Wayland, so it's actually a very solid DE now.
A minimal display manager with a terminal interface. It's possible to use a graphical interface but that depends a separate Wayland compositor to actually run so a TUI is good enough.
Documents
Wow, I'm actually stuck with Emacs now. Never had I thought that I'd take my time writing Emacs Lisp in my entire life.
I switched from Neovim to Emacs because I didn't feel too comfortable configuring Neovim and things break and there are too many ways to do the same thing. I actually did spend some time to find a good alternative to Neovim before landing on Emacs because I was too lazy to learn and write Emacs Lisp but I felt like all of them sucks and somewhat not very mature.
- Document converters: pandoc
I finally got pandoc working on my PC for the first time thanks to NixOS.
- Office suite: LibreOffice
It’s a decent piece of software tbh. I don’t really have a need for office suites so I don’t care much.
Calibre is a e-book library management program which can also act like a remote digital library server. It includes a lot of helpful features, such as metadata editing/fetching, book searching, converting,... so on.
Calibre was only made to view e-books (EPUBs), to read in other formats, you will need an external viewer for that. I went with Atril because it doesn’t have scaling issues and it’s lightweight.
- OCR: Undecided
- Dictionary: Undecided
Internet
- VPN client: NetworkManager
Supports a good amount of popular VPN systems, notably OpenVPN.
- Web browser: Floorp
An actually good Firefox fork with good optimization and added features. I'd write a blog post promoting it one day.
- Gemini/FTP client: chawan
A very cool piece of software. It itself is a TUI web browser with support for a lot of web protocols (you can even read man pages with it).
- BitTorrent client: qBittorrent
A standard piece of software. Nothing much to say. Deluge is a good alternative for this but it's Nix package is broken right now.
- Download manager: cURL
A standard piece of software. Nothing much to say.
- Email client: aerc
A pretty good email client for the terminal. There's a talk about this client upcoming in FOSDEM 2025. Stay tuned if you're interested.
- IRC client: senpai
An terminal IRC client with first-class support for bouncers. Mostly used with the soju bouncer.
- XMPP client: gajim
IMO there are no good XMPP clients available for desktop. I just went with gajim because it's the client with the smallest memory footprint (even though it's Python and GTK...) and good feature support.
- Matrix client: Cinny
I use the browser version BTW. There's no good native client for desktops.
- Discord client: Ripcord
There's no good open-source client for desktops.
- RSS reader: newsraft
Newsboat but lighter (pun). Has a somewhat modern interface. I really like the configuration format. Haven't bothered myself to configure this yet.
- Static site generator: Zola
I'd say Zola is easier to use than Hugo. It has a much simpler directory structure, but also has quirky and hard-to-navigate documentation, and some things I can't seem to figure out (static file linking). But overall, its simplicity is everything I need for a SSG.
- Microblogging clients: there's none.
Multimedia
- Image viewer: nsxiv
Renders images fairly fast. Although this is an application made for X11, I don't really want to bother myself looking for an alternative since it does its only job so well.
- Image organizer: digiKam
I need an EXIF metadata editor for my pictures. Haven't use this program much so no comment yet.
- Vector graphics editor: Inkscape
A standard piece of software. Nothing much to say.
A standard piece of software. Nothing much to say.
- Pixel art: aseprite
This is proprietary software. But... it is source-available, and it's free to use if you compile it yourself. So why not?
There is an alternative fork of Aseprite called LibreSprite, but I don't think the development is going anywhere.
- Screenshot: grimshot
Simple Bash script that works.
- Audio tag editor: Picard
Nothing much to say. It's just an audio tagger.
- Volume control: pavucontrol
Nothing much to say.
- Video player: mpv
A standard piece of software. Nothing much to say.
- Video converter: FFmpeg
A standard piece of software. Nothing much to say.
- Music player: Quod Libet
A surprisingly light music player that uses Python and GTK... In my opinion, it has the best interface out of all other music players. Has a lot of good plugins. Overall, I’m happy with this, despite the fact that I had to figure out how to get this working correctly due to broken upstream packages.
-
Audio effect: Undecided
-
Color pickers and palettes: Undecided
Security
-
Password manager: GNU Pass, Vaultwarden
-
Screen locker: Undecided
Utilities
- Command shell: fish
A shell with a lot of built-in features that works out-of-the-box. The drawback is that it's not POSIX complaint.
Haven't bothered myself to learn Fish syntaxes yet.
- Terminal emulator: foot
An underrated lightweight terminal emulator for Wayland. Very efficient and has a daemon.
Thunar when I wanted to use a mouse and yazi to do things quickly.
I chose Thunar over other GUI file managers because Thunar has a feature called "Custom Actions" and a daemon.
Nothing much to say.
- Archiving and compression tools: zip, tar, p7zip
Nothing much to say.
unar can unarchive a lot of archive formats.
- Version control system: Git
A standard piece of software. Nothing much to say.
- Input method: Fcitx5
I don't remember why I chose this over IBus, probably was because of integration issues. I'm certainly not going to question my choice.
Nothing much to say, literally everybody uses these. htop for brief analyzations, btop for more detailed views.
- Terminal pager: less
A 41-year-old piece of software that is still getting new commits somehow.
- Terminal multiplexer: tmux
Oh well.
Other
- Taskbar: waybar
There are no real alternative that for waybar. I'm still waiting for ext-workspace support.
- Application launcher: fuzzel
A lightweight application launcher that does one thing and does it well.
- Wallpaper setter: swaybg
Nothing much to say. It's just a wallpaper setter.
- Desktop notification: mako
TBH there aren't too many differences between desktop notifications servers. I chose mako because it has histories.
- Game launcher: Lutris
Just a nice application to have if I have the time to spend on games someday.
-
Typing tester: Monkeytype
-
Search engine: SearXNG
-
Clipboard manager: Undecided
Other lists
- Arch Wiki's lists of software lists
- suckless.org list of stuff that rocks
- Gentoo Wiki's software categories
- NixOS' packages search engine
- d-rens' list of programs
- xy's Software That I Like
- Luke Smith's list of programs
- digdeeper's Useful Linux softwares