systemd-lib: add Install WantedBy section to make units similar to upstream ones

and make them better grepable
This commit is contained in:
Sandro Jäckel 2023-11-09 01:59:59 +01:00
parent 7c19f30a07
commit 9fbf82d9cb
No known key found for this signature in database
GPG Key ID: 3AF5A43A3EECC2E5

View File

@ -360,9 +360,13 @@ in rec {
};
};
commonUnitText = def: ''
commonUnitText = def: lines: ''
[Unit]
${attrsToSection def.unitConfig}
'' + lines + lib.optionalString (def.wantedBy != [ ]) ''
[Install]
WantedBy=${concatStringsSep " " def.wantedBy}
'';
targetToUnit = name: def:
@ -376,7 +380,7 @@ in rec {
serviceToUnit = name: def:
{ inherit (def) aliases wantedBy requiredBy enable overrideStrategy;
text = commonUnitText def + ''
text = commonUnitText def (''
[Service]
'' + (let env = cfg.globalEnvironment // def.environment;
in concatMapStrings (n:
@ -392,13 +396,12 @@ in rec {
'' else "")
+ optionalString (def ? stopIfChanged && !def.stopIfChanged) ''
X-StopIfChanged=false
'' + attrsToSection def.serviceConfig;
'' + attrsToSection def.serviceConfig);
};
socketToUnit = name: def:
{ inherit (def) aliases wantedBy requiredBy enable overrideStrategy;
text = commonUnitText def +
''
text = commonUnitText def ''
[Socket]
${attrsToSection def.socketConfig}
${concatStringsSep "\n" (map (s: "ListenStream=${s}") def.listenStreams)}
@ -408,8 +411,7 @@ in rec {
timerToUnit = name: def:
{ inherit (def) aliases wantedBy requiredBy enable overrideStrategy;
text = commonUnitText def +
''
text = commonUnitText def ''
[Timer]
${attrsToSection def.timerConfig}
'';
@ -417,8 +419,7 @@ in rec {
pathToUnit = name: def:
{ inherit (def) aliases wantedBy requiredBy enable overrideStrategy;
text = commonUnitText def +
''
text = commonUnitText def ''
[Path]
${attrsToSection def.pathConfig}
'';
@ -426,8 +427,7 @@ in rec {
mountToUnit = name: def:
{ inherit (def) aliases wantedBy requiredBy enable overrideStrategy;
text = commonUnitText def +
''
text = commonUnitText def ''
[Mount]
${attrsToSection def.mountConfig}
'';
@ -444,8 +444,7 @@ in rec {
sliceToUnit = name: def:
{ inherit (def) aliases wantedBy requiredBy enable overrideStrategy;
text = commonUnitText def +
''
text = commonUnitText def ''
[Slice]
${attrsToSection def.sliceConfig}
'';