diff --git a/checks/schema.nix b/checks/schema.nix index 4a5dae637..d862f8a4b 100644 --- a/checks/schema.nix +++ b/checks/schema.nix @@ -11,28 +11,32 @@ let clanLib = self.lib; clanModules = self.clanModules; - baseModule = { - imports = - (import (inputs.nixpkgs + "/nixos/modules/module-list.nix")) - ++ [{ - nixpkgs.hostPlatform = "x86_64-linux"; - }]; - }; - - optionsFromModule = module: - let - evaled = lib.evalModules { - modules = [ module baseModule ]; - }; - in - evaled.options.clan.networking; - - clanModuleSchemas = mapAttrs (_: module: clanLib.jsonschema.parseOptions (optionsFromModule module)) clanModules; in { perSystem = { pkgs, ... }: let + baseModule = { + imports = + (import (inputs.nixpkgs + "/nixos/modules/module-list.nix")) + ++ [{ + nixpkgs.hostPlatform = pkgs.system; + }]; + }; + + optionsFromModule = module: + let + evaled = lib.evalModules { + modules = [ module baseModule ]; + }; + in + evaled.options.clan.networking; + + clanModuleSchemas = + mapAttrs + (_: module: clanLib.jsonschema.parseOptions (optionsFromModule module)) + clanModules; + mkTest = name: schema: pkgs.runCommand "schema-${name}" { } '' ${pkgs.check-jsonschema}/bin/check-jsonschema \ --check-metaschema ${toFile "schema-${name}" (toJSON schema)}