Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/mostlyobvious/dotfiles.
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677{ config, inputs, lib, pkgs, ...}:
let cfg = config.manual;
hmLib = import "${inputs.home-manager}/modules/lib/stdlib-extended.nix" pkgs.lib;
hmOptions = (hmLib.evalModules { modules = import "${inputs.home-manager}/modules/modules.nix" { lib = hmLib; inherit pkgs; check = false; } ++ [ { home.stateVersion = "25.05"; } ]; class = "homeManager"; }).options;
optionsDoc = pkgs.buildPackages.nixosOptionsDoc { options = removeAttrs hmOptions [ "_module" ]; transformOptions = opt: opt // { declarations = [ ]; }; };
json = pkgs.runCommand "home-manager-options.json" { } '' mkdir -p $out/share/doc/home-manager cp ${optionsDoc.optionsJSON}/share/doc/nixos/options.json \ $out/share/doc/home-manager/options.json '';in{ disabledModules = [ "manual.nix" ];
options = { manual.html.enable = lib.mkEnableOption "the HTML Home Manager manual";
manual.manpages.enable = lib.mkOption { type = lib.types.bool; default = true; example = false; description = "Whether to install the Home Manager configuration manual page."; };
manual.json.enable = lib.mkOption { type = lib.types.bool; default = false; example = true; description = "Whether to install a JSON formatted list of all Home Manager options."; }; };
config = { assertions = [ { assertion = !cfg.html.enable; message = "manual.html.enable is disabled by this configuration's warning-free manual module."; } { assertion = !cfg.manpages.enable; message = "manual.manpages.enable is disabled by this configuration's warning-free manual module."; } ];
home.packages = lib.mkIf cfg.json.enable [ json ]; };}