git.iko.soy/typeable/nixpkgs
on master help sign in
nixos/documentation: expose manualPages

Allows advanced users to select what packages they want to generate the man cache for, and even more advanced users to make manualPages content-addressed to avoid needless rebuilds.

commit459957f9d4d2e82424c7819eb36de4ec7644ef8d authorNaïm Favier <n@monade.li> dateMon 6 Sep 2021, 18:27 (5 years ago) parentc8cd39a
1 file changed+20−10
nixos/modules/misc/documentation.nix+20−10
nixos/modules/misc/documentation.nix+20−10
@@ -120,6 +120,24 @@ in
120120 '';
121121 };
122122
123+ man.manualPages = mkOption {
124+ type = types.path;
125+ default = pkgs.buildEnv {
126+ name = "man-paths";
127+ paths = config.environment.systemPackages;
128+ pathsToLink = [ "/share/man" ];
129+ extraOutputsToInstall = ["man"];
130+ ignoreCollisions = true;
131+ };
132+ defaultText = "all man pages in config.environment.systemPackages";
133+ description = ''
134+ The manual pages to generate caches for if <option>generateCaches</option>
135+ is enabled. Must be a path to a directory with man pages under
136+ <literal>/share/man</literal>; see the source for an example.
137+ Advanced users can make this a content-addressed derivation to save a few rebuilds.
138+ '';
139+ };
140+
123141 info.enable = mkOption {
124142 type = types.bool;
125143 default = true;
@@ -207,16 +225,8 @@ in
207225 environment.extraOutputsToInstall = [ "man" ] ++ optional cfg.dev.enable "devman";
208226 environment.etc."man_db.conf".text =
209227 let
210− manualPages = pkgs.buildEnv {
211− name = "man-paths";
212− paths = config.environment.systemPackages;
213− pathsToLink = [ "/share/man" ];
214− extraOutputsToInstall = ["man"];
215− ignoreCollisions = true;
216− };
217− manualCache = pkgs.runCommandLocal "man-cache" { }
218− ''
219− echo "MANDB_MAP ${manualPages}/share/man $out" > man.conf
228+ manualCache = pkgs.runCommandLocal "man-cache" { } ''
229+ echo "MANDB_MAP ${cfg.man.manualPages}/share/man $out" > man.conf
220230 ${pkgs.man-db}/bin/mandb -C man.conf -psc >/dev/null 2>&1
221231 '';
222232 in