marleyos/modules/home/services/swaync/default.nix
2025-01-12 17:38:45 -08:00

76 lines
1.9 KiB
Nix

{
lib,
config,
...
}: let
cfg = config.marleyos.services.swaync;
in {
options.marleyos.services.swaync.enable = lib.mkEnableOption "swaync";
config = lib.mkIf cfg.enable {
services.swaync = {
enable = true;
settings = {
positionX = "right";
positionY = "top";
layer = "overlay";
control-center-layer = "top";
layer-shell = true;
cssPriority = "application";
control-center-margin-top = 10;
control-center-margin-bottom = 10;
control-center-margin-right = 10;
control-center-margin-left = 10;
notification-2fa-action = true;
notification-inline-replies = false;
notification-icon-size = 64;
notification-body-image-height = 100;
notification-body-image-width = 200;
timeout = 10;
timeout-low = 5;
timeout-critical = 0;
fit-to-screen = true;
control-center-width = 500;
control-center-height = 1025;
notification-window-width = 500;
keyboard-shortcuts = true;
image-visibility = "when-available";
transition-time = 200;
hide-on-clear = false;
hide-on-action = true;
script-fail-notify = true;
widgets = [
"title"
"mpris"
"volume"
"dnd"
"notifications"
];
widget-config = {
title = {
text = "Notification Center";
clear-all-button = true;
button-text = "󰆴 clear all";
};
dnd = {
text = "do not disturb";
};
label = {
max-lines = 1;
text = "Notification Center";
};
mpris = {
image-size = 96;
image-radius = 7;
};
volume = {
label = "󰕾";
};
};
};
};
};
}