nixos.nix (1288B)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
{ lib, config, ... }: let inherit (config) util flake; in { options.configurations.nixos = lib.mkOption { type = lib.types.lazyAttrsOf util.types.configuration; default = {}; }; config.flake = { nixosConfigurations = lib.mapAttrs ( name: { module, system, }: lib.nixosSystem { modules = [ module { networking.hostName = name; nixpkgs.pkgs = flake.legacyPackages.${system}; } ] ++ # Default Modules util.map.array [ "base" "cpu" "gpu" "nix" "user" "secrets" "shell" "theme" "fonts" ] flake.modules.nixos; } ) config.configurations.nixos; checks = lib.mkMerge ( lib.mapAttrsToList ( name: {system, ...}: { ${system} = { "configurations:nixos:${name}" = flake.nixosConfigurations.${name}.config.system.build.toplevel; }; } ) config.configurations.nixos ); }; }