38 lines
879 B
Nix
38 lines
879 B
Nix
{ config, lib, ... }:
|
|
let
|
|
cfg = config.my.module.documentation;
|
|
|
|
# I usually want everything enabled at once, but keep it customizable
|
|
defaultToGlobal = description: lib.mkEnableOption description // {
|
|
default = cfg.enable;
|
|
};
|
|
in
|
|
{
|
|
options.my.module.documentation = with lib.my; {
|
|
enable = mkDisableOption "Documentation integration";
|
|
|
|
dev.enable = defaultToGlobal "Documentation aimed at developers";
|
|
|
|
info.enable = defaultToGlobal "Documentation aimed at developers";
|
|
|
|
man.enable = defaultToGlobal "Documentation aimed at developers";
|
|
|
|
nixos.enable = defaultToGlobal "NixOS documentation";
|
|
};
|
|
|
|
config.documentation = {
|
|
enable = cfg.enable;
|
|
|
|
dev.enable = cfg.dev.enable;
|
|
|
|
info.enable = cfg.info.enable;
|
|
|
|
man = {
|
|
enable = cfg.man.enable;
|
|
generateCaches = true;
|
|
};
|
|
|
|
nixos.enable = cfg.nixos.enable;
|
|
};
|
|
}
|