nix-files/hosts/common/programs/swaynotificationcenter.nix

84 lines
2.2 KiB
Nix

# <https://github.com/ErikReider/SwayNotificationCenter>
# sway notification daemon
# alternative to mako, dunst, etc
#
# query: `journalctl --user -u swaync`
#
# configuration defaults can be found in:
# - /run/current-system/etc/profiles/per-user/colin/etc/xdg/swaync/
{ ... }:
{
sane.programs.swaynotificationcenter = {
# fs.".config/swaync/style.css".symlink.text = ...
fs.".config/swaync/config.json".symlink.text = builtins.toJSON {
"$schema" = "/etc/xdg/swaync/configSchema.json";
positionX = "right";
positionY = "top";
layer = "overlay";
control-center-layer = "top";
layer-shell = true;
cssPriority = "application";
control-center-margin-top = 0;
control-center-margin-bottom = 0;
control-center-margin-right = 0;
control-center-margin-left = 0;
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 = 600;
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;
scripts = {
};
notification-visibility = {
example-name = {
state = "muted";
urgency = "Low";
app-name = "Spotify";
};
};
widgets = [
"inhibitors"
"title"
"dnd"
"notifications"
];
widget-config = {
inhibitors = {
text = "Inhibitors";
button-text = "Clear All";
clear-all-button = true;
};
title = {
text = "Notifications";
clear-all-button = true;
button-text = "Clear All";
};
dnd = {
text = "Do Not Disturb";
};
label = {
max-lines = 5;
text = "Label Text";
};
mpris = {
image-size = 96;
image-radius = 12;
};
};
};
};
}