About
Suckless.org is a community dedicated to creating simple, clean, and efficient software that adheres to the UNIX philosophy of doing one thing and doing it well. We believe in minimal dependencies, small codebases, and a focus on user control. Our software is Free and Open Source (FOSS).
Style
We follow the Suckless philosophy, which promotes simplicity, efficiency, and user control. This means small codebases, minimal dependencies, and a focus on doing one thing well.
Community
Join our vibrant community! We have forums, mailing lists, and IRC channels where you can discuss our projects, ask questions, and contribute to the Suckless philosophy.
Conferences
This section is under construction. Check back soon!
Donations
Your donations help us keep the lights on and support the development of our projects. Every bit helps!
FAQ
Frequently Asked Questions...
What is Suckless?
Suckless is a philosophy and a community dedicated to creating minimalist software. It's about simplicity, efficiency, and user control.
How can I contribute?
You can contribute by writing code, testing software, reporting bugs, or helping to improve documentation.
Hacking
Get your hands dirty! Learn how to contribute to Suckless projects and embrace the hacker spirit.
Other Projects
Explore other projects within the Suckless ecosystem and beyond.
People
Meet the developers and contributors who make Suckless.org a reality.
Philosophy
Our guiding principles...
- Simplicity
- Efficiency
- User Control
Project Ideas
Need inspiration? Check out these project ideas.
Sucks
Things that suck...
- Bloatware
- Complexity
- Lack of User Control
Wiki
Access our wiki for detailed information and documentation.
Stuff That Rocks
Awesome FOSS software!
This is a list of software which are aligned with the suckless philosophy:
Libraries
This section is for small, usable development libraries, which can be used for writing software that sucks less. These should preferably be under the MIT/X consortium or BSD licenses, WTFPL, or public domain, or alternatively LGPL, because it makes them legally compatible with other suckless projects.
Library |
Description |
License |
musl |
standard C library that attempts to be even smaller than uClibc. See also: embedded libc comparison |
|
uClibc |
strives to be a minimalist C library suitable for embedded computing. |
|
Software
The software listed below follows the suckless philosophy.
Libc Implementations
Library |
Description |
License |
musl |
standard C library that attempts to be even smaller than uClibc. See also: embedded libc comparison |
|
uClibc |
strives to be a minimalist C library suitable for embedded computing. |
|
Compilers
Compiler |
Description |
License |
cproc |
frontend for C11 for QBE. |
|
lacc |
A simple, self-hosting C compiler. |
|
qbe |
compiler backend targeting AMD64 (Linux and OSX), ARM64, and RISC-V64. |
|
scc |
Simple C Compiler. |
|
tcc |
Tiny C Compiler |
|
Compression
Library |
Description |
License |
liblzf |
very fast, legally unencumbered compression library. |
|
libz |
ABI and API compatible zlib fork with focus on correctness, proper portability, auditability, simplification and opportunities to optimize (zlib license). |
|
Lzip |
Properly designed data compressor outperforming gzip and bzip2 (GPLv2+). |
|
miniz |
single C-file reimplementation of zlib (MIT License). |
|
xz embedded |
lightweight decompressor for the xz LZMA compressor (public domain). |
|
zlib |
the "standard" compression/decompression library, quite small, used in many applications (zlib license). |
|
GUI
Library |
Description |
License |
Nuklear |
A single-header ANSI C immediate mode cross-platform GUI library. |
|
Cryptography
Library |
Description |
License |
LibreSSL |
LibreSSL is a version of the TLS/crypto stack forked from OpenSSL in 2014. |
|
Monocypher |
Small and freestanding cryptographic library with relatively good performance written in C99. |
|
Miscellaneous
Tool |
Description |
License |
baresip |
barebone SIP stack (BSD licence). |
|
ccv |
C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library. |
|
libev |
high performance event-loop modelled after libevent but much smaller (dual licensed under 2-clause BSD and GPL). |
|
mandoc |
The mandoc UNIX manpage compiler toolset. |
|
nhkd |
nano hot key daemon. |
|
pjsip |
open-source SIP stack (GPL). |
|
raycastlib |
Single-header public domain C raycasting renderer with no dependencies, using only integer math. |
|
sdhcp |
IPv4 DHCP client. |
|
small3dlib |
Single-header public domain C software 3D renderer with no dependencies, using only integer math. |
|
stb |
single-file public domain (or MIT licensed) libraries for C/C++: various image, font, audio loaders etc. |
|
sxhkd |
Simple X hotkey daemon |
|
termbox |
simple ncurses-like library for creating TUIs. |
|
TinyGL |
free software-only subset of OpenGL 1.1 implemented in C |
|
Distros
Tool |
Description |
License |
morpheus |
A statically linked musl-based Linux distro. Unmaintained currently. |
|
oasis |
A small statically linked Linux system. |
|
sxmo |
simple X Mobile, Sxmo is a minimalist environment for Linux mobile devices, such as the pinephone. |
|
Programs
Some programs work well with dwm. Some general rule of thumb for judging if a program is usable are:
The program will accept any window size.
The program consists of a single window (there are no nested windows, such as in Xpdf).
This covers most console-based programs and programs from plan9port.
Audio Players
Program |
Description |
License |
C* Music Player |
aka cmus, an ncurses music player that can be controlled with a UNIX socket. |
|
moc |
console audio player for Linux/UNIX. |
|
mpd |
A client/server based music player with console and graphical front-ends. |
|
mpg123 |
A console MPG player which doesn't use auto*hell or extra libraries. |
|
mpg321 |
A command-line MP3 player. |
|
mus |
Modular daemon/client CLI player consuming a plaintext album directory queue |
|
vorbis-tools(Ogg/FLAC) |
Command-line tools to play Ogg and FLAC files. |
|
BitTorrent clients
Program |
Description |
License |
btpd |
The BitTorrent Protocol Daemon. |
|
Feed aggregators / newsreaders
Program |
Description |
License |
newsraft |
feed reader with ncurses user interface. |
|
sfeed |
RSS and Atom parser, CLI programs and sfeed_curses UI. |
|
snownews |
Text mode RSS newsreader for Linux and Unix. |
|
zs |
Zeitungsschau RSS to email converter. |
|
File managers
Program |
Description |
License |
lf |
ranger-like file manager written in Go. |
|
mc |
Midnight Commander is a free cross-platform orthodox file manager. |
|
nnn |
Nnn's Not Noice, a fork of noice with more features. |
|
noice |
Small and portable file browser. |
|
ranger |
ranger is a file manager with vi key bindings written in python but with an interface that rocks. |
|
rover |
Simple file browser for the terminal. |
|
sff |
Simple and fast terminal file manager inspired by nnn. |
|
sfm |
sfm is a simple file manager for unix-like systems. |
|
Git
Program |
Description |
License |
stagit |
static git page generator (HTML). |
|
stagit-gopher |
static git page generator for gopher (geomyidae .gph pages). |
|
stagit-gemini |
static git page generator for gemini (gemtext .gmi pages). |
|
Gopher clients
Program |
Description |
License |
Lynx |
text-mode web browser, supports the Gopher protocol. |
|
IRC clients
Program |
Description |
License |
catgirl |
is a TLS-only terminal IRC client. |
|
hii |
A file-based IRC client, inspired by ii, with a focus on easing frontend development |
|
ii |
A FIFO based IRC client which is part of the suckless.org project. |
|
irc.c from mpu |
A minimal curses IRC client. |
|
Irc |
IRC client for ACME. |
|
ircrc |
An rc-based IRC client similar to ircc. Needs minor modification to run on UNIX. |
|
irssi |
Text-mode IRC client. |
|
jj |
A rework of ii that offloads all the IRC protocol parsing to an awk script, permitting triggers. |
|
kirc |
A tiny IRC client written in POSIX C99. |
|
quIRC |
a lightweight console IRC client. |
|
sic |
Another suckless.org IRC client. Similar to ircc. |
|
Image viewers
Program |
Description |
License |
feh |
A highly customizable image viewer that can also set a desktop background image. |
|
imv |
Simple X11/Wayland Image Viewer. Depends on SDL2 and FreeImage. |
|
jpg/gif/bmp/png |
Simple programs from Plan 9 to display images in no-frills windows. Included with plan9port. |
|
lel |
Farbfeld image viewer. |
|
meh |
image viewer using raw XLib, libjpeg, libpng and libgif. |
|
page |
Plan 9's image/document viewer program. Included with plan9port. |
|
qiv |
Quick Image Viewer. |
|
nsxiv |
Neo Simple X Image Viewer, a fork of now unmaintained sxiv. Depends on xlib and imlib2. |
|
xlixwallpaper |
Minimalistic wallpaper utility |
|
Instant-Messaging clients
Program |
Description |
License |
bitlbee |
A program to translate IM protocols to IRC. |
|
CenterIM |
A centericq fork. |
|
irssi-xmpp |
An irssi plugin to connect to the Jabber network. |
|
mcabber |
A console jabber client. |
|
profanity |
A console XMPP client written in C. OMEMO/GPG/OTR supported. |
|
ysm |
A console-based ICQ client. |
|
Mail clients
Program |
Description |
License |
aerc |
email client for your terminal. |
|
fdm |
fetch and deliver mail. |
|
heirloom-mailx |
A mail client based on the original Berkeley Mail 8.1 with many new features. |
|
isync |
MDA that can work better for IMAP, also known as mbsync. |
|
mblaze |
UNIX utilities to deal with Maildir. |
|
mmh |
Meillo's mail handler (mmh), a fork of nmh. |
|
mpop |
a POP3 mail client. It is muchfaster and simpler than fetchmail. |
|
mutt |
A ncurses mail client for fetching, reading and sending email. |
|
nmh |
Message Handling System. |
|
plan9port/Mail |
A mail client for acme. Included with plan9port. |
|
s-nail |
An improved heirloom-mailx. |
|
Media players
Program |
Description |
License |
ffplay |
FFplay is a very simple and portable media player. It came with ffmpeg which depends on mplayer. |
|
mplayer |
mpv is a free, open-source and cross-platform media player. |
|
Notifications
Program |
Description |
License |
herbe |
Daemon-less notifications without D-Bus. Minimal, lightweight & written in C. You can usetiramisuto call herbe. |
|
tiramisu |
Tiramisu is a notification daemon based on dunst that outputs notifications to STDOUT in order to allow the user to process notifications any way they prefer, like in your dwm statusbar for example. |
|
Password managers
Program |
Description |
License |
oathtool |
Open AuTHentication (OATH) one-time password tool. |
|
pinentry-dmenu |
pinentry-dmenu is a pinentry program with the charm of dmenu. It is a nice interface topass |
|
pass |
"The standard UNIX password manager". |
|
spm |
Simple password manager (actively maintained fork of nmeum's tpm). |
|
tpm |
Tiny password manager. |
|
PDF viewers
Program |
Description |
License |
mupdf |
a lightweight PDF viewer written in C. It supports PDF, XPS, EPUB, XHTML, CBZ, PNG, JPEG, GIF and TIFF. |
|
zathura |
an extensible document viewer/shell which can support CBZ, DJVU, PS, EPUB (with mupdf) and PDF (with mupdf or poppler). |
|
Shells
Program |
Description |
License |
dash |
DASH is a POSIX-compliant implementation of /bin/sh that aims to be as small as possible. |
|
mksh |
MirBSD Korn Shell, an actively developed free implementation of the Korn Shell programming language and a successor to the Public Domain Korn Shell (pdksh). |
|
oksh |
Portable OpenBSD ksh. |
|
yash |
Yet another shell, is intended to be the most POSIX-compliant shell in the world while supporting features for daily interactive and scripting use. |
|
Text editors
Program |
Description |
License |
acme |
Rob Pike's framing text editor for Plan 9. Included in plan9port. |
|
ed |
ED IS THE STANDARD TEXT EDITOR! |
|
ired |
A minimalist hexadecimal editor and bindiffer for p9, w32 and *nix. |
|
mg |
A portable version of mg maintained by the OpenBSD team. |
|
mle |
A small, flexible console text editor. |
|
nano |
A pico clone - this
|