bonfire/nixosModules/default.nix
L-Nafaryus 25a4c9af9c
All checks were successful
nix / check (push) Successful in 2m59s
flake: update lock
astora: exclude hyprland and some tools for kde expansion
lib.preconfiguredModules: common nixos configurations
lib.preconfiguredModules.bonvim: change python tool set, remove
deprecations
packages.wezterm: exclude from evaluation [see #8]
nixosModules.zapret: exclude from evaluation [see #9]
2024-11-03 19:06:04 +05:00

60 lines
1.2 KiB
Nix

{
lib,
bonLib,
self,
check ? true,
...
}: let
moduleList = [
./misc/bonfire/default.nix
./services/papermc.nix
./services/qbittorrent-nox.nix
./services/spoofdpi.nix
# ISSUE: collision with nixos module zapret
#./services/zapret.nix
./services/conduit.nix
];
configModule = {
config,
pkgs,
...
}: {
config = {
# module type checking
_module.check = check;
# extra arguments
_module.args = {
bonPkgs = self.packages.${pkgs.system};
bonLib = lib.mkDefault bonLib;
};
};
};
importedModules =
map (path: {...}: {
# imports provide path for each module needed for documentation
# inject module configuration
imports = [path configModule];
})
moduleList;
importedModuleNames = map (path: bonLib.nameFromPath path) moduleList;
bonfireModule = {
config,
pkgs,
...
}: {
# collect all modules
imports = moduleList ++ [configModule];
};
in
lib.listToAttrs (
lib.zipListsWith (name: value: {inherit name value;}) importedModuleNames importedModules
)
// {
bonfire = bonfireModule;
default = bonfireModule;
}