33 lines
1 KiB
Nix
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;
|
|
}
|