liminix/tests/module/test.nix

18 lines
633 B
Nix

{ device }:
let
overlay = import <liminix/overlay.nix> ;
nixpkgs = import <nixpkgs> ( device.system // {overlays = [overlay]; });
inherit (nixpkgs) lib pkgs;
inherit (lib.asserts) assertMsg;
config =
(import <liminix/merge-modules.nix>) [./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"}
''