List of softwares I use on Linux
Definitely not a shameless promotion for Emacs
Published: 2025-01-23 Updated: 2025-02-15

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:

  1. I install it and it works
  2. Prefer free (as in freedom) and open-source software
  3. Prefer softwares with low memory footprint (RAM usage)
  4. Prefer GTK over QT, GTK3 over GTK4
  5. Both terminal and graphical interfaces are fine
  6. 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:

  1. 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.
  2. Entries with Undecided means that I'm still on the progress of choosing a good software I'd love to use for that entry.
  3. 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":

  1. System
  2. Documents
  3. Internet
  4. Multimedia
  5. Security
  6. Utilities
  7. Other

System

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:

  1. Declarative system configuration model
  2. Reproducible system configurations
  3. 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.

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.

A labwc window with drop shadow and
custom theme

A labwc window with drop shadow and custom theme

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

Go code and shell script on Emacs

Go code and shell script on Emacs

I finally got pandoc working on my PC for the first time thanks to NixOS.

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.

List layout, with sample
books and novels and Fahrenheit 451 opened

List layout, with sample books and novels and Fahrenheit 451 opened

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

Supports a good amount of popular VPN systems, notably OpenVPN.

An actually good Firefox fork with good optimization and added features. I'd write a blog post promoting it one day.

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

The mascot of exozy.me

The mascot of exozy.me

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.

An terminal IRC client with first-class support for bouncers. Mostly used with the soju bouncer.

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.

I use the browser version BTW. There's no good native client for desktops.

There's no good open-source client for desktops.

Not my image

Not my image

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

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.

Not my image

Not my image

I need an EXIF metadata editor for my pictures. Haven't use this program much so no comment yet.

A standard piece of software. Nothing much to say.

A standard piece of software. Nothing much to say.

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.

Simple Bash script that works.

Nothing much to say. It's just an audio tagger.

Nothing much to say.

  • Video player: mpv

A standard piece of software. Nothing much to say.

A standard piece of software. Nothing much to say.

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

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.

  • Unarchiving and decompression tools: unar (LGPL version), p7zip

unar can unarchive a lot of archive formats.

  • Version control system: Git

A standard piece of software. Nothing much to say.

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

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.

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.

Just a nice application to have if I have the time to spend on games someday.

I have nothing LMAO

I have nothing LMAO

Other lists