fix(nixos): decouple game startup from guest readiness #50
@@ -142,24 +142,33 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
"${service.serviceName}-autostart" = {
|
||||||
|
description = "Queue ${service.serviceName} game server startup";
|
||||||
|
after = [ "network-online.target" ];
|
||||||
|
wants = [ "network-online.target" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
ExecStart = "${pkgs.systemd}/bin/systemctl --no-block start ${service.serviceName}.service";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
${service.serviceName} = {
|
${service.serviceName} = {
|
||||||
description = "${service.serviceName} game server";
|
description = "${service.serviceName} game server";
|
||||||
after = [
|
after = [
|
||||||
"multi-user.target"
|
|
||||||
"network-online.target"
|
"network-online.target"
|
||||||
"steamcmd-${service.serviceName}-update.service"
|
"steamcmd-${service.serviceName}-update.service"
|
||||||
];
|
];
|
||||||
wants = [ "network-online.target" ];
|
wants = [
|
||||||
wantedBy = [ "multi-user.target" ];
|
"network-online.target"
|
||||||
|
"steamcmd-${service.serviceName}-update.service"
|
||||||
|
];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "simple";
|
Type = "simple";
|
||||||
User = user;
|
User = user;
|
||||||
Group = group;
|
Group = group;
|
||||||
WorkingDirectory = "-${service.installDir}";
|
WorkingDirectory = "-${service.installDir}";
|
||||||
ExecStartPre = [
|
ExecStartPre = "+${prepareScript}";
|
||||||
"+${prepareScript}"
|
|
||||||
updateScript
|
|
||||||
];
|
|
||||||
ExecStart = startScript;
|
ExecStart = startScript;
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
TimeoutStartSec = "15min";
|
TimeoutStartSec = "15min";
|
||||||
|
|||||||
Reference in New Issue
Block a user