1import ./make-test-python.nix ({ lib, ... }: {
2 name = "systemd-user-tmpfiles-rules";
3
4 meta = with lib.maintainers; {
5 maintainers = [ schnusch ];
6 };
7
8 nodes.machine = { ... }: {
9 users.users = {
10 alice.isNormalUser = true;
11 bob.isNormalUser = true;
12 };
13
14 systemd.user.tmpfiles = {
15 rules = [
16 "d %h/user_tmpfiles_created"
17 ];
18 users.alice.rules = [
19 "d %h/only_alice"
20 ];
21 };
22 };
23
24 testScript = { ... }: ''
25 machine.succeed("loginctl enable-linger alice bob")
26
27 machine.wait_until_succeeds("systemctl --user --machine=alice@ is-active systemd-tmpfiles-setup.service")
28 machine.succeed("[ -d ~alice/user_tmpfiles_created ]")
29 machine.succeed("[ -d ~alice/only_alice ]")
30
31 machine.wait_until_succeeds("systemctl --user --machine=bob@ is-active systemd-tmpfiles-setup.service")
32 machine.succeed("[ -d ~bob/user_tmpfiles_created ]")
33 machine.succeed("[ ! -e ~bob/only_alice ]")
34 '';
35})