systemd: allow custom unit folders to be configured with SYSTEMD_UNIT_PATH
This commit is contained in:
committed by
Sander van der Burg
parent
f6092fe869
commit
5c8ed06fc9
@@ -393,6 +393,7 @@ in
|
||||
systemd-networkd-vrf = handleTest ./systemd-networkd-vrf.nix {};
|
||||
systemd-nspawn = handleTest ./systemd-nspawn.nix {};
|
||||
systemd-timesyncd = handleTest ./systemd-timesyncd.nix {};
|
||||
systemd-unit-path = handleTest ./systemd-unit-path.nix {};
|
||||
taskserver = handleTest ./taskserver.nix {};
|
||||
telegraf = handleTest ./telegraf.nix {};
|
||||
tiddlywiki = handleTest ./tiddlywiki.nix {};
|
||||
|
||||
47
nixos/tests/systemd-unit-path.nix
Normal file
47
nixos/tests/systemd-unit-path.nix
Normal file
@@ -0,0 +1,47 @@
|
||||
import ./make-test-python.nix ({ pkgs, ... }:
|
||||
|
||||
let
|
||||
exampleScript = pkgs.writeTextFile {
|
||||
name = "example.sh";
|
||||
text = ''
|
||||
#! ${pkgs.runtimeShell} -e
|
||||
|
||||
while true; do
|
||||
echo "Example script running" >&2
|
||||
${pkgs.coreutils}/bin/sleep 1
|
||||
done
|
||||
'';
|
||||
executable = true;
|
||||
};
|
||||
|
||||
unitFile = pkgs.writeTextFile {
|
||||
name = "example.service";
|
||||
text = ''
|
||||
[Unit]
|
||||
Description=Example systemd service unit file
|
||||
|
||||
[Service]
|
||||
ExecStart=${exampleScript}
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
'';
|
||||
};
|
||||
in
|
||||
{
|
||||
name = "systemd-unit-path";
|
||||
|
||||
machine = { pkgs, lib, ... }: {
|
||||
boot.extraSystemdUnitPaths = [ "/etc/systemd-rw/system" ];
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
machine.succeed("mkdir -p /etc/systemd-rw/system")
|
||||
machine.succeed(
|
||||
"cp ${unitFile} /etc/systemd-rw/system/example.service"
|
||||
)
|
||||
machine.succeed("systemctl start example.service")
|
||||
machine.succeed("systemctl status example.service | grep 'Active: active'")
|
||||
'';
|
||||
})
|
||||
Reference in New Issue
Block a user