From 7a1ffb6ed2bd4ac650f1b11e7f4ed81ee56fec4e Mon Sep 17 00:00:00 2001 From: alexion Date: Sun, 11 Oct 2026 20:59:05 -0400 Subject: [PATCH] refactor(waybar): simplify registry consumption --- .../nixos/modules/desktop/session/waybar.nix | 31 +++++++------------ 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/configs/nixos/modules/desktop/session/waybar.nix b/configs/nixos/modules/desktop/session/waybar.nix index 5711e2f..0e57a11 100644 --- a/configs/nixos/modules/desktop/session/waybar.nix +++ b/configs/nixos/modules/desktop/session/waybar.nix @@ -6,26 +6,19 @@ }: # Waybar: a top status bar reading system state at a glance. let - waybarModulesFor = + moduleNames = position: - map (module: module.name) ( - lib.sort (a: b: a.order < b.order) ( - lib.filter (module: module.position == position) registeredWaybarModules + map (entry: entry.name) ( + lib.sort (left: right: left.module.order < right.module.order) ( + lib.filter (entry: entry.module.position == position) moduleEntries ) ); - registeredWaybarModules = lib.mapAttrsToList ( - name: module: - module - // { - inherit name; - } - ) hostWaybarModules; - - hostWaybarModules = lib.attrByPath [ config.networking.hostName ] { } config.registry.waybar; - - registeredWaybarModuleSettings = lib.mapAttrs (_name: module: module.settings) hostWaybarModules; + moduleEntries = lib.mapAttrsToList (name: module: { + inherit name module; + }) modules; + modules = lib.attrByPath [ config.networking.hostName ] { } config.registry.waybar; in { options.modules.desktop.session.waybar.enable = lib.mkEnableOption "the Waybar status bar"; @@ -50,11 +43,11 @@ in spacing = 8; margin-right = 8; - modules-left = waybarModulesFor "left"; - modules-center = waybarModulesFor "center"; - modules-right = waybarModulesFor "right"; + modules-left = moduleNames "left"; + modules-center = moduleNames "center"; + modules-right = moduleNames "right"; } - registeredWaybarModuleSettings + (lib.mapAttrs (_name: module: module.settings) modules) ]; };