refactor(waybar): simplify registry consumption

This commit is contained in:
2026-10-11 20:59:05 -04:00
parent 13dfec815d
commit 7a1ffb6ed2

View File

@@ -6,26 +6,19 @@
}: }:
# Waybar: a top status bar reading system state at a glance. # Waybar: a top status bar reading system state at a glance.
let let
waybarModulesFor = moduleNames =
position: position:
map (module: module.name) ( map (entry: entry.name) (
lib.sort (a: b: a.order < b.order) ( lib.sort (left: right: left.module.order < right.module.order) (
lib.filter (module: module.position == position) registeredWaybarModules lib.filter (entry: entry.module.position == position) moduleEntries
) )
); );
registeredWaybarModules = lib.mapAttrsToList ( moduleEntries = lib.mapAttrsToList (name: module: {
name: module: inherit name module;
module }) modules;
// {
inherit name;
}
) hostWaybarModules;
hostWaybarModules = lib.attrByPath [ config.networking.hostName ] { } config.registry.waybar;
registeredWaybarModuleSettings = lib.mapAttrs (_name: module: module.settings) hostWaybarModules;
modules = lib.attrByPath [ config.networking.hostName ] { } config.registry.waybar;
in in
{ {
options.modules.desktop.session.waybar.enable = lib.mkEnableOption "the Waybar status bar"; options.modules.desktop.session.waybar.enable = lib.mkEnableOption "the Waybar status bar";
@@ -50,11 +43,11 @@ in
spacing = 8; spacing = 8;
margin-right = 8; margin-right = 8;
modules-left = waybarModulesFor "left"; modules-left = moduleNames "left";
modules-center = waybarModulesFor "center"; modules-center = moduleNames "center";
modules-right = waybarModulesFor "right"; modules-right = moduleNames "right";
} }
registeredWaybarModuleSettings (lib.mapAttrs (_name: module: module.settings) modules)
]; ];
}; };