Factor out "man" into a separate module and add "man" outputs to system.path

Fixes #10270.

Changed files
+35 -5
nixos
modules
-3
nixos/modules/config/system-path.nix
···
pkgs.xz
pkgs.less
pkgs.libcap
-
pkgs.man
pkgs.nano
pkgs.ncurses
pkgs.netcat
···
"/info"
"/lib" # FIXME: remove
#"/lib/debug/.build-id" # enables GDB to find separated debug info
-
"/man"
"/sbin"
"/share/applications"
"/share/desktop-directories"
···
"/share/emacs"
"/share/icons"
"/share/info"
-
"/share/man"
"/share/menus"
"/share/mime"
"/share/nano"
+2 -1
nixos/modules/module-list.nix
···
./programs/command-not-found/command-not-found.nix
./programs/dconf.nix
./programs/environment.nix
+
./programs/freetds.nix
./programs/ibus.nix
./programs/kbdlight.nix
./programs/light.nix
+
./programs/man.nix
./programs/nano.nix
./programs/screen.nix
./programs/shadow.nix
···
./programs/uim.nix
./programs/venus.nix
./programs/wvdial.nix
-
./programs/freetds.nix
./programs/xfs_quota.nix
./programs/zsh/zsh.nix
./rename.nix
+30
nixos/modules/programs/man.nix
···
+
{ config, lib, pkgs, ... }:
+
+
with lib;
+
+
{
+
+
options = {
+
+
programs.man.enable = mkOption {
+
type = types.bool;
+
default = true;
+
description = ''
+
Whether to enable manual pages and the <command>man</command> command.
+
'';
+
};
+
+
};
+
+
+
config = mkIf config.programs.man.enable {
+
+
environment.systemPackages = [ pkgs.man ];
+
+
environment.pathsToLink = [ "/share/man" ];
+
+
environment.outputsToLink = [ "man" ];
+
+
};
+
+
}
+3 -1
nixos/modules/services/misc/nixos-manual.nix
···
system.build.manual = manual;
-
environment.systemPackages = [ manual.manpages manual.manual help ];
+
environment.systemPackages =
+
[ manual.manual help ]
+
++ optional config.programs.man.enable manual.manpages;
boot.extraTTYs = mkIf cfg.showManual ["tty${cfg.ttyNumber}"];