nixos/doc: document defining basic systemd services
This commit is contained in:
parent
3e3afe5174
commit
aba83e0a5d
@ -121,7 +121,28 @@ Hence [garbage collection](#sec-nix-gc) will remove that file and you
|
|||||||
will wind up with a broken symlink in your systemd configuration, which
|
will wind up with a broken symlink in your systemd configuration, which
|
||||||
in turn will not make the service / timer start on login.
|
in turn will not make the service / timer start on login.
|
||||||
|
|
||||||
## Template units {#sect-nixos-systemd-template-units}
|
### Defining custom services {#sect-nixos-systemd-custom-services}
|
||||||
|
|
||||||
|
You can define services by adding them to `systemd.services`:
|
||||||
|
|
||||||
|
```nix
|
||||||
|
systemd.services.myservice = {
|
||||||
|
after = [ "network-online.target" ];
|
||||||
|
requires = [ "network-online.target" ];
|
||||||
|
|
||||||
|
before = [ "multi-user.target" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
|
||||||
|
serviceConfig = {
|
||||||
|
ExecStart = "...";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
If you want to specify a multi-line script for `ExecStart`,
|
||||||
|
you may want to use `pkgs.writeShellScript`.
|
||||||
|
|
||||||
|
### Template units {#sect-nixos-systemd-template-units}
|
||||||
|
|
||||||
systemd supports templated units where a base unit can be started multiple
|
systemd supports templated units where a base unit can be started multiple
|
||||||
times with a different parameter. The syntax to accomplish this is
|
times with a different parameter. The syntax to accomplish this is
|
||||||
|
@ -1532,6 +1532,9 @@
|
|||||||
"sect-nixos-systemd-nixos": [
|
"sect-nixos-systemd-nixos": [
|
||||||
"index.html#sect-nixos-systemd-nixos"
|
"index.html#sect-nixos-systemd-nixos"
|
||||||
],
|
],
|
||||||
|
"sect-nixos-systemd-custom-services": [
|
||||||
|
"index.html#sect-nixos-systemd-custom-services"
|
||||||
|
],
|
||||||
"sect-nixos-systemd-template-units": [
|
"sect-nixos-systemd-template-units": [
|
||||||
"index.html#sect-nixos-systemd-template-units"
|
"index.html#sect-nixos-systemd-template-units"
|
||||||
],
|
],
|
||||||
|
Loading…
x
Reference in New Issue
Block a user