diff --git a/nixos/modules/services/scheduling/scx.nix b/nixos/modules/services/scheduling/scx.nix index 2a83788adfd8..dc2e5178dc58 100644 --- a/nixos/modules/services/scheduling/scx.nix +++ b/nixos/modules/services/scheduling/scx.nix @@ -101,14 +101,15 @@ in serviceConfig = { Type = "simple"; - ExecStart = utils.escapeSystemdExecArgs ( - [ - (lib.getExe' cfg.package cfg.scheduler) - ] - ++ cfg.extraArgs - ); + ExecStart = '' + ${pkgs.runtimeShell} -c 'exec ${cfg.package}/bin/''${SCX_SCHEDULER_OVERRIDE:-$SCX_SCHEDULER} ''${SCX_FLAGS_OVERRIDE:-$SCX_FLAGS}' + ''; Restart = "on-failure"; }; + environment = { + SCX_SCHEDULER = cfg.scheduler; + SCX_FLAGS = lib.escapeShellArgs cfg.extraArgs; + }; wantedBy = [ "multi-user.target" ]; };