this post was submitted on 19 Sep 2023
28 points (100.0% liked)

Linux

48366 readers
1044 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Most applications provide you configuration files that are data / text based. Whether it is toml, JSON, yaml or some other format, you are usually defining values for pre-determined keys and that's all.

This makes sense for many applications, but involved applications have explored configurations that make use of scripting. For example, vim uses VimScript, neovim uses Lua, but vscode uses json (as far as I remember), and Helix (vim inspired editor) argues editor configurations must be data, not scripting, and uses toml.

many tiling window managers use various programming languages (Qtile uses python, xmonad uses Haskell, Awesome uses Lua) while others stick to data configuration (i3).

Do you think that scriptable configuration is over-engineered and brings weaknesses, or is it warranted and grants the user power in these big applications? What are the benefits of scriptable configurations?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 7 points 1 year ago (1 children)

I've become addicted to script-configured window managers. I won't even try ones that aren't, anymore.

Bash is a scripting language, so it qualifies per your description, but the main advantage is that anything you can do in the config, you can do on the CLI: these WMs also have first-class CLI tooling, a consequence of CLI-first design. All configuration is runtime adaptable, and although auto config reloading can get you there, it's fantastic to be able to change a configuration without it having to be persisted in a file.

Seriously, next to tiling, scripted configuration is the most important feature of a WM. I haven't encountered it outside of WMs very often, but for long running processes, it's a great design.

[–] [email protected] 2 points 1 year ago

Same here! I used to use BSPWM, but I since switched to RiverWM. It's a lot like BSPWM, but for Wayland. Highly recommend