{ device }: let overlay = import ; nixpkgs = import ( device.system // {overlays = [overlay]; }); inherit (nixpkgs) lib pkgs; inherit (lib.asserts) assertMsg; config = (import ) [./configuration.nix] pkgs; res1 = assertMsg # check we have packages from both modules (config.systemPackages == ( with pkgs; [ units hello ])) "failed"; res2 = let s = config.services; in assertMsg (s.a.enable && s.b.enable && (s.z != null) ) "failed"; in pkgs.writeText "foo" '' ${if res1 then "OK" else "not OK"} ${if res2 then "OK" else "not OK"} ''