43 lines
1.2 KiB
Nix
43 lines
1.2 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
...
|
|
}:
|
|
# mako as the notification daemon: toasts, a do-not-disturb mode, and history recall.
|
|
let
|
|
user = config.user.name;
|
|
in
|
|
{
|
|
options.modules.desktop.session.mako.enable = lib.mkEnableOption "the mako notification daemon";
|
|
|
|
config = lib.mkIf config.modules.desktop.session.mako.enable {
|
|
home-manager.users.${user} = {
|
|
# Colors and the popup font come from Stylix's mako target, so only
|
|
# behaviour is set here.
|
|
services.mako = {
|
|
enable = true;
|
|
|
|
settings = {
|
|
# Toasts auto-dismiss into history rather than lingering.
|
|
# mako's own default of 0 leaves every notification on screen until acted on.
|
|
default-timeout = 5000;
|
|
|
|
# The do-not-disturb mode.
|
|
# Invisible hides the toasts but still records them to history.
|
|
# Missed notifications can therefore be recalled.
|
|
"mode=dnd".invisible = true;
|
|
};
|
|
};
|
|
|
|
/*
|
|
Slice 1 disables external Hyprland binds while the compositor config
|
|
moves to a minimal Lua baseline.
|
|
|
|
wayland.windowManager.hyprland.settings.bind = [
|
|
"$mod, N, exec, ${makoctl} restore"
|
|
];
|
|
*/
|
|
};
|
|
};
|
|
}
|