add slide-in applet dock with collapsible cards, edge trigger, and bar module toggle

This commit is contained in:
Damocles 2026-04-25 21:32:04 +02:00
parent 6fd36c812f
commit c22eb51dcd
14 changed files with 689 additions and 14 deletions

View file

@ -234,6 +234,46 @@ in
};
}
);
dock = moduleOpt "dock" {
width = lib.mkOption {
type = lib.types.int;
default = 300;
description = "Dock panel width in pixels.";
};
applets = lib.mkOption {
default = { };
description = "Per-applet enable flags for the dock (independent from bar modules).";
type = lib.types.submodule {
options =
lib.genAttrs
[
"clock"
"cpu"
"gpu"
"memory"
"temperature"
"disk"
"battery"
"network"
"bluetooth"
"volume"
"backlight"
"weather"
"mpris"
"notifications"
"power"
]
(
name:
lib.mkOption {
type = lib.types.bool;
default = true;
description = "Show ${name} applet in the dock.";
}
);
};
};
};
statsDaemon = lib.mkOption {
default = { };
description = "Configuration for the nova-stats daemon.";

View file

@ -25,7 +25,7 @@ let
installPhase = ''
runHook preInstall
mkdir -p $out/share/nova-shell
cp -r shell/shell.qml shell/modules shell/services shell/applets shell/lock shell/assets $out/share/nova-shell/
cp -r shell/shell.qml shell/modules shell/services shell/applets shell/dock shell/lock shell/assets $out/share/nova-shell/
runHook postInstall
'';
};