restructure module config to objects with enable + extra options

This commit is contained in:
Damocles 2026-04-12 17:36:38 +02:00
parent 4109078a91
commit 55ab5bc4e7
9 changed files with 123 additions and 117 deletions

View file

@ -69,20 +69,25 @@ frankly more than it deserves.
```nix
programs.nova-shell.modules = {
weather = false; # also evicts wttrbar from your system
bluetooth = false; # for people whose computers have ethernet ports and opinions
backlight = false; # your desktop monitor does not have a backlight slider, probably
battery = false; # see above, but for power
temperature = false; # what you don't measure can't alarm you
disk = false; # the number will only make you anxious
power = false; # if you enjoy living dangerously without a logout button
weather.enable = false; # also evicts wttrbar from your system
bluetooth.enable = false; # for people whose computers have ethernet ports and opinions
backlight.enable = false; # your desktop monitor does not have a backlight slider, probably
battery.enable = false; # see above, but for power
temperature.enable = false; # what you don't measure can't alarm you
disk.enable = false; # the number will only make you anxious
power.enable = false; # if you enjoy living dangerously without a logout button
# modules with extra config
backlight.step = 2; # brightness adjustment %
weather.args = [ "--nerd" "--location" "Berlin" ]; # wttrbar arguments
};
```
Full list of things you can disable: `workspaces`, `tray`, `windowTitle`,
`clock`, `notifications`, `mpris`, `volume`, `bluetooth`, `backlight`,
`network`, `powerProfile`, `idleInhibitor`, `weather`, `temperature`, `cpu`,
`memory`, `disk`, `battery`, `power`.
Each module is an object with `enable` (default `true`) and optional extra
settings. Full list: `workspaces`, `tray`, `windowTitle`, `clock`,
`notifications`, `mpris`, `volume`, `bluetooth`, `backlight`, `network`,
`powerProfile`, `idleInhibitor`, `weather`, `temperature`, `cpu`, `memory`,
`disk`, `battery`, `power`.
### Theme
@ -124,16 +129,6 @@ Full list of theme keys and their defaults:
| `radius` | `4` | Corner radius for flyouts and menus (px) |
| `screenRadius` | `15` | Screen corner rounding, 0 to disable (px) |
### Weather
Wttrbar arguments are configurable. The default is `["--nerd"]` which gives
you nerd font weather icons, which is the only acceptable way to display
meteorological data.
```nix
programs.nova-shell.weatherArgs = [ "--nerd" "--location" "Berlin" ];
```
### Systemd service
Enabled by default, bound to `graphical-session.target`. To attach it to