1{ lib, ... }: 2{ 3 name = "user-home-mode"; 4 meta = with lib.maintainers; { 5 maintainers = [ fbeffa ]; 6 }; 7 8 nodes.machine = { 9 users.users.alice = { 10 initialPassword = "pass1"; 11 isNormalUser = true; 12 }; 13 users.users.bob = { 14 initialPassword = "pass2"; 15 isNormalUser = true; 16 homeMode = "750"; 17 }; 18 users.users.carol = { 19 initialPassword = "pass3"; 20 isNormalUser = true; 21 createHome = true; 22 home = "/users/carol"; 23 }; 24 }; 25 26 testScript = '' 27 machine.wait_for_unit("multi-user.target") 28 machine.wait_for_unit("getty@tty1.service") 29 machine.wait_until_tty_matches("1", "login: ") 30 machine.send_chars("alice\n") 31 machine.wait_until_tty_matches("1", "Password: ") 32 machine.send_chars("pass1\n") 33 machine.succeed('[ "$(stat -c %a /home/alice)" == "700" ]') 34 machine.succeed('[ "$(stat -c %a /home/bob)" == "750" ]') 35 machine.succeed('[ "$(stat -c %a /users)" == "755" ]') 36 machine.succeed('[ "$(stat -c %a /users/carol)" == "700" ]') 37 ''; 38}