nix/lib/create.nix
2025-08-12 15:47:26 +10:00

33 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;
inherit (info) system;
localPkgs = lib.packagesFromDirectoryRecursive {
inherit (inputs.nixpkgs.legacyPackages.${info.system}) callPackage;
directory = ../pkgs;
};
scope = import ./scope.nix { inherit lib; };
mainUser = info.username;
getPkgs = builtins.attrValues;
};
modules = [
inputs.home-manager.nixosModules.home-manager
inputs.hjem.nixosModules.hjem
(lib.mkAliasOptionModule [ "hm" ] [ "home-manager" "users" info.username ])
(lib.mkAliasOptionModule [ "home" ] [ "hjem" "users" info.username ])
]
++ (recursivelyImport info.imports);
}
) definitions;
}