Neat! I'm going to try this one for sure. I really like the use of a programming language to configure and control WMs and software in general. I just find it easier to write programs than to write complex configurations. Even better if the WM just provides an IPC/API and a few language bindings to use them. River WM takes this approach. And in case anyone wants to have a traditional configuration, an application may be provided to translate such config files to API calls.
Obviously a lot of people are going to have (not unjustified) complaints about a Turing complete configuration. I haven't yet used any new generation config languages like dhall, kdl, pkl or jsonnet. Can anybody share any insight on how they perform for complicated configs?
I've been using jsonnet while developing a game to describe all in-game objects, items, creatures, biomes, structures, etc. It's just great. At the data level I can do complex things I'd otherwise have to implement in the engine.
Haven't used other similar tools to compare to, all I can really say is it's a damn sight better than writing JSON (comments and trailing commas? yes please!).
Neat! I'm going to try this one for sure. I really like the use of a programming language to configure and control WMs and software in general. I just find it easier to write programs than to write complex configurations. Even better if the WM just provides an IPC/API and a few language bindings to use them. River WM takes this approach. And in case anyone wants to have a traditional configuration, an application may be provided to translate such config files to API calls.
Obviously a lot of people are going to have (not unjustified) complaints about a Turing complete configuration. I haven't yet used any new generation config languages like dhall, kdl, pkl or jsonnet. Can anybody share any insight on how they perform for complicated configs?
I've been using jsonnet while developing a game to describe all in-game objects, items, creatures, biomes, structures, etc. It's just great. At the data level I can do complex things I'd otherwise have to implement in the engine.
Haven't used other similar tools to compare to, all I can really say is it's a damn sight better than writing JSON (comments and trailing commas? yes please!).
That's what I was hoping for. Thanks!
See also https://github.com/engstrand-config/dwl-guile -- Guile bindings for DWL, the even more minimalistic Wayland compositor https://codeberg.org/dwl/dwl
Hyprland > Sway
Your profile says you've been around since 2011, so you should know these comments don't belong on HN: https://news.ycombinator.com/newsguidelines.html
From the Readme
I made some progress with hyprland using a set of Guile bindings I developed called hypripc, but I found that Hyprland isn’t as stable as Sway.
Not surprising, given that hyprland switched away from wlroots. I assume that it's not that easy to switch a core framework like that.
Niri > Sway
(Though I still use Sway, haven't switched yet)