forked from mirrors/nixpkgs
nixos: doc: introduce documentation
config subtree
This commit is contained in:
parent
a7af5d4f88
commit
98fd9b7f86
|
@ -109,7 +109,6 @@ in
|
|||
"/sbin"
|
||||
"/share/applications"
|
||||
"/share/desktop-directories"
|
||||
"/share/doc"
|
||||
"/share/emacs"
|
||||
"/share/icons"
|
||||
"/share/menus"
|
||||
|
|
77
nixos/modules/misc/documentation.nix
Normal file
77
nixos/modules/misc/documentation.nix
Normal file
|
@ -0,0 +1,77 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let cfg = config.documentation; in
|
||||
|
||||
{
|
||||
|
||||
options = {
|
||||
|
||||
documentation = {
|
||||
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether to install documentation of packages from
|
||||
<option>environment.systemPackages</option> into the generated system path.
|
||||
'';
|
||||
};
|
||||
|
||||
man.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether to install manual pages and the <command>man</command> command.
|
||||
This also includes "man" outputs.
|
||||
'';
|
||||
};
|
||||
|
||||
doc.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether to install documentation distributed in packages' <literal>/share/doc</literal>.
|
||||
Usually plain text and/or HTML.
|
||||
This also includes "doc" outputs.
|
||||
'';
|
||||
};
|
||||
|
||||
info.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether to install info pages and the <command>info</command> command.
|
||||
This also includes "info" outputs.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable (mkMerge [
|
||||
|
||||
(mkIf cfg.man.enable {
|
||||
environment.systemPackages = [ pkgs.man-db ];
|
||||
environment.pathsToLink = [ "/share/man" ];
|
||||
environment.extraOutputsToInstall = [ "man" ];
|
||||
})
|
||||
|
||||
(mkIf cfg.doc.enable {
|
||||
# TODO(@oxij): put it here and remove from profiles?
|
||||
# environment.systemPackages = [ pkgs.w3m ]; # w3m-nox?
|
||||
environment.pathsToLink = [ "/share/doc" ];
|
||||
environment.extraOutputsToInstall = [ "doc" ];
|
||||
})
|
||||
|
||||
(mkIf cfg.info.enable {
|
||||
environment.systemPackages = [ pkgs.texinfoInteractive ];
|
||||
environment.pathsToLink = [ "/share/info" ];
|
||||
environment.extraOutputsToInstall = [ "info" ];
|
||||
})
|
||||
|
||||
]);
|
||||
|
||||
}
|
|
@ -58,6 +58,7 @@
|
|||
./installer/tools/tools.nix
|
||||
./misc/assertions.nix
|
||||
./misc/crashdump.nix
|
||||
./misc/documentation.nix
|
||||
./misc/extra-arguments.nix
|
||||
./misc/ids.nix
|
||||
./misc/lib.nix
|
||||
|
@ -85,12 +86,10 @@
|
|||
./programs/freetds.nix
|
||||
./programs/gnupg.nix
|
||||
./programs/gphoto2.nix
|
||||
./programs/info.nix
|
||||
./programs/java.nix
|
||||
./programs/kbdlight.nix
|
||||
./programs/less.nix
|
||||
./programs/light.nix
|
||||
./programs/man.nix
|
||||
./programs/mosh.nix
|
||||
./programs/mtr.nix
|
||||
./programs/nano.nix
|
||||
|
|
|
@ -10,10 +10,9 @@ with lib;
|
|||
|
||||
# This isn't perfect, but let's expect the user specifies an UTF-8 defaultLocale
|
||||
i18n.supportedLocales = [ (config.i18n.defaultLocale + "/UTF-8") ];
|
||||
services.nixosManual.enable = mkDefault false;
|
||||
|
||||
programs.man.enable = mkDefault false;
|
||||
programs.info.enable = mkDefault false;
|
||||
documentation.enable = mkDefault false;
|
||||
services.nixosManual.enable = mkDefault false;
|
||||
|
||||
sound.enable = mkDefault false;
|
||||
}
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
|
||||
options = {
|
||||
|
||||
programs.info.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether to enable info pages and the <command>info</command> command.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
config = mkIf config.programs.info.enable {
|
||||
|
||||
environment.systemPackages = [ pkgs.texinfoInteractive ];
|
||||
|
||||
environment.pathsToLink = [ "/info" "/share/info" ];
|
||||
|
||||
environment.extraOutputsToInstall = [ "info" ];
|
||||
|
||||
};
|
||||
|
||||
}
|
|
@ -1,31 +0,0 @@
|
|||
{ 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.
|
||||
This also includes "man" outputs of all <literal>systemPackages</literal>.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
config = mkIf config.programs.man.enable {
|
||||
|
||||
environment.systemPackages = [ pkgs.man-db ];
|
||||
|
||||
environment.pathsToLink = [ "/share/man" ];
|
||||
|
||||
environment.extraOutputsToInstall = [ "man" ];
|
||||
|
||||
};
|
||||
|
||||
}
|
|
@ -240,6 +240,10 @@ with lib;
|
|||
|
||||
# Xen
|
||||
(mkRenamedOptionModule [ "virtualisation" "xen" "qemu-package" ] [ "virtualisation" "xen" "package-qemu" ])
|
||||
|
||||
(mkRenamedOptionModule [ "programs" "info" "enable" ] [ "documentation" "info" "enable" ])
|
||||
(mkRenamedOptionModule [ "programs" "man" "enable" ] [ "documentation" "man" "enable" ])
|
||||
|
||||
] ++ (flip map [ "blackboxExporter" "collectdExporter" "fritzboxExporter"
|
||||
"jsonExporter" "minioExporter" "nginxExporter" "nodeExporter"
|
||||
"snmpExporter" "unifiExporter" "varnishExporter" ]
|
||||
|
|
|
@ -112,10 +112,10 @@ in
|
|||
|
||||
system.build.manual = manual;
|
||||
|
||||
environment.systemPackages =
|
||||
[ manual.manual helpScript ]
|
||||
++ optionals config.services.xserver.enable [desktopItem pkgs.nixos-icons]
|
||||
++ optional config.programs.man.enable manual.manpages;
|
||||
environment.systemPackages = []
|
||||
++ optionals config.services.xserver.enable [ desktopItem pkgs.nixos-icons ]
|
||||
++ optional config.documentation.man.enable manual.manpages
|
||||
++ optionals config.documentation.doc.enable [ manual.manual helpScript ];
|
||||
|
||||
boot.extraTTYs = mkIf cfg.showManual ["tty${toString cfg.ttyNumber}"];
|
||||
|
||||
|
|
Loading…
Reference in a new issue