nixcfg/modules/nixos/desktop/addons/mako/default.nix
2024-01-11 10:31:04 +00:00

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;
};
}