# Modules that are common to various module systems # Usually with very small differences, if any, between them. { lib, _class, ... }: let allowedClass = [ "darwin" "home" "nixos" ]; allowedClassString = lib.concatStringSep ", " (builtins.map lib.escapeNixString allowedClass); in { imports = [ ./profiles ]; config = { assertions = [ { assertion = type != null; message = '' You must provide `type` as part of specialArgs to use the common modules. It must be one of ${allowedClassString}. ''; } { assertion = type != null -> builtins.elem type allowedClass; message = '' `type` specialArgs must be one of ${allowedClassString}. ''; } ]; }; }