2023-01-03 05:16:12 +01:00
|
|
|
{
|
|
|
|
description = "C3D2 NixOS user module";
|
|
|
|
|
|
|
|
inputs = {
|
|
|
|
nixpkgs-lib.url = "github:nix-community/nixpkgs.lib";
|
|
|
|
nixos-modules = {
|
|
|
|
url = "github:SuperSandro2000/nixos-modules";
|
|
|
|
inputs.nixpkgs-lib.follows = "nixpkgs-lib";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2023-01-04 20:57:58 +01:00
|
|
|
outputs = { nixos-modules, nixpkgs-lib, ... }:
|
2023-01-03 05:16:12 +01:00
|
|
|
let
|
|
|
|
inherit (nixpkgs-lib) lib;
|
|
|
|
ls = dir: lib.attrNames (builtins.readDir (./. + "/${dir}"));
|
|
|
|
in
|
|
|
|
{
|
2023-01-04 21:08:50 +01:00
|
|
|
nixosModule = { config, ... }@args: {
|
2023-01-04 22:06:19 +01:00
|
|
|
_module.args = lib.optionalAttrs (!args ? libS) {
|
2023-01-04 21:08:50 +01:00
|
|
|
libS = nixos-modules.lib { inherit lib config; };
|
|
|
|
};
|
2023-01-04 20:57:58 +01:00
|
|
|
|
2023-01-05 00:11:25 +01:00
|
|
|
imports = (dir: map
|
|
|
|
(file: ./. + "/${dir}/${file}")
|
|
|
|
# assume that the nixos-modules repo is already imported if libS exists
|
|
|
|
(lib.remove (lib.optionalString (!args ? libs) "default.nix") (ls dir))
|
|
|
|
) "modules";
|
2023-01-03 05:16:12 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|