Difference between revisions of "Man pages"

From NixOS Wiki
Jump to: navigation, search
(man configuration.nix)
m (rollback unauthorized mass edits)
Tag: Rollback
 
(7 intermediate revisions by 6 users not shown)
Line 7: Line 7:
 
The NixOS option system creates a manpage with all options and their documentation.
 
The NixOS option system creates a manpage with all options and their documentation.
  
<syntaxhighlight>
+
<syntaxhighlight lang="console">
man 5 configuration.nix
+
$ man 5 configuration.nix
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
This is a lightweight alternative to the “Configuration Options” page in <code>nixos-help</code>.
 
This is a lightweight alternative to the “Configuration Options” page in <code>nixos-help</code>.
 +
There is also [https://search.nixos.org/options NixOS options] website
  
 
== NixOS: Some man pages are missing ==
 
== NixOS: Some man pages are missing ==
Line 19: Line 20:
 
The “Linux man-pages project” provides a set of documentation of the Linux programming API, mostly section `3`. You can access them by adding them to your system packages:
 
The “Linux man-pages project” provides a set of documentation of the Linux programming API, mostly section `3`. You can access them by adding them to your system packages:
  
<syntaxhighlight>
+
<syntaxhighlight lang="nix">
environment.systemPackages = [ pkgs.manpages ];
+
environment.systemPackages = [ pkgs.man-pages pkgs.man-pages-posix ];
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 27: Line 28:
 
Libraries and development utilities might provide additional documentation and manpages. You can add those to your system like this:
 
Libraries and development utilities might provide additional documentation and manpages. You can add those to your system like this:
  
<syntaxhighlight>
+
<syntaxhighlight lang="nix">
 
documentation.dev.enable = true;
 
documentation.dev.enable = true;
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
See also: the other options in the `documentation` namespace.
 
See also: the other options in the `documentation` namespace.
 +
== Mandoc as the default man page viewer ==
 +
Mandoc is a set of tools designed for working with mdoc(7), the preferred roff macro language for BSD manual pages, as well as man(7), the historical roff macro language used in UNIX manuals. It can be used as an alternative to man-db.
 +
 +
To use mandoc as the default man page viewer add following code to your config:
 +
<syntaxhighlight lang="nix">
 +
documentation.man = {
 +
  # In order to enable to mandoc man-db has to be disabled.
 +
  man-db.enable = false;
 +
  mandoc.enable = true;
 +
};
 +
</syntaxhighlight>
 +
 +
See also: the [https://mandoc.bsd.lv/ Mandoc website].
 +
=== Apropos ===
 +
 +
See [[Apropos]].

Latest revision as of 10:58, 6 April 2024

Man pages are a form of documentation available on Unix-like systems.

See the Archwiki and Wikipedia entries for more information.

NixOS: Display configuration options

The NixOS option system creates a manpage with all options and their documentation.

$ man 5 configuration.nix

This is a lightweight alternative to the “Configuration Options” page in nixos-help. There is also NixOS options website

NixOS: Some man pages are missing

Development man pages

The “Linux man-pages project” provides a set of documentation of the Linux programming API, mostly section `3`. You can access them by adding them to your system packages:

environment.systemPackages = [ pkgs.man-pages pkgs.man-pages-posix ];

To try it out: man 3 scanf.

Libraries and development utilities might provide additional documentation and manpages. You can add those to your system like this:

documentation.dev.enable = true;

See also: the other options in the `documentation` namespace.

Mandoc as the default man page viewer

Mandoc is a set of tools designed for working with mdoc(7), the preferred roff macro language for BSD manual pages, as well as man(7), the historical roff macro language used in UNIX manuals. It can be used as an alternative to man-db.

To use mandoc as the default man page viewer add following code to your config:

documentation.man = {
  # In order to enable to mandoc man-db has to be disabled.
  man-db.enable = false;
  mandoc.enable = true;
};

See also: the Mandoc website.

Apropos

See Apropos.