{ description = "Passes focused Niri window's PID to System76 Scheduler."; outputs = _: { nixosModules.default = { config, lib, pkgs, ... }: { options.services.niri-s76-bridge = { enable = lib.mkEnableOption "niri-s76-bridge service"; }; config = lib.mkIf config.services.niri-s76-bridge.enable { systemd.user.services.niri-s76-bridge = { description = "Bridge between niri and System76 Scheduler"; after = [ "graphical-session.target" ]; partOf = [ "graphical-session.target" ]; wantedBy = [ "graphical-session.target" ]; serviceConfig = { Type = "simple"; ExecStart = "${pkgs.nushell} ${./niri-s76-bridge.nu}"; Restart = "on-failure"; RestartSec = "5"; }; }; }; }; }; }