refactor(waybar): register custom modules #168

Merged
alexion merged 2 commits from refactor/waybar-module-registry into main 2026-10-11 21:11:08 -04:00
Owner

Summary

  • add a shared util.glyph helper for Nerd Font glyph decoding
  • add a waybar registry for host-scoped Waybar module fragments
  • let Waybar consume registry entries with a small local transform
  • move workspace, media, audio, network, battery, DND, recording, idle-lock, and VPN modules to their owning feature modules or hosts
  • make modules.network own NetworkManager and the Waybar network module
  • store window icon registry entries as rendered icon strings
  • use a Waybar bar margin instead of module-specific CSS

Verification

  • nix eval --json '.#nixosConfigurations.zeus.config.home-manager.users.alexion.programs.waybar.settings.mainBar.modules-left' | jq .
  • nix eval --json '.#nixosConfigurations.zeus.config.home-manager.users.alexion.programs.waybar.settings.mainBar.modules-center' | jq .
  • nix eval --json '.#nixosConfigurations.zeus.config.home-manager.users.alexion.programs.waybar.settings.mainBar.modules-right' | jq .
  • nix eval --json '.#nixosConfigurations.neogaia.config.home-manager.users.alexion.programs.waybar.settings.mainBar.modules-right' | jq .
  • nix eval --json '.#nixosConfigurations.neogaia.config.registry.waybar.neogaia.battery' | jq .
  • nix eval --json '.#nixosConfigurations.zeus.config.registry.waybar.zeus' | jq 'has("battery")'
  • nix eval --json '.#nixosConfigurations.zeus.config.modules.network.enable' | jq .
  • nix eval --json '.#nixosConfigurations.zeus.config.networking.networkmanager.enable' | jq .
  • nix eval --impure --expr 'let lib = import <nixpkgs/lib>; util = import ./src/dotfiles/util.nix { inherit lib; }; in { a = util.glyph "f269"; b = util.glyph [ "db83" "dc9d" ]; }' --json | jq .
  • nix run .#fix
  • bazel run //src/natu:natu -- configs/nixos/modules/desktop/session/waybar.nix
## Summary - add a shared `util.glyph` helper for Nerd Font glyph decoding - add a `waybar` registry for host-scoped Waybar module fragments - let Waybar consume registry entries with a small local transform - move workspace, media, audio, network, battery, DND, recording, idle-lock, and VPN modules to their owning feature modules or hosts - make `modules.network` own NetworkManager and the Waybar network module - store window icon registry entries as rendered icon strings - use a Waybar bar margin instead of module-specific CSS ## Verification - `nix eval --json '.#nixosConfigurations.zeus.config.home-manager.users.alexion.programs.waybar.settings.mainBar.modules-left' | jq .` - `nix eval --json '.#nixosConfigurations.zeus.config.home-manager.users.alexion.programs.waybar.settings.mainBar.modules-center' | jq .` - `nix eval --json '.#nixosConfigurations.zeus.config.home-manager.users.alexion.programs.waybar.settings.mainBar.modules-right' | jq .` - `nix eval --json '.#nixosConfigurations.neogaia.config.home-manager.users.alexion.programs.waybar.settings.mainBar.modules-right' | jq .` - `nix eval --json '.#nixosConfigurations.neogaia.config.registry.waybar.neogaia.battery' | jq .` - `nix eval --json '.#nixosConfigurations.zeus.config.registry.waybar.zeus' | jq 'has("battery")'` - `nix eval --json '.#nixosConfigurations.zeus.config.modules.network.enable' | jq .` - `nix eval --json '.#nixosConfigurations.zeus.config.networking.networkmanager.enable' | jq .` - `nix eval --impure --expr 'let lib = import <nixpkgs/lib>; util = import ./src/dotfiles/util.nix { inherit lib; }; in { a = util.glyph "f269"; b = util.glyph [ "db83" "dc9d" ]; }' --json | jq .` - `nix run .#fix` - `bazel run //src/natu:natu -- configs/nixos/modules/desktop/session/waybar.nix`
alexion added 2 commits 2026-10-11 21:07:44 -04:00
alexion force-pushed refactor/waybar-module-registry from 7a1ffb6ed2 to ee29e53f7c 2026-10-11 21:07:44 -04:00 Compare
alexion merged commit ee29e53f7c into main 2026-10-11 21:11:08 -04:00
alexion deleted branch refactor/waybar-module-registry 2026-10-11 21:11:08 -04:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: alexion/dev#168