nix-user-module/flake.nix

31 lines
912 B
Nix
Raw Normal View History

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";
};
};
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-06 21:09:41 +01:00
nixosModule = { config, libS, ... }@args: {
_module.args.libS = lib.mkOverride 1001 (nixos-modules.lib { inherit lib config; });
2023-01-09 20:47:20 +01:00
imports = [
nixos-modules.nixosModules.default
] ++ (dir: map
2023-01-05 00:11:25 +01:00
(file: ./. + "/${dir}/${file}")
# assume that the nixos-modules repo is already imported if libS exists
2023-01-06 21:09:41 +01:00
(lib.remove (lib.optionalString (lib.hasAttr "libS" args) "default.nix") (ls dir))
2023-01-05 00:11:25 +01:00
) "modules";
2023-01-03 05:16:12 +01:00
};
};
}