dotless

automated dotfiles setup for all my systems
git clone git://git.daat.foo/dotless.git
Log | Files | Refs | README | LICENSE

commit 4fdba9e9bf732045959575effaacbb131493e7b6
parent e161388ebb51a2e519365787bd3d86499a7ace3b
Author: cowmonk <cowmonk@based.pt>
Date:   Thu,  9 Apr 2026 00:07:54 +0000

Update README documentation

Diffstat:
MMakefile | 29+----------------------------
MREADME | 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 -------