dwl-guile
allows you to configure and interact with dwl
using GNU Guile through a startup configuration file and/or a REPL.
dwl-guile
is based on the latest version of dwl
(v0.4) and wlroots 0.16.x, and will be continuously rebased against new versions.
The main goal of dwl-guile
is to serve as a minimal dwm
-like Wayland compositor for those who use GNU Guix System — a GNU/Linux distribution in which the user can customize and configure their entire system in GNU Guile.
dwl-guile
integrates the window manager customization with that of the rest of the system, which allows for a dynamic, programmable and reproducible configuration for our entire computing environment — all in Guile.
The file ./share/default.scm
contains an example configuration. You can script the configuration to your heart’s content, since it is written in an actual programming language!
Evaluate expression in real time using dwl-guile -e "<sexp>"
and change tiling layouts, bind keys and much more on the fly — there is no need to restart the compositor if you want to try something new!
You may also use a REPL client such as Geiser to control dwl-guile
for an even more interactive experience.
The best way to install and configure dwl-guile
is through the Guix channel home-service-dwl-guile, which (as the name suggests) provides a Guix Home service for dwl-guile
.
Non-Guix System users can download the GNU Guix package manager for their current GNU/Linux distribution in order to use the Guix Home service.
An alternative way (that works without the Guix package manager) would be to
- Clone the
dwl-guile
repository - Build a
dwl-guile
binary using theMakefile
- Supply the produced binary with a Guile configuration file.
The Releases section contains the dwl-guile
patch for dwl
and an assortment of useful patches that provide additional functionality.
Some patches are already included in the main dwl-guile
patch, namely
keycode
,smartborders
,vanitygaps
, andcyclelayout
.