45 lines
1.1 KiB
Nix
45 lines
1.1 KiB
Nix
|
{ options, config, lib, pkgs, ... }:
|
||
|
|
||
|
with lib;
|
||
|
with lib.plusultra;
|
||
|
let cfg = config.plusultra.desktop.addons.mako;
|
||
|
in
|
||
|
{
|
||
|
options.plusultra.desktop.addons.mako = with types; {
|
||
|
enable = mkBoolOpt false "Whether to enable Mako in Sway.";
|
||
|
};
|
||
|
|
||
|
config = mkIf cfg.enable {
|
||
|
environment.systemPackages = with pkgs; [ mako libnotify ];
|
||
|
|
||
|
systemd.user.services.mako = {
|
||
|
description = "Mako notification daemon";
|
||
|
wantedBy = [ "graphical-session.target" ];
|
||
|
partOf = [ "graphical-session.target" ];
|
||
|
after = [ "graphical-session.target" ];
|
||
|
serviceConfig = {
|
||
|
Type = "dbus";
|
||
|
BusName = "org.freedesktop.Notifications";
|
||
|
|
||
|
ExecCondition = ''
|
||
|
${pkgs.bash}/bin/bash -c '[ -n "$WAYLAND_DISPLAY" ]'
|
||
|
'';
|
||
|
|
||
|
ExecStart = ''
|
||
|
${pkgs.mako}/bin/mako
|
||
|
'';
|
||
|
|
||
|
ExecReload = ''
|
||
|
${pkgs.mako}/bin/makoctl reload
|
||
|
'';
|
||
|
|
||
|
Restart = "on-failure";
|
||
|
RestartSec = 1;
|
||
|
TimeoutStopSec = 10;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
plusultra.home.configFile."mako/config".source = ./config;
|
||
|
};
|
||
|
}
|