commit 4fdba9e9bf732045959575effaacbb131493e7b6
parent e161388ebb51a2e519365787bd3d86499a7ace3b
Author: cowmonk <cowmonk@based.pt>
Date: Thu, 9 Apr 2026 00:07:54 +0000
Update README documentation
Diffstat:
| M | Makefile | | | 29 | +---------------------------- |
| M | README | | | 23 | +++++++++++++++++++++-- |
2 files changed, 22 insertions(+), 30 deletions(-)
diff --git a/Makefile b/Makefile
@@ -7,34 +7,7 @@
.POSIX:
SHELL = /bin/sh
-PREFIX ?= /
-TOP = $(shell pwd)
-SRCDIR = $(TOP)/sources
-EXTDIR = $(TOP)/extracted
-
-VER_dwm = 6.8
-NAME_dwm = dwm-$(VER_dwm)
-URL_dwm = https://dl.suckless.org/dwm/$(NAME_dwm).tar.gz
-
-VER_st = 0.9.3
-NAME_st = st-$(VER_st)
-URL_st = https://dl.suckless.org/st/$(NAME_st).tar.gz
-
-VER_dmenu = 5.4
-NAME_dmenu = dmenu-$(VER_dmenu)
-URL_dmenu = https://dl.suckless.org/tools/$(NAME_dmenu).tar.gz
-
-VER_slstatus = 1.1
-NAME_slstatus = slstatus-$(VER_slstatus)
-URL_slstatus = https://dl.suckless.org/tools/$(NAME_slstatus).tar.gz
-
-LAPTOP ?= 0 # laptop mode enables certain keybinds and battery monitoring
-SCRIPTS ?= 0 # whether or not to install the useful scripts (auto enable if laptop mode is enabled)
-VOL ?= 0 # default volume step percent (default is 5 when at 0)
-OBSD ?= 0 # enables support for OBSD (in config.mk and stuff)
-MIXER ?= 0 # /dev/mixer support, if not then it falls back to amixer hacky script (only on linux)
-FONT ?= "" # set the global font for dmenu, and dwm (default: cozette:size=10)
-ST_FONT ?= "" # set the font for st (default: cozette:size=12).
+include config.mk
.PHONY: all build install clean distclean
diff --git a/README b/README
@@ -10,13 +10,32 @@ For the longest time, I've been pulling each individual subsequent suckless util
linux distros, most predominantly LFS now.
Problem is that, running on a pure tty is tedious work, however since all my systems generally already have some basic
-utilities before I get a GUI, it makes sense for me to create a POSIX makefile system to build all of it.
+utilities before I get a GUI, it makes sense for me to create a "POSIX" makefile system to build all of it.
However, this is intended to be easily "customizable", so users should be able to easily configure anything.
+This has been tested with pdpmake (though without --posix), it will work with any competent make build system on any Unix-y
+platform (NetBSD/OpenBSD/FreeBSD). Solaris support isn't planned, but it's trivial to get it working because the nature of
+suckless.
+
Building
--------
-There are several options, however the default is very serviceable for any Linux distro.
+There are several options, however the defaults are very serviceable for any Linux distro on a desktop. Here are the options (these are parsed as ENV variables):
+ - PREFIX - install prefix (default is `/`)
+ - LAPTOP - enables certain keybinds (media keys) and battery monitoring
+ - SCRIPTS - installs optional scripts (auto-enabled if LAPTOP mode is enabled)
+ - VOL - default volume step (primarily for LAPTOP mode); if unset default is 5
+ - BSD - enables "patches" to support BSD
+ - MIXER - enables /dev/mixer support for volume monitoring, if not, it falls back to a hacky amixer script
+ (only on linux)
+ - FONT - default font for dmenu/dwm; passed as a string (default: cozette:size=10)
+ - ST_FONT - default font for st (terminal handles font weirdly) (default: cozette:size=12)
+
+Here is an example of a user using dotless for a laptop installing to a /usr/local prefix on OpenBSD:
+```sh
+$ make PREFIX=/usr/local LAPTOP=1 BSD=1
+$ doas make PREFIX=/usr/local LAPTOP=1 BSD=1 install # yes, I prefer opendoas
+```
Patches
-------