README (3529B)
1 dotless 2 ------- 3 4 Automated "dotfiles" setup for all my systems 5 6 Rationale 7 --------- 8 9 For the longest time, I've been pulling each individual subsequent suckless utility for a semi-complete system on a multitude of 10 linux distros, most predominantly LFS now. 11 12 Problem is that, running on a pure tty is tedious work, however since all my systems generally already have some basic 13 utilities before I get a GUI, it makes sense for me to create a "POSIX" makefile system to build all of it. 14 However, this is intended to be easily "customizable", so users should be able to easily configure anything. 15 16 This has been tested with pdpmake (with --posix), it will work with any competent make build system on any Unix-y 17 platform (NetBSD/OpenBSD/FreeBSD). Solaris support isn't planned, but it's trivial to get it working because the nature of 18 suckless. 19 20 Building 21 -------- 22 23 There are several options, however the defaults are very serviceable for any Linux distro on a desktop. 24 Here are the options (these are parsed as ENV variables): 25 - PREFIX - install prefix (default is `/`) 26 - YASH - install yash configuration 27 - LAPTOP - enables certain keybinds (media keys) and battery monitoring 28 - SCRIPTS - installs optional scripts (auto-enabled if LAPTOP mode is enabled) 29 - VOL - default volume step (primarily for LAPTOP mode); if unset default is 5 30 - BSD - enables "patches" to support BSD 31 - MIXER - enables /dev/mixer support for volume monitoring, if not, it falls back to a hacky amixer script 32 (only on linux) 33 - FONT - default font for dmenu/dwm; passed as a string (default: cozette:size=10) 34 - ST_FONT - default font for st (terminal handles font weirdly) (default: cozette:size=12) 35 36 Here is an example of a user using dotless for a laptop installing to a /usr/local prefix on OpenBSD whist using yash shell: 37 ```sh 38 $ make PREFIX=/usr/local LAPTOP=1 BSD=1 YASH=1 39 $ doas make PREFIX=/usr/local LAPTOP=1 BSD=1 YASH=1 USR=cowmonk install # yes, I prefer opendoas 40 ``` 41 NOTE: if you want to install my particular yash profile, you need to specify a user to install the files to the correct home 42 directory or it'll default to `$(whoami)` during install, which is likely the root user. 43 44 Patches 45 ------- 46 47 Sending patches is trivial, the main site of development is on the [stagit repo](https://based.pt/~cowmonk/git/dotless/log.html). 48 This means that all patches aren't sent via PRs on any of the mirrors. 49 50 Run a quick `git format-patch HEAD~1` and send to *cowmonk@based.pt* with the subject head of `[PATCH] dotless`. 51 Consider reading the manpages of `git-send-email` if you are interested in moving towards email for development. 52 53 I *strongly* suggest pgp encrypting your email, in which case my public keys can be found on `keys.openpgp.org` 54 or here: 55 56 -----BEGIN PGP PUBLIC KEY BLOCK----- 57 Comment: 52B0 852C 5A4C 823C FAB7 420A 2F73 9BCA BDD5 B880 58 Comment: cowmonk@based.pt 59 60 xjMEaSJi8xYJKwYBBAHaRw8BAQdAEVP64bLVXCxZYH5rItmtvThKyTrRZ4HFCZ42 61 IqFx+crNEGNvd21vbmtAYmFzZWQucHTCiQQTFggAGgQLCQgHAhUIAhYBAhkABYJp 62 ImLzAp4BApsDACEJEC9zm8q91biAFiEEUrCFLFpMgjz6t0IKL3Obyr3VuIBOEQEA 63 +gIa9t3yKL3FAHg5VT2xV8M2VdLf1ZqaFlCPyGhXBZsA+QGGstK6+YsUbmP+H6I5 64 r4AgLawGeB9IH7WC0w4dhTsKzjgEaSJi8xIKKwYBBAGXVQEFAQEHQMsmen1ddl9a 65 ddXu4ktm8BATTlEy2k4zMzo6RnyRB+d4AwEIB8J4BBgWCAAJBYJpImLzApsMACEJ 66 EC9zm8q91biAFiEEUrCFLFpMgjz6t0IKL3Obyr3VuIA9AQD/S/EL51hMSBI35Lr3 67 RjuNFtqnlgYpfkMxgPvp2bWRY60A/2NhDRNUjY2wA4+mESlCIf94FVvqcfclnSZU 68 A7wM/YAB 69 =nZZp 70 -----END PGP PUBLIC KEY BLOCK----- 71