Mastodon
List of softwares I use on Linux - version 2
A remake of the list after having more fun with NixOS
Published: 2025-05-01
Updated: 2025-09-29

{{< b-banner notice >}} Update 29/09/2025:

- Dropped nh, Floorp, swww, Cinny, Gajim, senpai, newsraft, neomutt

- Added LibreWolf, Fractal, Dino, KVIrc, FreshRSS, RSS Guard, aerc, swaybg, gtklock {{</ b-banner >}}

I made a separate post for this list because since the day I wrote the previous list, I switched up a lot of softwares and I personally think that the previous post was “too bad to be fixed”.

In this list, I’ll try to provide more concise comments on why I use it and images for each entries and provide updates properly, if any.

One difference between this list and the old one is that I don’t prioritize GTK apps over Qt apps anymore since I got the Qt theming working.

You can still see the old list here for reference: {{< cross-ref path=”/posts/software-i-use” >}}

LabWC

LabWC is the improved version of Openbox for Wayland. I have fallen in love with it ever since the day I discovered it on Alpine Wiki.

Just like Openbox, it is a stacking window manager, with almost all features inherited from the original project. It provides a very unique look compared to other window managers in the Linux ricing scene with titlebars, window/workspace switcher, right-click menus, etc. For cosmetics, it doesn’t have animations or blur; it only have window transparency, which is very appealing to people with simple tastes like me.

{{< image src=”labwc.png” title=”Windows and the switcher” >}}

It has very active development on GitHub, and a lot of planned features on the table. Serves me well and satisfies my customizing needs, a very solid option for Wayland users indeed.

Internet

LibreWolf

LibreWolf is perhaps one of the most well-known Firefox derivative on the market at this moment. It is a rather simple fork: only removing some unnecessary and privacy-intrusive components of the browser and changing some default values. With the help of user.js configurations, its performance and usability could keep up with other forks marketed as having great performance.

The switch from Floorp was made due to packaging issues on GNU Guix. I’m pretty happy with the switch and LibreWolf probably will be the only Firefox fork that I will be using.

{{< image src=”librewolf.png” title=”Librewolf with my custom new tab” >}}

Fractal

Fractal is a GNOME/GTK4 application for the Matrix instant messaging platform. Out of all native clients available for Linux desktops, this one in my opinion is the most polished and complete. It fits very well with my system theme as well.

{{< image src=”fractal.png” title=”Fractal” >}}

Dino

Dino is a simple GTK program for the XMPP chat protocol. Gajim breaks too often so I had to switch. Dino is missing some critical features though, like chat moderating, but it’s great for messaging otherwise.

