Some prefer to handle modules-* imperatively for more flexibility, e.g.,
via waybar "includes" (https://github.com/Alexays/Waybar/wiki/Configuration).
Current HM defaults modules-* to `[]` instead of null for most other
settings, so they get written to ~/.config/waybar/config even though
no explicit configuration has been made.
And they take precedence over the imperative ones because of how
waybar's includes work:
====
Paths to additional configuration files.
Each file can contain a single object with any of the bar configuration options. In case of duplicate options, the first defined value takes precedence, i.e. including file -> first included file -> etc. Nested includes are permitted, but make sure to avoid circular imports.
For a multi-bar config, the include directive affects only current bar configuration object.
====
The `style` option now also accepts a path instead of a text
configuration.
Keeping up with new Waybar options is annoying, so make the module a
freeform module.
The `modules` option will be removed in release 22.05.
The logic to generate warnings for modules and everything was
removed. I don't want to maintain the code that generates these
warnings anymore.
This option provides a more convenient way to overlay dummy packages.
It also adds a function `config.lib.test.mkStubPackage` that can,
e.g., be used for `package` options.
Set the systemd user service to use "mixed" killmode, which lets waybar
stop its module scripts. This fixes issues where waybar blocks shutdown
until systemd sends a SIGKILL to waybar child processes.
This adds a "test.asserts" module that currently just provides a
convenient way to assert on the content of warnings. By default all
tests will assert that no warnings are given.
The current definition makes waybar wait for dbus.service, but that
never happens because dbus.service is started on demand by
dbus.socket.
Per systemd docs:
https://www.freedesktop.org/software/systemd/man/systemd.service.html#Implicit%20Dependencies
- Services with Type=dbus set automatically acquire dependencies of
type Requires= and After= on dbus.socket.
- Socket activated services are automatically ordered after their
activating .socket units via an automatic After= dependency.
Services also pull in all .socket units listed in Sockets= via
automatic Wants= and After= dependencies.
Removing Requisite/After makes the service properly start for me,
simply specifying Type=dbus is enough.
See #1370