Add a Waybar module to the desktop group, enabled through the aggregator, showing workspaces with per-application icons plus a clock, MPRIS media controls, audio, network, battery, and a do-not-disturb toggle. The do-not-disturb widget drives mako's dnd mode and degrades gracefully until the notifications module lands. Module glyphs are Nerd Font codepoints decoded through JSON, backed by a system symbols font. Add a PipeWire audio server so the bar's volume widget has a running sink to read and drive.
20 lines
764 B
Nix
20 lines
764 B
Nix
{ config, lib, ... }:
|
|
# The desktop aggregator: one flag brings up the whole graphical session.
|
|
let
|
|
cfg = config.modules.desktop;
|
|
in
|
|
{
|
|
options.modules.desktop.enable = lib.mkEnableOption "the keyboard-driven Hyprland desktop";
|
|
|
|
# Each piece is turned on at default priority, so a host can still override
|
|
# any one of them while the single flag above enables the whole desktop.
|
|
config = lib.mkIf cfg.enable {
|
|
modules.desktop.hyprland.enable = lib.mkDefault true;
|
|
modules.desktop.login.enable = lib.mkDefault true;
|
|
modules.desktop.terminal.enable = lib.mkDefault true;
|
|
modules.desktop.theming.enable = lib.mkDefault true;
|
|
modules.desktop.waybar.enable = lib.mkDefault true;
|
|
modules.desktop.audio.enable = lib.mkDefault true;
|
|
};
|
|
}
|