mirror of
https://github.com/nix-community/home-manager
synced 2024-12-29 13:19:47 +01:00
9f9e277b60
These (and the `*MD` functions apart from `literalMD`) are now no-ops in nixpkgs and serve no purpose other than to add additional noise and potentially mislead people into thinking unmarked DocBook documentation will still be accepted. Note that if backporting changes including documentation to 23.05, the `mdDoc` calls will need to be re-added. To reproduce this commit, run: $ NIX_PATH=nixpkgs=flake:nixpkgs/e7e69199f0372364a6106a1e735f68604f4c5a25 \ nix shell nixpkgs#coreutils \ -c find . -name '*.nix' \ -exec nix run -- github:emilazy/nix-doc-munge/98dadf1f77351c2ba5dcb709a2a171d655f15099 \ --strip {} + $ ./format
69 lines
1.8 KiB
Nix
69 lines
1.8 KiB
Nix
{ config, lib, pkgs, ... }:
|
||
|
||
with lib;
|
||
|
||
let
|
||
|
||
cfg = config.manual;
|
||
|
||
docs = import ../docs {
|
||
inherit pkgs lib;
|
||
inherit (config.home.version) release isReleaseBranch;
|
||
};
|
||
|
||
in {
|
||
options = {
|
||
manual.html.enable = mkOption {
|
||
type = types.bool;
|
||
default = false;
|
||
description = ''
|
||
Whether to install the HTML manual. This also installs the
|
||
{command}`home-manager-help` tool, which opens a local
|
||
copy of the Home Manager manual in the system web browser.
|
||
'';
|
||
};
|
||
|
||
manual.manpages.enable = mkOption {
|
||
type = types.bool;
|
||
default = true;
|
||
example = false;
|
||
description = ''
|
||
Whether to install the configuration manual page. The manual can
|
||
be reached by {command}`man home-configuration.nix`.
|
||
|
||
When looking at the manual page pretend that all references to
|
||
NixOS stuff are actually references to Home Manager stuff.
|
||
Thanks!
|
||
'';
|
||
};
|
||
|
||
manual.json.enable = mkOption {
|
||
type = types.bool;
|
||
default = false;
|
||
example = true;
|
||
description = ''
|
||
Whether to install a JSON formatted list of all Home Manager
|
||
options. This can be located at
|
||
{file}`<profile directory>/share/doc/home-manager/options.json`,
|
||
and may be used for navigating definitions, auto-completing,
|
||
and other miscellaneous tasks.
|
||
'';
|
||
};
|
||
};
|
||
|
||
config = {
|
||
home.packages = mkMerge [
|
||
(mkIf cfg.html.enable [ docs.manual.html docs.manual.htmlOpenTool ])
|
||
(mkIf cfg.manpages.enable [ docs.manPages ])
|
||
(mkIf cfg.json.enable [ docs.options.json ])
|
||
];
|
||
|
||
# Whether a dependency on nmd should be introduced.
|
||
home.extraBuilderCommands =
|
||
mkIf (cfg.html.enable || cfg.manpages.enable || cfg.json.enable) ''
|
||
mkdir $out/lib
|
||
ln -s ${docs.nmdSrc} $out/lib/nmd
|
||
'';
|
||
};
|
||
|
||
}
|