{ tgcFlake, tgcMaintainers, ... }: { config, lib, pkgs, ... }: let cfg = config.tgc.services.niri-screen-time; in { meta.maintainers = [ tgcMaintainers.zaphyra ]; options.tgc.services.niri-screen-time = { enable = lib.mkEnableOption "Niri Screen Time"; package = lib.mkPackageOption tgcFlake.packages.${pkgs.system} "niri-screen-time" { }; }; config = lib.mkIf cfg.enable { home.packages = [ cfg.package ]; systemd.user.services.niri-screen-time = { Unit = { Description = "Niri Screen Time"; Documentation = "https://github.com/probeldev/niri-screen-time"; After = [ "niri.service" ]; PartOf = [ "graphical-session.target" ]; }; Service = { Restart = "on-failure"; RestartSec = 5; ExecStart = "${lib.getExe cfg.package} -daemon"; }; Install.WantedBy = [ "niri.service" ]; }; }; }