nix/lib/create.nix
2026-04-08 11:51:33 +10:00

34 lines
1 KiB
Nix

let
inputs = import ./inputs.nix;
inherit (inputs) nixpkgs;
inherit (nixpkgs) lib;
recursivelyImport = import ./recursively-import.nix { inherit lib; };
in
{
systems =
definitions:
lib.mapAttrs (
name: info:
lib.nixosSystem {
specialArgs = {
inherit inputs;
localPkgs = lib.packagesFromDirectoryRecursive {
inherit (inputs.nixpkgs.legacyPackages.${info.system}) callPackage;
directory = ../pkgs;
};
# scope = import ./scope.nix { inherit lib; };
mainUser = info.username;
machineName = name;
getPkgs = builtins.attrValues;
getFlakePkg = p: p.packages.${info.system}.default;
getFlakePkg' = p: n: p.packages.${info.system}.${n};
stdenv.hostPlatform = info.system;
};
modules = [
{ nixpkgs.hostPlatform.system = info.system; }
inputs.arbys.nixosModules.arbys
]
++ (recursivelyImport info.imports);
}
) definitions;
}