import ./make-test-python.nix { name = "specialisation"; nodes = { inheritconf = { pkgs, ... }: { environment.systemPackages = [ pkgs.cowsay ]; specialisation.inheritconf.configuration = { pkgs, ... }: { environment.systemPackages = [ pkgs.hello ]; }; }; noinheritconf = { pkgs, ... }: { environment.systemPackages = [ pkgs.cowsay ]; specialisation.noinheritconf = { inheritParentConfig = false; configuration = { pkgs, ... }: { environment.systemPackages = [ pkgs.hello ]; }; }; }; }; testScript = '' inheritconf.wait_for_unit("default.target") inheritconf.succeed("cowsay hey") inheritconf.fail("hello") with subtest("Nested clones do inherit from parent"): inheritconf.succeed( "/run/current-system/specialisation/inheritconf/bin/switch-to-configuration test" ) inheritconf.succeed("cowsay hey") inheritconf.succeed("hello") noinheritconf.wait_for_unit("default.target") noinheritconf.succeed("cowsay hey") noinheritconf.fail("hello") with subtest("Nested children do not inherit from parent"): noinheritconf.succeed( "/run/current-system/specialisation/noinheritconf/bin/switch-to-configuration test" ) noinheritconf.fail("cowsay hey") noinheritconf.succeed("hello") ''; }