clan-core/lib/eval-clan-modules/default.nix

35 lines
741 B
Nix
Raw Normal View History

2024-06-24 13:47:25 +00:00
{
nixpkgs,
clan-core,
lib,
}:
let
inherit (import nixpkgs { system = "x86_64-linux"; }) pkgs;
inherit (clan-core) clanModules;
baseModule = {
imports = (import (pkgs.path + "/nixos/modules/module-list.nix")) ++ [
{
nixpkgs.hostPlatform = "x86_64-linux";
clan.core.clanName = "dummy";
}
];
};
# This function takes a list of module names and evaluates them
# evalClanModules :: [ String ] -> { config, options, ... }
evalClanModules =
modulenames:
let
evaled = lib.evalModules {
modules = [
baseModule
clan-core.nixosModules.clanCore
] ++ (map (name: clanModules.${name}) modulenames);
};
in
evaled;
in
evalClanModules