dotless

Suckless desktop setup
git clone https://git.daat.foo/repos/dotless.git
Log | Files | Refs | README | LICENSE

README (4406B)


      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 a my own custom distro 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 it should be relatively simple to adapt this to any UNIX-like system.
     15 
     16 This has been tested with pdpmake (with --posix), it will work with any competent make build system on any UNIX-like
     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.
     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 (Open)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 SCRIPTS
     45 -------
     46 
     47 There are only two scripts that are included within the project, both of which are entirely linux exclusive.
     48 
     49     backlight.sh      - useful script that writes to /sys/class/backlight/*
     50                         NOTE: only good for single monitor setups
     51     volume.sh         - useful script that is just a glorified amixer wrapper.
     52 
     53 OpenBSD doesn't need these scripts, and the resulting config.h shouldn't have these.
     54 
     55 Contributing
     56 ------------
     57 
     58 This project has been migrated from the old stagit repo to github because my git.based.pt no longer exists. The patches section is kept
     59 for archival reasons but also because getting my own git-server is one of the plans and this will serve as a mirror eventually.
     60 
     61 For now, you can submit PRs over github. The section below is for your own viewing pleasure.
     62 
     63 
     64 Patches (OBSOLETE)
     65 -------
     66 
     67 Sending patches is trivial, the main site of development is on the [stagit repo](https://based.pt/~cowmonk/git/dotless/log.html).
     68 This means that all patches aren't sent via PRs on any of the mirrors.
     69 
     70 Run a quick `git format-patch HEAD~1` and send to *cowmonk@based.pt* with the subject head of `[PATCH] dotless`.
     71 Consider reading the manpages of `git-send-email` if you are interested in moving towards email for development.
     72 
     73 I *strongly* suggest pgp encrypting your email, in which case my public keys can be found on `keys.openpgp.org`
     74 or here:
     75 
     76 -----BEGIN PGP PUBLIC KEY BLOCK-----
     77 Comment: 52B0 852C 5A4C 823C FAB7  420A 2F73 9BCA BDD5 B880
     78 Comment: cowmonk@based.pt
     79 
     80 xjMEaSJi8xYJKwYBBAHaRw8BAQdAEVP64bLVXCxZYH5rItmtvThKyTrRZ4HFCZ42
     81 IqFx+crNEGNvd21vbmtAYmFzZWQucHTCiQQTFggAGgQLCQgHAhUIAhYBAhkABYJp
     82 ImLzAp4BApsDACEJEC9zm8q91biAFiEEUrCFLFpMgjz6t0IKL3Obyr3VuIBOEQEA
     83 +gIa9t3yKL3FAHg5VT2xV8M2VdLf1ZqaFlCPyGhXBZsA+QGGstK6+YsUbmP+H6I5
     84 r4AgLawGeB9IH7WC0w4dhTsKzjgEaSJi8xIKKwYBBAGXVQEFAQEHQMsmen1ddl9a
     85 ddXu4ktm8BATTlEy2k4zMzo6RnyRB+d4AwEIB8J4BBgWCAAJBYJpImLzApsMACEJ
     86 EC9zm8q91biAFiEEUrCFLFpMgjz6t0IKL3Obyr3VuIA9AQD/S/EL51hMSBI35Lr3
     87 RjuNFtqnlgYpfkMxgPvp2bWRY60A/2NhDRNUjY2wA4+mESlCIf94FVvqcfclnSZU
     88 A7wM/YAB
     89 =nZZp
     90 -----END PGP PUBLIC KEY BLOCK-----
     91