{{< image src=”https://dino.im/img/screenshot2-small.png” title=”Dino (not my image)” >}}

KVIrc

KVIrc is a Qt application for the IRC protocol. It is a great alternative to Hexchat for people who are seeking for a featureful GUI client. Works fine with bouncers.

{{< image src=”kvirc.png” title=”KVIrc” >}}

FreshRSS

FreshRSS is a featureful and self-hostable RSS/news/feed aggrerator. It allows users to manage and organize feeds efficiently and supports multiple API schemes -> RSS readers. There are a lot public instances available to use, allowing people to easily have their subscriptions accessible everywhere.

{{< image src=”frss.png” title=”FreshRSS interface” >}}

RSS Guard

RSS Guard is a powerful Qt news aggrerator that supports fetching feeds locally and from remote aggrerators. A great application to integrate FreshRSS into your desktop. Would be very awesome if it has a “reader mode”.

{{< image src=”rssguard.png” title=”RSS Guard interface” >}}

aerc

aerc is a text-based e-mail client. Compared to neomutt, it’s simpler to use and configure. I use it with mbsync.

qBittorrent

This is one of the most popular open-source BitTorrent client out there. It is good at what it does, has everything you need to torrent. There are also many other popular options as well, like Deluge and rtorrent. But in my experience, qBittorrent is the easiest one to use and also the one that doesn’t crash when I use it.

{{< image src=”qbittorrent.png” title=”qBittorrent’s interface” >}}

Nicotine+

This is a client for the Soulseek P2P network. The network is mostly for sharing music, but you can exchange all kind of files on this network. Music is what I’m here for, very helpful if I decided not to fetch something from private trackers.

{{< image src=”nicotine.png” title=”Nicotine+’s interface” >}}

dnscrypt-proxy2

DNSCrypt claims to be a protocol that encrypts, authenticates and optionally anonymizes communications between a DNS client and a DNS resolver.

I purposefully use this software to avoid DNS leaks.

{{< image src=”dnscrypt.png” title=”Output of the dnscrypt-proxy2 service” >}}

Documents

Emacs

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.

{{< image src=”emacs.png” title=”Text + Emacs” >}}

Atril

Atril is a PDF viewer developed for the MATE desktop environment. I personally use it because somebody told me it has no scaling issues. It is also very light.

{{< image src=”atril.png” title=”I don’t remember fetching this…” >}}

crqt-ng

crqt-ng is an e-book reader and a fork of coolreader. I use it simply because it wasn’t packaged on NixOS yet (I have, BTW!).

{{< image src=”crqt.png” title=”I need a good serif font…” >}}

Other options include: Calibre (good for management, not very well as a reader), Foliate (ugly GNOME looks)

GoldenDict-ng

GoldenDict-ng is a dictionary program and a modern fork of GoldenDict. Supports a ton of dictionary formats. You can read the whole Wikipedia on it if you want!

I personally use GoldenDict-ng as a Japanese digital dictionary and a sentence parser with Hakurei.

{{< image src=”goldendict.png” title=”GoldenDict-ng in action” >}}

There are also qolibri but it can only read EPWING dictionaries - the files from old electronic dictionary devices.

Multimedia

swaybg

swaybg is a boring wallpaper setter. Depending on gdk-pixbuf allows it to support a variety of image formats, including JPEG XL. With some shell scripts and you can forget other wallpaper setters.

swayimg

swayimg is a simple but powerful image viewer for Wayland.

{{< image src=”swayimg.png” title=”Gallery view with Miku stickers” >}}

Other options include: nsxiv

Aseprite

Aseprite is a source-available software for creating pixel artworks. There is a GPLv2 fork of Aseprite named LibreSprite, unfortunately I don’t use it due to slow development.

{{< image src=”aseprite.png” title=”Aseprite with my cursor” >}}

mpv

mpv is a simple but powerful video and audio player. It beats VLC and other video players on all aspects.

I believe all hardcore Linux users are already familiar with this software.

{{< image src=”mpv.png” title=”Watching a Twitch stream with MPV” >}}

Cantata

Cantata is a MPD client for playing music. It is the most complete MPD client available for Linux desktops in my opinion. Unfortunately, development for Cantata has ceased 4 years ago, but it is still very usable and stable despite that. I might consider forking it to implement some fun features :)

{{< image src=”cantata.png” title=”Cantata’s interface” >}}

EasyEffects

EasyEffects provides audio effects for PipeWire audio streams. It is extremely powerful and lightweight, allowing you to apply various types of effects and uses only a tiny fraction of your system’s resources on headless mode (a consistent 25MB in RAM usage).

I use it with the “Perfect” EQ settings.

{{< image src=”easyeffects.png” title=”EasyEffects’s interface” >}}

Utilities

fish

fish is a shell. Powerful and works out-of-the-box. I don’t write Fish scripts though.

yazi

yazi is a terminal file manager. Also considerably more powerful than other terminal file managers (lf, nnn, …). Very helpful for quick file operations.

{{< image src=”yazi.png” title=”EasyEffects’s interface” >}}

syncthing

Software for file synchronization. Directly transfer files between devices on the same network without using any third-party hosts. Absolutely clears KDE Connect.

{{< image src=”syncthing.png” title=”syncthing’s interface” >}}

unar

unar is a free software version of The Unarchiver. Seems like it’s the only unarchiver that can extract multiple archive formats properly (without encoding issues). Extremely powerful.

Fcitx5

Fcitx5 is a framework for input method engines. I use it to type Vietnamese (with bamboo) and Japanese (with anthy).

KeePassXC

KeePassXC is a local password manager and a modern fork of KeePass. I opted for this instead of BitWarden and GNU Pass as it is more convienient, easier to sync and I have more control over my credentials.

{{< image src=”keepassxc.png” title=”KeePassXC’s interface” >}}

Desktop

gtklock

gtklock is a simple GTK-based screen locker. Supports loading custom modules to provide more functionality and is surprisingly configurable.

{{< image src=”https://mei.kuudere.pw/fQvEgnFszyG.png” title=”gtklock” >}}

foot is a fast, lightweight and underrated Wayland terminal emulator. Does its job well and never sacrifies performance.

{{< image src=”foot.png” title=”foot with Fish prompt” >}}

waybar

waybar is a… Wayland bar. Inspired by polybar, it is the most mature standalone bar for Wayland environments, though development isn’t moving very fast (but you can always patch stuff anyway!).

{{< image src=”waybar.png” title=”A bar with lots of components” >}}

fuzzel

fuzzel is a simple application launcher by the creator of foot.

{{< image src=”fuzzel.png” title=”fuzzel’s interface” >}}

mako

mako is a simple notification daemon for Wayland. Still needs some improvements though.

{{< image src=”mako.png” title=”A new track” >}}

Dropped software

nh

Not so long ago, I complained about my extremely bloated /nix/store and tried to find a way to deflate it. Unfortunately, despite receiving some advices from exozyme’s Matrix room and the Internet, I was still unable to resolve my issues, that is old/orphan stores that will not be removed somehow.

{{< cross-ref path=”/posts/nix-store-stuff” >}}

Just yesterday, I was scrolling through the Home Manager’s option list and discovered nh. It is a set of utility that reimplements several Nix commands - including the “garbage cleaning” commands.

After quickly installing it with nix-env, I ran doas nh clean all, and…

{{< image src=”https://s3-mstdn.maud.io/media_attachments/files/114/431/663/939/898/921/original/e95a3e3edad6618b.jpeg” title=”yikes” >}}

Wow. It got rid of the LibreOffice binaries that has been sitting in my system for so long. Everything that did not belong to the generation got absolutely wiped. After organizing my packages, I ended up freeing around 40GB with this tool. I highly recommend this tool for NixOS users out there :)

Floorp

Floorp is a Firefox fork developed by a group of Japanese students. Compared to vanilla Firefox, Floorp allows more choice in UI customization and is more optimized than Firefox in performance and memory usage (in my opinion).

{{< image src=”floorp.png” title=”Floorp with a custom new tab” >}}

swww

swww is a wallpaper daemon for Wayland. I use this just to rotate through my wallpaper folder.

Cinny

Cinny is a web-based client for Matrix, the instant messaging platform. It has a modern and sleek UI, and also has a lot of features.

{{< image src=”cinny.png” title=”Dark theme Cinny” >}}

I also use Neochat, which is a native client for Linux desktops developed by KDE, but unfortunately it is buggy on my machine, so I preferred not to use it.

Gajim

Gajim is a XMPP client developed using GTK and Python. Despite its tech stack, it’s the lightest and most stable XMPP clients available for Linux desktops, which is sad considering how old the protocol is.

{{< image src=”gajim.png” title=”Gajim’s interface” >}}

senpai

senpai is a terminal-based IRC client. It supports IRCv3 features natively and integrates well with IRC bouncers (soju in particular).

{{< image src=”senpai.png” title=”senpai’s interface” >}}

newsraft

newsraft is a lighter alternative of newsboat - a text-based RSS reader. Though with lesser LOCs, by no means it is any less featureful than newsboat. newsraft allows you a lot of ways to organize your feeds and the reader have a decently modern look on its own.

{{< image src=”newsraft.png” title=”Newsraft with an article opened” >}}

neomutt

neomutt is text-based e-mail client and a modern fork of mutt. I use it with mbsync.

{{< image src=”neomutt.png” title=”neomutt with a plain text mail opened” >}}

There are a lot of good options for a mail client for the Linux desktop, like Claws Mail, but I think neomutt is better because of NixOS.


Tags:  (none)