harm-less.software

harm-less.software is a plain-text, opinionated catalog of small, understandable software. The tree is the interface.

. ├── README - /* --- harm-less ---*/ ├── tree.sh - #!/usr/bin/env bash └── wiki ├── 1.use │ ├── 1.os │ │ ├── 10.Minix - The simpelest embedded microkernal os possible, powers the IME in intel chips. │ │ ├── 20.plan9 - (or 9front) The most minimal of all, Only use if you are a full autismo. │ │ ├── 30.Oasis - manual-bootstrapped, statically compiled incredibly simple source-based linux. │ │ ├── 40.OpenBSD - Very clean codebase, very simple, very secure, smallst kernal │ │ ├── 50.KISS - Kiss linux is new, decently well known, and ungodly simple. Links hard to find k1sslinux.org │ │ ├── 60.Alpine - A very popular just-works embedded linux build around musl libc and busybox. │ │ ├── 70.Sabotage - Manual bootstrapped ultraminimal source-based static linux. │ │ ├── 80.Glaucus - Brand new bleeding-edge linux built round musl libc and toybox. │ │ └── 90.Gentoo - The most popular distro here, source based, can be made suckless. │ ├── 2.core │ │ ├── 1.programs │ │ │ ├── 1.init │ │ │ │ ├── 10.sinit - The suckless init system │ │ │ │ ├── 20.toybox - busybox init but even fuckin smaller, even simpler. │ │ │ │ ├── 30.busybox - busybox has a good minimal embedded init system. │ │ │ │ ├── 40.runit - ungodly small init scheme, very powerful │ │ │ │ └── 50.OpenRC - Bit bloated, but by far the most popular of the init's here. │ │ │ ├── 2.utils │ │ │ │ ├── 10.sbase - suckless core utils, even simpler than the plan9 ones. │ │ │ │ ├── 20.toybox - monolithic bin just like busybox, but even simpler. Used on android. │ │ │ │ ├── 30.busybox - tiny versions of many common UNIX utilities into a single small embedded executable │ │ │ │ └── 40.plan9-coreutils - The most minimal you can get, everything is only a couple lines of C. Best of the best. │ │ │ └── 3.etc │ │ │ └── 10.mandoc - OpenBSD's man page toolchain. Farrr better than gnu's │ │ └── 2.libraries │ │ ├── compression │ │ │ ├── flate - small gzip compatible compressor lib │ │ │ ├── liblzf - very fast, legally unencumbered compression library │ │ │ ├── libz - cleaned up, modern fork of zlib. │ │ │ ├── lz4 - extremely fast (BSD-licensed) compression algorithm │ │ │ ├── lzip - Properly designed data compressor outperforming gzip and bzip2 │ │ │ ├── miniz - Single C source file Deflate/Inflate compression library │ │ │ ├── xz-embedded - lightweight decompressor for the xz LZMA compressor (public domain). │ │ │ └── zlib - the "standard" compression/decompression library, quite small │ │ └── cryptography │ │ ├── TweetNaCl - tiny, fully NaCl-compatible high-security cryptography library (single C file) │ │ ├── dropbear - better replacement for OpenSSH. │ │ ├── libreSSL - minimal drop-in replacement for (and fork of) OpenSSL. │ │ ├── libsodium - encryption/decryption library │ │ └── libtomcrypt - public domain cryptography library │ ├── 3.gui │ │ └── display-servers │ │ ├── 1.tinyx - Xvesa and Xfbdev. Drawing, input, windows, network. Under 100k lines, no DRM, no forced xkb. │ │ ├── 2.xenocara - OpenBSD's X. Still xorg underneath, but kept in base, patche, built with make. │ │ ├── 3.swc - Wayland compositor library, 9k lines. Small because the work went elsewhere. Add wld and velox for a desktop: 17k, plus libdrm, libinput, pixman, wayland. Linux and NetBSD only. │ │ ├── 4.wlroots - Not a display server. A 60k line library whose API breaks every release. Each compositor writes the rest. Each client draws itself. │ │ └── 5.xorg - 360k lines of C in the server alone. Bloated behemoth. │ └── 4.applications │ ├── 1.media │ │ └── torrenting │ │ └── clients │ │ ├── 10.btpd - The BitTorrent Protocol Daemon │ │ ├── 20.ctorrent - lightweight torrent client [unmaintained] │ │ ├── 30.lftp - simple command line file transfer program │ │ └── 40.aria2 - lightweight multi-protocol download utility │ └── 2.utilities │ ├── 1.files │ │ ├── 1.management │ │ │ ├── 10.unix-utils - ls, cp, mv, etc. │ │ │ ├── 20.noice - 1k sloc small extensable file browser │ │ │ ├── 30.rover - 2k sloc, perfect tiny file browser. │ │ │ ├── 40.sfm - 3k sloc, very user friendly, very pretty, prob the best one here. │ │ │ ├── 50.lf - bloated, terminal file manager written in Go, inspired by ranger │ │ │ └── 60.broot - bloated, not a file manager, not the tree command - extensable file control and navigation. │ │ └── 2.search │ │ ├── 10.find - Unix core utility, minimal, efficent, tiny portable, most minimal of all of these. │ │ ├── 20.pick - 2k sloc minimal fuzzy search tool. │ │ ├── 30.fzy - 1/10th the code of fzf, fuck fzf, this is just as fast, just as amazing. │ │ └── 40.go-fuzzyfinder - minimal, easy, fast, tiny, and written in go, less popular than the others here. │ ├── 2.text │ │ └── 1.manupulation │ │ └── 10.utils - awk, sed, cat, tail, etc. fuck puthon, fuck perl, fuck ruby. │ ├── 3.terminal │ │ ├── 1.emulator │ │ │ ├── 1.st - the suckless terminal emulator. Tiny, easy to understand, customizable, perfect. │ │ │ ├── 2.termite - Almost as minimal as st, less hackable, more user-freindly. │ │ │ └── 3.alacritty - 10k fast terminal emulator with sane defualts. │ │ └── 2.multiplexer │ │ ├── 1.dvtm-abduco - better tmux, tiny minimal terminal multiplexing, emulates DWM in the tty. │ │ ├── 2.mtm - micro terminal multiplexer. Simple, but breaks sometimes. │ │ └── 3.tmux - a bit bloated, but ungodly popular. │ └── 4.databases │ ├── 10.filesystem - the true unix way, this wiki is an example of that method. │ ├── 20.ndb - Plan9's database genarator, tiny, and super powerful. │ ├── 30.lmdb - high-performance, mmap'd key-value store used in the OpenLDAP project. │ ├── 40.TinyCBD - Fast simple constant compiled database genarator and interface. │ └── 50.recutils - set of tools and libraries to access human-editable, plain text databases. ├── 2.make │ └── software │ ├── build-systems │ │ ├── make - The classic, simple, easy, everyone knows it, bread and butter of suckless. │ │ ├── mk - plan9 replacement of make. Small, minimal, autistic, beautiful. │ │ └── samurai - implimentation of ninja, ultra minimal compiled built tool. │ └── languages │ ├── high-level │ │ ├── 10.Forth - (Factor && Joy) - The ultimate suckless high-level programming language │ │ ├── 20.Smalltalk - (Self or maybe Pharo) - God-teir suckless OOP high-level languages. │ │ ├── 30.Lisp - (scheme) - More user-friendly, and more commonly used, almost as simple as forth. │ │ ├── 40.Fortran - Not really used anymore, but very simple and minimal │ │ └── 50.Go - Fuck python, go is the efficient fast compiled, static, suckless alternative. │ ├── low-level │ │ ├── 10.ASM - The ultimate minimal language, don't be afraid to use it. │ │ ├── 20.Forth - More powerful and minimal than C, can fit in 512 bytes │ │ ├── 30.Basic - Tinybasic is fuckin nothing at all │ │ ├── 40.C - fuck C++ │ │ └── 50.Zig - Better designed C, but way less supported. │ ├── other │ │ ├── 10.Apl - A high-level, based in math, extremely weird and incredibly elegant language. │ │ ├── 20.Prolog - Also high-level, based in logic, extremely weird and elegent lang as well │ │ └── 30.Ml - Functional, simple, and based on the Hindley–Milner type system │ └── scripting │ ├── 10.Forth - Do I need to say more, forth has any level of abstraction you want. │ ├── 20.Lisp - (scheme) - Can be implemented in under 3000 lines of C, need i say more. │ ├── 30.Io - "expressiveness through simplicity" │ ├── 40.Tcl - Simple syntax leading to some micoscopic implementations │ ├── 45.Awk - Small pattern-scanning language built for plain text, pipelines, and quick data-shaped programs. │ ├── 50.Posix_Shell - Sucks balls, but is by far the most portable scripting lang on the planet │ └── 60.Lua - Small, fast, embeddable scripting language with a tiny implementation and a clean C API. └── 3.resources └── sites ├── cat-v.org - one of the best sites out there for minimal software, close to the most extreme end of the software minimalisim spectrum └── suckless.org - the inspiration for this list, good starting point for minimal software and the unix phliosophy
suggest an entry

Suggestions are accepted by plain-text email only.

Send mail to sm@secpaste.dev using the format below.

Subject: [harm-less] suggest: <name>

Path: <tree/path>
Name: <project/tool name>
URL: <homepage or repo>
License: <license>
Why: <1-3 short lines: why it belongs here>
Size: <rough SLOC / binary size / "unknown">
Status: <active | stable | unmaintained | unknown>
Alternatives: <optional, comma-separated>

Notes:
- plain text only
- no HTML mail
- no AI-generated submissions
- one suggestion per mail (preferred)

Checklist before sending