31 lines
871 B
Nix
31 lines
871 B
Nix
{
|
|
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";
|
|
};
|
|
};
|
|
|
|
outputs = { nixos-modules, nixpkgs-lib, ... }:
|
|
let
|
|
inherit (nixpkgs-lib) lib;
|
|
ls = dir: lib.attrNames (builtins.readDir (./. + "/${dir}"));
|
|
in
|
|
{
|
|
nixosModule = { config, ... }@args: {
|
|
_module.args = lib.optionalAttrs (!args ? libS) {
|
|
libS = nixos-modules.lib { inherit lib config; };
|
|
};
|
|
|
|
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";
|
|
};
|
|
};
|
|
}
|