{ tgcMaintainers, tgcFlake, ... }: { config, pkgs, lib, ... }: let cfg = config.tgc.programs.nirius; in { meta.maintainers = [ tgcMaintainers.zaphyra ]; options.tgc.programs.nirius = { enable = lib.mkEnableOption "Enable nirius - utility commands for the niri wayland compositor"; package = lib.mkPackageOption tgcFlake.packages.${pkgs.system} "nirius" { }; }; config = lib.mkIf cfg.enable { home.packages = [ cfg.package ]; systemd.user.services.niriusd = { Unit = { Description = "Nirius: utility commands for the niri wayland compositor"; Documentation = "https://git.sr.ht/~tsdh/nirius"; After = [ "graphical-session-pre.target" "niri.service" ]; PartOf = [ "graphical-session.target" ]; }; Service = { Restart = "on-failure"; RestartSec = 5; ExecStart = lib.getExe' cfg.package "niriusd"; }; Install.WantedBy = [ "niri.service" ]; }; }; }