173duprot / harm-less

Inspired by suckless and cat-v, this is a simple single document wiki of suckless practices and minimal software.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

/* --- harm-less ---*/
Inspired by suckless and cat-v, this is a simple single text document wiki of
minimal software and suckless practices.

-- each Topic is a folder       [TOPIC]
-- each tool is a file          [TOOL]
-- each file is a description

This list is genarated using  tree.sh  on ./wiki

---------------------------------------------------------------------------------

 
└── 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 your use-case allows for it.
│   ├── 30.Oasis - manual-bootstrapped, statically compiled incredibly simple source-based linux.
│   ├── 40.OpenBSD - Very clean codebase, very simple, very secure, smallst kernal of the practical OS's.
│   ├── 50.KISS - Kiss linux is new, decently well known, and ungodly simple.
│   ├── 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.swc - The smallest display server you will ever get. Wayland compositor in 10k sloc.
│       ├── 2.wlroots - bloat, sucks, but nowhere near as bad as xorg, round 60k sloc.
│       ├── 3.tinyx - The only "minimal" X11 implementation, just under 100k sloc.
│       └── 4.xorg - bloat, garbage, dont use this
└── 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  
        │   ├── 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  
├── hardware  
└── 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
            ├── 50.Posix_Shell - Sucks balls, but is by far the most portable scripting lang on the planet
            └── 60.Lua - "Well at least its not python 🤷"
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

About

Inspired by suckless and cat-v, this is a simple single document wiki of suckless practices and minimal software.


Languages

Language:Shell 49.3%Language:Forth 10.2%Language:Common Lisp 8.1%Language:Smalltalk 4.3%Language:Go 4.1%Language:APL 4.1%Language:Prolog 3.9%Language:OCaml 3.4%Language:Assembly 3.0%Language:Tcl 3.0%Language:Zig 2.2%Language:Lua 2.1%Language:Io 1.9%Language:C 0.5%