{pkgs, ...}: { xdg.enable = true; xdg.configFile = { "swaync/themes" = { source = ./themes; }; "swaync/icons" = { source = ./icons; recursive = true; }; }; services.swaync.style = '' @import 'themes/nova-dark/notifications.css'; @import 'themes/nova-dark/central_control.css'; ''; services.swaync.settings = { positionX = "right"; positionY = "top"; cssPriority = "user"; control-center-width = 380; control-center-height = 860; control-center-margin-top = 2; control-center-margin-bottom = 2; control-center-margin-right = 1; control-center-margin-left = 0; notification-window-width = 400; notification-icon-size = 48; notification-body-image-height = 160; notification-body-image-width = 200; timeout = 4; timeout-low = 2; timeout-critical = 6; fit-to-screen = false; keyboard-shortcuts = true; image-visibility = "when-available"; transition-time = 200; hide-on-clear = false; hide-on-action = false; script-fail-notify = true; scripts = { example-script = { exec = "echo 'Do something...'"; urgency = "Normal"; }; }; notification-visibility = { example-name = { state = "muted"; urgency = "Low"; app-name = "Spotify"; }; }; widgets = [ "label" "buttons-grid" "mpris" "title" "dnd" "notifications" ]; widget-config = { title = { text = "Notifications"; clear-all-button = true; button-text = " 󰎟 "; }; dnd = { text = "Do not disturb"; }; label = { max-lines = 1; text = " "; }; mpris = { image-size = 96; image-radius = 12; }; volume = { label = "󰕾"; show-per-app = true; }; buttons-grid = { actions = [ { label = " "; command = "${pkgs.alsa-utils}/bin/amixer set Master toggle"; } { label = ""; command = "${pkgs.alsa-utils}/bin/amixer set Capture toggle"; } { label = " "; command = "${pkgs.networkmanagerapplet}/bin/nm-connection-editor"; } { label = "󰂯"; command = "${pkgs.blueman}/bin/blueman-manager"; } ]; }; }; }; }