git.iko.soy/typeable/nixpkgs
on master help sign in
nixos/systemd-unit-options: Fix indentation
commitbeb02229fb92b5dfad59e27ced9f635846d1a5c1 authorJanne Heß <janne@hess.ooo> dateMon 4 Apr 2022, 11:48 (5 years ago) parent4b9efea
1 file changed+367−350
nixos/lib/systemd-unit-options.nix+367−350
nixos/lib/systemd-unit-options.nix+367−350
@@ -94,131 +94,133 @@ in rec {
9494
9595 };
9696
97− commonUnitOptions = { options = (sharedOptions // {
97+ commonUnitOptions = {
98+ options = sharedOptions // {
9899
99− description = mkOption {
100− default = "";
101− type = types.singleLineStr;
102− description = "Description of this unit used in systemd messages and progress indicators.";
103− };
100+ description = mkOption {
101+ default = "";
102+ type = types.singleLineStr;
103+ description = "Description of this unit used in systemd messages and progress indicators.";
104+ };
104105
105− documentation = mkOption {
106− default = [];
107− type = types.listOf types.str;
108− description = "A list of URIs referencing documentation for this unit or its configuration.";
109− };
106+ documentation = mkOption {
107+ default = [];
108+ type = types.listOf types.str;
109+ description = "A list of URIs referencing documentation for this unit or its configuration.";
110+ };
110111
111− requires = mkOption {
112− default = [];
113− type = types.listOf unitNameType;
114− description = ''
115− Start the specified units when this unit is started, and stop
116− this unit when the specified units are stopped or fail.
117− '';
118− };
112+ requires = mkOption {
113+ default = [];
114+ type = types.listOf unitNameType;
115+ description = ''
116+ Start the specified units when this unit is started, and stop
117+ this unit when the specified units are stopped or fail.
118+ '';
119+ };
119120
120− wants = mkOption {
121− default = [];
122− type = types.listOf unitNameType;
123− description = ''
124− Start the specified units when this unit is started.
125− '';
126− };
121+ wants = mkOption {
122+ default = [];
123+ type = types.listOf unitNameType;
124+ description = ''
125+ Start the specified units when this unit is started.
126+ '';
127+ };
127128
128− after = mkOption {
129− default = [];
130− type = types.listOf unitNameType;
131− description = ''
132− If the specified units are started at the same time as
133− this unit, delay this unit until they have started.
134− '';
135− };
129+ after = mkOption {
130+ default = [];
131+ type = types.listOf unitNameType;
132+ description = ''
133+ If the specified units are started at the same time as
134+ this unit, delay this unit until they have started.
135+ '';
136+ };
136137
137− before = mkOption {
138− default = [];
139− type = types.listOf unitNameType;
140− description = ''
141− If the specified units are started at the same time as
142− this unit, delay them until this unit has started.
143− '';
144− };
138+ before = mkOption {
139+ default = [];
140+ type = types.listOf unitNameType;
141+ description = ''
142+ If the specified units are started at the same time as
143+ this unit, delay them until this unit has started.
144+ '';
145+ };
145146
146− bindsTo = mkOption {
147− default = [];
148− type = types.listOf unitNameType;
149− description = ''
150− Like ‘requires’, but in addition, if the specified units
151− unexpectedly disappear, this unit will be stopped as well.
152− '';
153− };
147+ bindsTo = mkOption {
148+ default = [];
149+ type = types.listOf unitNameType;
150+ description = ''
151+ Like ‘requires’, but in addition, if the specified units
152+ unexpectedly disappear, this unit will be stopped as well.
153+ '';
154+ };
154155
155− partOf = mkOption {
156− default = [];
157− type = types.listOf unitNameType;
158− description = ''
159− If the specified units are stopped or restarted, then this
160− unit is stopped or restarted as well.
161− '';
162− };
156+ partOf = mkOption {
157+ default = [];
158+ type = types.listOf unitNameType;
159+ description = ''
160+ If the specified units are stopped or restarted, then this
161+ unit is stopped or restarted as well.
162+ '';
163+ };
163164
164− conflicts = mkOption {
165− default = [];
166− type = types.listOf unitNameType;
167− description = ''
168− If the specified units are started, then this unit is stopped
169− and vice versa.
170− '';
171− };
165+ conflicts = mkOption {
166+ default = [];
167+ type = types.listOf unitNameType;
168+ description = ''
169+ If the specified units are started, then this unit is stopped
170+ and vice versa.
171+ '';
172+ };
172173
173− requisite = mkOption {
174− default = [];
175− type = types.listOf unitNameType;
176− description = ''
177− Similar to requires. However if the units listed are not started,
178− they will not be started and the transaction will fail.
179− '';
180− };
174+ requisite = mkOption {
175+ default = [];
176+ type = types.listOf unitNameType;
177+ description = ''
178+ Similar to requires. However if the units listed are not started,
179+ they will not be started and the transaction will fail.
180+ '';
181+ };
181182
182− unitConfig = mkOption {
183− default = {};
184− example = { RequiresMountsFor = "/data"; };
185− type = types.attrsOf unitOption;
186− description = ''
187− Each attribute in this set specifies an option in the
188− <literal>[Unit]</literal> section of the unit. See
189− <citerefentry><refentrytitle>systemd.unit</refentrytitle>
190− <manvolnum>5</manvolnum></citerefentry> for details.
191− '';
192− };
183+ unitConfig = mkOption {
184+ default = {};
185+ example = { RequiresMountsFor = "/data"; };
186+ type = types.attrsOf unitOption;
187+ description = ''
188+ Each attribute in this set specifies an option in the
189+ <literal>[Unit]</literal> section of the unit. See
190+ <citerefentry><refentrytitle>systemd.unit</refentrytitle>
191+ <manvolnum>5</manvolnum></citerefentry> for details.
192+ '';
193+ };
193194
194− onFailure = mkOption {
195− default = [];
196− type = types.listOf unitNameType;
197− description = ''
198− A list of one or more units that are activated when
199− this unit enters the "failed" state.
200− '';
201− };
195+ onFailure = mkOption {
196+ default = [];
197+ type = types.listOf unitNameType;
198+ description = ''
199+ A list of one or more units that are activated when
200+ this unit enters the "failed" state.
201+ '';
202+ };
202203
203− startLimitBurst = mkOption {
204− type = types.int;
205− description = ''
206− Configure unit start rate limiting. Units which are started
207− more than startLimitBurst times within an interval time
208− interval are not permitted to start any more.
209− '';
210− };
204+ startLimitBurst = mkOption {
205+ type = types.int;
206+ description = ''
207+ Configure unit start rate limiting. Units which are started
208+ more than startLimitBurst times within an interval time
209+ interval are not permitted to start any more.
210+ '';
211+ };
211212
212− startLimitIntervalSec = mkOption {
213− type = types.int;
214− description = ''
215− Configure unit start rate limiting. Units which are started
216− more than startLimitBurst times within an interval time
217− interval are not permitted to start any more.
218− '';
219− };
213+ startLimitIntervalSec = mkOption {
214+ type = types.int;
215+ description = ''
216+ Configure unit start rate limiting. Units which are started
217+ more than startLimitBurst times within an interval time
218+ interval are not permitted to start any more.
219+ '';
220+ };
220221
221− }); };
222+ };
223+ };
222224
223225 stage2CommonUnitOptions = {
224226 imports = [
@@ -250,131 +252,132 @@ in rec {
250252 };
251253 stage1CommonUnitOptions = commonUnitOptions;
252254
253− serviceOptions = { name, config, ... }: { options = {
255+ serviceOptions = { name, config, ... }: {
256+ options = {
254257
255− environment = mkOption {
256− default = {};
257− type = with types; attrsOf (nullOr (oneOf [ str path package ]));
258− example = { PATH = "/foo/bar/bin"; LANG = "nl_NL.UTF-8"; };
259− description = "Environment variables passed to the service's processes.";
260− };
258+ environment = mkOption {
259+ default = {};
260+ type = with types; attrsOf (nullOr (oneOf [ str path package ]));
261+ example = { PATH = "/foo/bar/bin"; LANG = "nl_NL.UTF-8"; };
262+ description = "Environment variables passed to the service's processes.";
263+ };
261264
262− path = mkOption {
263− default = [];
264− type = with types; listOf (oneOf [ package str ]);
265− description = ''
266− Packages added to the service's <envar>PATH</envar>
267− environment variable. Both the <filename>bin</filename>
268− and <filename>sbin</filename> subdirectories of each
269− package are added.
270− '';
271− };
265+ path = mkOption {
266+ default = [];
267+ type = with types; listOf (oneOf [ package str ]);
268+ description = ''
269+ Packages added to the service's <envar>PATH</envar>
270+ environment variable. Both the <filename>bin</filename>
271+ and <filename>sbin</filename> subdirectories of each
272+ package are added.
273+ '';
274+ };
272275
273− serviceConfig = mkOption {
274− default = {};
275− example =
276− { RestartSec = 5;
277− };
278− type = types.addCheck (types.attrsOf unitOption) checkService;
279− description = ''
280− Each attribute in this set specifies an option in the
281− <literal>[Service]</literal> section of the unit. See
282− <citerefentry><refentrytitle>systemd.service</refentrytitle>
283− <manvolnum>5</manvolnum></citerefentry> for details.
284− '';
285− };
276+ serviceConfig = mkOption {
277+ default = {};
278+ example =
279+ { RestartSec = 5;
280+ };
281+ type = types.addCheck (types.attrsOf unitOption) checkService;
282+ description = ''
283+ Each attribute in this set specifies an option in the
284+ <literal>[Service]</literal> section of the unit. See
285+ <citerefentry><refentrytitle>systemd.service</refentrytitle>
286+ <manvolnum>5</manvolnum></citerefentry> for details.
287+ '';
288+ };
286289
287− script = mkOption {
288− type = types.lines;
289− default = "";
290− description = "Shell commands executed as the service's main process.";
291− };
290+ script = mkOption {
291+ type = types.lines;
292+ default = "";
293+ description = "Shell commands executed as the service's main process.";
294+ };
292295
293− scriptArgs = mkOption {
294− type = types.str;
295− default = "";
296− description = "Arguments passed to the main process script.";
297− };
296+ scriptArgs = mkOption {
297+ type = types.str;
298+ default = "";
299+ description = "Arguments passed to the main process script.";
300+ };
298301
299− preStart = mkOption {
300− type = types.lines;
301− default = "";
302− description = ''
303− Shell commands executed before the service's main process
304− is started.
305− '';
306− };
302+ preStart = mkOption {
303+ type = types.lines;
304+ default = "";
305+ description = ''
306+ Shell commands executed before the service's main process
307+ is started.
308+ '';
309+ };
307310
308− postStart = mkOption {
309− type = types.lines;
310− default = "";
311− description = ''
312− Shell commands executed after the service's main process
313− is started.
314− '';
315− };
311+ postStart = mkOption {
312+ type = types.lines;
313+ default = "";
314+ description = ''
315+ Shell commands executed after the service's main process
316+ is started.
317+ '';
318+ };
316319
317− reload = mkOption {
318− type = types.lines;
319− default = "";
320− description = ''
321− Shell commands executed when the service's main process
322− is reloaded.
323− '';
324− };
320+ reload = mkOption {
321+ type = types.lines;
322+ default = "";
323+ description = ''
324+ Shell commands executed when the service's main process
325+ is reloaded.
326+ '';
327+ };
325328
326− preStop = mkOption {
327− type = types.lines;
328− default = "";
329− description = ''
330− Shell commands executed to stop the service.
331− '';
332− };
329+ preStop = mkOption {
330+ type = types.lines;
331+ default = "";
332+ description = ''
333+ Shell commands executed to stop the service.
334+ '';
335+ };
333336
334− postStop = mkOption {
335− type = types.lines;
336− default = "";
337− description = ''
338− Shell commands executed after the service's main process
339− has exited.
340− '';
341− };
337+ postStop = mkOption {
338+ type = types.lines;
339+ default = "";
340+ description = ''
341+ Shell commands executed after the service's main process
342+ has exited.
343+ '';
344+ };
342345
343− jobScripts = mkOption {
344− type = with types; coercedTo path singleton (listOf path);
345− internal = true;
346− description = "A list of all job script derivations of this unit.";
347− default = [];
348− };
346+ jobScripts = mkOption {
347+ type = with types; coercedTo path singleton (listOf path);
348+ internal = true;
349+ description = "A list of all job script derivations of this unit.";
350+ default = [];
351+ };
349352
350− };
353+ };
351354
352− config = mkMerge [
353− (mkIf (config.preStart != "") rec {
354− jobScripts = makeJobScript "${name}-pre-start" config.preStart;
355− serviceConfig.ExecStartPre = [ jobScripts ];
356− })
357− (mkIf (config.script != "") rec {
358− jobScripts = makeJobScript "${name}-start" config.script;
359− serviceConfig.ExecStart = jobScripts + " " + config.scriptArgs;
360− })
361− (mkIf (config.postStart != "") rec {
362− jobScripts = (makeJobScript "${name}-post-start" config.postStart);
363− serviceConfig.ExecStartPost = [ jobScripts ];
364− })
365− (mkIf (config.reload != "") rec {
366− jobScripts = makeJobScript "${name}-reload" config.reload;
367− serviceConfig.ExecReload = jobScripts;
368− })
369− (mkIf (config.preStop != "") rec {
370− jobScripts = makeJobScript "${name}-pre-stop" config.preStop;
371− serviceConfig.ExecStop = jobScripts;
372− })
373− (mkIf (config.postStop != "") rec {
374− jobScripts = makeJobScript "${name}-post-stop" config.postStop;
375− serviceConfig.ExecStopPost = jobScripts;
376− })
377− ];
355+ config = mkMerge [
356+ (mkIf (config.preStart != "") rec {
357+ jobScripts = makeJobScript "${name}-pre-start" config.preStart;
358+ serviceConfig.ExecStartPre = [ jobScripts ];
359+ })
360+ (mkIf (config.script != "") rec {
361+ jobScripts = makeJobScript "${name}-start" config.script;
362+ serviceConfig.ExecStart = jobScripts + " " + config.scriptArgs;
363+ })
364+ (mkIf (config.postStart != "") rec {
365+ jobScripts = (makeJobScript "${name}-post-start" config.postStart);
366+ serviceConfig.ExecStartPost = [ jobScripts ];
367+ })
368+ (mkIf (config.reload != "") rec {
369+ jobScripts = makeJobScript "${name}-reload" config.reload;
370+ serviceConfig.ExecReload = jobScripts;
371+ })
372+ (mkIf (config.preStop != "") rec {
373+ jobScripts = makeJobScript "${name}-pre-stop" config.preStop;
374+ serviceConfig.ExecStop = jobScripts;
375+ })
376+ (mkIf (config.postStop != "") rec {
377+ jobScripts = makeJobScript "${name}-post-stop" config.postStop;
378+ serviceConfig.ExecStopPost = jobScripts;
379+ })
380+ ];
378381
379382 };
380383
@@ -450,41 +453,43 @@ in rec {
450453 };
451454
452455
453− socketOptions = { options = {
456+ socketOptions = {
457+ options = {
454458
455− listenStreams = mkOption {
456− default = [];
457− type = types.listOf types.str;
458− example = [ "0.0.0.0:993" "/run/my-socket" ];
459− description = ''
460− For each item in this list, a <literal>ListenStream</literal>
461− option in the <literal>[Socket]</literal> section will be created.
462− '';
463− };
459+ listenStreams = mkOption {
460+ default = [];
461+ type = types.listOf types.str;
462+ example = [ "0.0.0.0:993" "/run/my-socket" ];
463+ description = ''
464+ For each item in this list, a <literal>ListenStream</literal>
465+ option in the <literal>[Socket]</literal> section will be created.
466+ '';
467+ };
464468
465− listenDatagrams = mkOption {
466− default = [];
467− type = types.listOf types.str;
468− example = [ "0.0.0.0:993" "/run/my-socket" ];
469− description = ''
470− For each item in this list, a <literal>ListenDatagram</literal>
471− option in the <literal>[Socket]</literal> section will be created.
472− '';
473− };
469+ listenDatagrams = mkOption {
470+ default = [];
471+ type = types.listOf types.str;
472+ example = [ "0.0.0.0:993" "/run/my-socket" ];
473+ description = ''
474+ For each item in this list, a <literal>ListenDatagram</literal>
475+ option in the <literal>[Socket]</literal> section will be created.
476+ '';
477+ };
474478
475− socketConfig = mkOption {
476− default = {};
477− example = { ListenStream = "/run/my-socket"; };
478− type = types.attrsOf unitOption;
479− description = ''
480− Each attribute in this set specifies an option in the
481− <literal>[Socket]</literal> section of the unit. See
482− <citerefentry><refentrytitle>systemd.socket</refentrytitle>
483− <manvolnum>5</manvolnum></citerefentry> for details.
484− '';
479+ socketConfig = mkOption {
480+ default = {};
481+ example = { ListenStream = "/run/my-socket"; };
482+ type = types.attrsOf unitOption;
483+ description = ''
484+ Each attribute in this set specifies an option in the
485+ <literal>[Socket]</literal> section of the unit. See
486+ <citerefentry><refentrytitle>systemd.socket</refentrytitle>
487+ <manvolnum>5</manvolnum></citerefentry> for details.
488+ '';
489+ };
485490 };
486491
487− }; };
492+ };
488493
489494 stage2SocketOptions = {
490495 imports = [
@@ -501,23 +506,25 @@ in rec {
501506 };
502507
503508
504− timerOptions = { options = {
509+ timerOptions = {
510+ options = {
511+
512+ timerConfig = mkOption {
513+ default = {};
514+ example = { OnCalendar = "Sun 14:00:00"; Unit = "foo.service"; };
515+ type = types.attrsOf unitOption;
516+ description = ''
517+ Each attribute in this set specifies an option in the
518+ <literal>[Timer]</literal> section of the unit. See
519+ <citerefentry><refentrytitle>systemd.timer</refentrytitle>
520+ <manvolnum>5</manvolnum></citerefentry> and
521+ <citerefentry><refentrytitle>systemd.time</refentrytitle>
522+ <manvolnum>7</manvolnum></citerefentry> for details.
523+ '';
524+ };
505525
506− timerConfig = mkOption {
507− default = {};
508− example = { OnCalendar = "Sun 14:00:00"; Unit = "foo.service"; };
509− type = types.attrsOf unitOption;
510− description = ''
511− Each attribute in this set specifies an option in the
512− <literal>[Timer]</literal> section of the unit. See
513− <citerefentry><refentrytitle>systemd.timer</refentrytitle>
514− <manvolnum>5</manvolnum></citerefentry> and
515− <citerefentry><refentrytitle>systemd.time</refentrytitle>
516− <manvolnum>7</manvolnum></citerefentry> for details.
517− '';
518526 };
519−
520− }; };
527+ };
521528
522529 stage2TimerOptions = {
523530 imports = [
@@ -534,21 +541,23 @@ in rec {
534541 };
535542
536543
537− pathOptions = { options = {
544+ pathOptions = {
545+ options = {
538546
539− pathConfig = mkOption {
540− default = {};
541− example = { PathChanged = "/some/path"; Unit = "changedpath.service"; };
542− type = types.attrsOf unitOption;
543− description = ''
544− Each attribute in this set specifies an option in the
545− <literal>[Path]</literal> section of the unit. See
546− <citerefentry><refentrytitle>systemd.path</refentrytitle>
547− <manvolnum>5</manvolnum></citerefentry> for details.
548− '';
549− };
547+ pathConfig = mkOption {
548+ default = {};
549+ example = { PathChanged = "/some/path"; Unit = "changedpath.service"; };
550+ type = types.attrsOf unitOption;
551+ description = ''
552+ Each attribute in this set specifies an option in the
553+ <literal>[Path]</literal> section of the unit. See
554+ <citerefentry><refentrytitle>systemd.path</refentrytitle>
555+ <manvolnum>5</manvolnum></citerefentry> for details.
556+ '';
557+ };
550558
551− }; };
559+ };
560+ };
552561
553562 stage2PathOptions = {
554563 imports = [
@@ -565,49 +574,52 @@ in rec {
565574 };
566575
567576
568− mountOptions = { options = {
577+ mountOptions = {
578+ options = {
569579
570− what = mkOption {
571− example = "/dev/sda1";
572− type = types.str;
573− description = "Absolute path of device node, file or other resource. (Mandatory)";
574− };
580+ what = mkOption {
581+ example = "/dev/sda1";
582+ type = types.str;
583+ description = "Absolute path of device node, file or other resource. (Mandatory)";
584+ };
575585
576− where = mkOption {
577− example = "/mnt";
578− type = types.str;
579− description = ''
580− Absolute path of a directory of the mount point.
581− Will be created if it doesn't exist. (Mandatory)
582− '';
583− };
586+ where = mkOption {
587+ example = "/mnt";
588+ type = types.str;
589+ description = ''
590+ Absolute path of a directory of the mount point.
591+ Will be created if it doesn't exist. (Mandatory)
592+ '';
593+ };
584594
585− type = mkOption {
586− default = "";
587− example = "ext4";
588− type = types.str;
589− description = "File system type.";
590− };
595+ type = mkOption {
596+ default = "";
597+ example = "ext4";
598+ type = types.str;
599+ description = "File system type.";
600+ };
591601
592− options = mkOption {
593− default = "";
594− example = "noatime";
595− type = types.commas;
596− description = "Options used to mount the file system.";
597− };
602+ options = mkOption {
603+ default = "";
604+ example = "noatime";
605+ type = types.commas;
606+ description = "Options used to mount the file system.";
607+ };
608+
609+ mountConfig = mkOption {
610+ default = {};
611+ example = { DirectoryMode = "0775"; };
612+ type = types.attrsOf unitOption;
613+ description = ''
614+ Each attribute in this set specifies an option in the
615+ <literal>[Mount]</literal> section of the unit. See
616+ <citerefentry><refentrytitle>systemd.mount</refentrytitle>
617+ <manvolnum>5</manvolnum></citerefentry> for details.
618+ '';
619+ };
598620
599− mountConfig = mkOption {
600− default = {};
601− example = { DirectoryMode = "0775"; };
602− type = types.attrsOf unitOption;
603− description = ''
604− Each attribute in this set specifies an option in the
605− <literal>[Mount]</literal> section of the unit. See
606− <citerefentry><refentrytitle>systemd.mount</refentrytitle>
607− <manvolnum>5</manvolnum></citerefentry> for details.
608− '';
609621 };
610− }; };
622+ };
611623
612624 stage2MountOptions = {
613625 imports = [
@@ -623,29 +635,32 @@ in rec {
623635 ];
624636 };
625637
626− automountOptions = { options = {
638+ automountOptions = {
639+ options = {
627640
628− where = mkOption {
629− example = "/mnt";
630− type = types.str;
631− description = ''
632− Absolute path of a directory of the mount point.
633− Will be created if it doesn't exist. (Mandatory)
634− '';
635− };
641+ where = mkOption {
642+ example = "/mnt";
643+ type = types.str;
644+ description = ''
645+ Absolute path of a directory of the mount point.
646+ Will be created if it doesn't exist. (Mandatory)
647+ '';
648+ };
649+
650+ automountConfig = mkOption {
651+ default = {};
652+ example = { DirectoryMode = "0775"; };
653+ type = types.attrsOf unitOption;
654+ description = ''
655+ Each attribute in this set specifies an option in the
656+ <literal>[Automount]</literal> section of the unit. See
657+ <citerefentry><refentrytitle>systemd.automount</refentrytitle>
658+ <manvolnum>5</manvolnum></citerefentry> for details.
659+ '';
660+ };
636661
637− automountConfig = mkOption {
638− default = {};
639− example = { DirectoryMode = "0775"; };
640− type = types.attrsOf unitOption;
641− description = ''
642− Each attribute in this set specifies an option in the
643− <literal>[Automount]</literal> section of the unit. See
644− <citerefentry><refentrytitle>systemd.automount</refentrytitle>
645− <manvolnum>5</manvolnum></citerefentry> for details.
646− '';
647662 };
648− }; };
663+ };
649664
650665 stage2AutomountOptions = {
651666 imports = [
@@ -661,21 +676,23 @@ in rec {
661676 ];
662677 };
663678
664− sliceOptions = { options = {
679+ sliceOptions = {
680+ options = {
665681
666− sliceConfig = mkOption {
667− default = {};
668− example = { MemoryMax = "2G"; };
669− type = types.attrsOf unitOption;
670− description = ''
671− Each attribute in this set specifies an option in the
672− <literal>[Slice]</literal> section of the unit. See
673− <citerefentry><refentrytitle>systemd.slice</refentrytitle>
674− <manvolnum>5</manvolnum></citerefentry> for details.
675− '';
676− };
682+ sliceConfig = mkOption {
683+ default = {};
684+ example = { MemoryMax = "2G"; };
685+ type = types.attrsOf unitOption;
686+ description = ''
687+ Each attribute in this set specifies an option in the
688+ <literal>[Slice]</literal> section of the unit. See
689+ <citerefentry><refentrytitle>systemd.slice</refentrytitle>
690+ <manvolnum>5</manvolnum></citerefentry> for details.
691+ '';
692+ };
677693
678− }; };
694+ };
695+ };
679696
680697 stage2SliceOptions = {
681698 imports = [