about summary refs log tree commit diff
path: root/nixos/doc
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/doc')
-rw-r--r--nixos/doc/manual/default.nix6
-rw-r--r--nixos/doc/manual/manpages/README.md57
-rw-r--r--nixos/doc/manual/manpages/nixos-build-vms.8105
-rw-r--r--nixos/doc/manual/manpages/nixos-enter.872
-rw-r--r--nixos/doc/manual/manpages/nixos-generate-config.8165
-rw-r--r--nixos/doc/manual/manpages/nixos-install.8191
-rw-r--r--nixos/doc/manual/manpages/nixos-version.886
7 files changed, 2 insertions, 680 deletions
diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix
index 902dee7018010..962c74edee893 100644
--- a/nixos/doc/manual/default.nix
+++ b/nixos/doc/manual/default.nix
@@ -184,8 +184,8 @@ in rec {
     '';
 
 
-  # Generate the NixOS manpages.
-  manpages = runCommand "nixos-manpages"
+  # Generate the configuration.nix manual package
+  configuration-manual = runCommand "nixos-manpages"
     { nativeBuildInputs = [
         buildPackages.installShellFiles
         buildPackages.nixos-render-docs
@@ -194,8 +194,6 @@ in rec {
     }
     ''
       # Generate manpages.
-      mkdir -p $out/share/man/man8
-      installManPage ${./manpages}/*
       mkdir -p $out/share/man/man5
       nixos-render-docs -j $NIX_BUILD_CORES options manpage \
         --revision ${lib.escapeShellArg revision} \
diff --git a/nixos/doc/manual/manpages/README.md b/nixos/doc/manual/manpages/README.md
deleted file mode 100644
index 05cb83902c742..0000000000000
--- a/nixos/doc/manual/manpages/README.md
+++ /dev/null
@@ -1,57 +0,0 @@
-# NixOS manpages
-
-This is the collection of NixOS manpages, excluding `configuration.nix(5)`.
-
-Man pages are written in [`mdoc(7)` format](https://mandoc.bsd.lv/man/mdoc.7.html) and should be portable between mandoc and groff for rendering (though minor differences may occur, mandoc and groff seem to have slightly different spacing rules.)
-
-For previewing edited files, you can just run `man -l path/to/file.8` and you will see it rendered.
-
-Being written in `mdoc` these manpages use semantic markup. This file provides a guideline on where to apply which of the semantic elements of `mdoc`.
-
-### Command lines and arguments
-
-In any manpage, commands, flags and arguments to the *current* executable should be marked according to their semantics. Commands, flags and arguments passed to *other* executables should not be marked like this and should instead be considered as code examples and marked with `Ql`.
-
- - Use `Fl` to mark flag arguments, `Ar` for their arguments.
- - Repeating arguments should be marked by adding ellipses (`...`).
- - Use `Cm` to mark literal string arguments, e.g. the `boot` command argument passed to `nixos-rebuild`.
- - Optional flags or arguments should be marked with `Op`. This includes optional repeating arguments.
- - Required flags or arguments should not be marked.
- - Mutually exclusive groups of arguments should be enclosed in curly brackets, preferably created with `Bro`/`Brc` blocks.
-
-When an argument is used in an example it should be marked up with `Ar` again to differentiate it from a constant. For example, a command with a `--host name` flag that calls ssh to retrieve the host's local time would signify this thusly:
-```
-This will run
-.Ic ssh Ar name Ic time
-to retrieve the remote time.
-```
-
-### Paths, NixOS options, environment variables
-
-Constant paths should be marked with `Pa`, NixOS options with `Va`, and environment variables with `Ev`.
-
-Generated paths, e.g. `result/bin/run-hostname-vm` (where `hostname` is a variable or arguments) should be marked as `Ql` inline literals with their variable components marked appropriately.
-
- - Taking `hostname` from an argument become `.Ql result/bin/run- Ns Ar hostname Ns -vm`
- - Taking `hostname` from a variable otherwise defined becomes `.Ql result/bin/run- Ns Va hostname Ns -vm`
-
-### Code examples and other commands
-
-In free text names and complete invocations of other commands (e.g. `ssh` or `tar -xvf src.tar`) should be marked with `Ic`, fragments of command lines should be marked with `Ql`.
-
-Larger code blocks or those that cannot be shown inline should use indented literal display block markup for their contents, i.e.
-```
-.Bd -literal -offset indent
-...
-.Ed
-```
-Contents of code blocks may be marked up further, e.g. if they refer to arguments that will be substituted into them:
-```
-.Bd -literal -offset indent
-{
-  options.hostname = "\c
-.Ar hostname Ns \c
-";
-}
-.Ed
-```
diff --git a/nixos/doc/manual/manpages/nixos-build-vms.8 b/nixos/doc/manual/manpages/nixos-build-vms.8
deleted file mode 100644
index 6a8f2c42eddfa..0000000000000
--- a/nixos/doc/manual/manpages/nixos-build-vms.8
+++ /dev/null
@@ -1,105 +0,0 @@
-.Dd January 1, 1980
-.Dt nixos-build-vms 8
-.Os
-.Sh NAME
-.Nm nixos-build-vms
-.Nd build a network of virtual machines from a network of NixOS configurations
-.
-.
-.
-.Sh SYNOPSIS
-.Nm nixos-build-vms
-.Op Fl -show-trace
-.Op Fl -no-out-link
-.Op Fl -help
-.Op Fl -option Ar name value
-.Pa network.nix
-.
-.
-.
-.Sh DESCRIPTION
-.
-This command builds a network of QEMU\-KVM virtual machines of a Nix expression
-specifying a network of NixOS machines. The virtual network can be started by
-executing the
-.Pa bin/run-vms
-shell script that is generated by this command. By default, a
-.Pa result
-symlink is produced that points to the generated virtual network.
-.
-.Pp
-A network Nix expression has the following structure:
-.Bd -literal -offset indent
-{
-  test1 = {pkgs, config, ...}:
-    {
-      services.openssh.enable = true;
-      nixpkgs.localSystem.system = "i686-linux";
-      deployment.targetHost = "test1.example.net";
-
-      # Other NixOS options
-    };
-
-  test2 = {pkgs, config, ...}:
-    {
-      services.openssh.enable = true;
-      services.httpd.enable = true;
-      environment.systemPackages = [ pkgs.lynx ];
-      nixpkgs.localSystem.system = "x86_64-linux";
-      deployment.targetHost = "test2.example.net";
-
-      # Other NixOS options
-    };
-}
-.Ed
-.
-.Pp
-Each attribute in the expression represents a machine in the network
-.Ns (e.g.
-.Va test1
-and
-.Va test2 Ns
-) referring to a function defining a NixOS configuration. In each NixOS
-configuration, two attributes have a special meaning. The
-.Va deployment.targetHost
-specifies the address (domain name or IP address) of the system which is used by
-.Ic ssh
-to perform remote deployment operations. The
-.Va nixpkgs.localSystem.system
-attribute can be used to specify an architecture for the target machine, such as
-.Ql i686-linux
-which builds a 32-bit NixOS configuration. Omitting this property will build the
-configuration for the same architecture as the host system.
-.
-.
-.
-.Sh OPTIONS
-.Bl -tag -width indent
-.It Fl -show-trace
-Shows a trace of the output.
-.
-.It Fl -no-out-link
-Do not create a
-.Pa result
-symlink.
-.
-.It Fl h , -help
-Shows the usage of this command to the user.
-.
-.It Fl -option Ar name Va value
-Set the Nix configuration option
-.Va name
-to
-.Va value Ns
-\&. This overrides settings in the Nix configuration file (see
-.Xr nix.conf 5 Ns
-).
-.El
-.
-.
-.
-.Sh AUTHORS
-.An -nosplit
-.An Eelco Dolstra
-and
-.An the Nixpkgs/NixOS contributors
diff --git a/nixos/doc/manual/manpages/nixos-enter.8 b/nixos/doc/manual/manpages/nixos-enter.8
deleted file mode 100644
index 646f92199d62f..0000000000000
--- a/nixos/doc/manual/manpages/nixos-enter.8
+++ /dev/null
@@ -1,72 +0,0 @@
-.Dd January 1, 1980
-.Dt nixos-enter 8
-.Os
-.Sh NAME
-.Nm nixos-enter
-.Nd run a command in a NixOS chroot environment
-.
-.
-.
-.Sh SYNOPSIS
-.Nm nixos-enter
-.Op Fl -root Ar root
-.Op Fl -system Ar system
-.Op Fl -command | c Ar shell-command
-.Op Fl -silent
-.Op Fl -help
-.Op Fl - Ar arguments ...
-.
-.
-.
-.Sh DESCRIPTION
-This command runs a command in a NixOS chroot environment, that is, in a filesystem hierarchy previously prepared using
-.Xr nixos-install 8 .
-.
-.
-.
-.Sh OPTIONS
-.Bl -tag -width indent
-.It Fl -root Ar root
-The path to the NixOS system you want to enter. It defaults to
-.Pa /mnt Ns
-\&.
-.It Fl -system Ar system
-The NixOS system configuration to use. It defaults to
-.Pa /nix/var/nix/profiles/system Ns
-\&. You can enter a previous NixOS configuration by specifying a path such as
-.Pa /nix/var/nix/profiles/system-106-link Ns
-\&.
-.
-.It Fl -command Ar shell-command , Fl c Ar shell-command
-The bash command to execute.
-.
-.It Fl -silent
-Suppresses all output from the activation script of the target system.
-.
-.It Fl -
-Interpret the remaining arguments as the program name and arguments to be invoked.
-The program is not executed in a shell.
-.El
-.
-.
-.
-.Sh EXAMPLES
-.Bl -tag -width indent
-.It Ic nixos-enter --root /mnt
-Start an interactive shell in the NixOS installation in
-.Pa /mnt Ns .
-.
-.It Ic nixos-enter -c 'ls -l /; cat /proc/mounts'
-Run a shell command.
-.
-.It Ic nixos-enter -- cat /proc/mounts
-Run a non-shell command.
-.El
-.
-.
-.
-.Sh AUTHORS
-.An -nosplit
-.An Eelco Dolstra
-and
-.An the Nixpkgs/NixOS contributors
diff --git a/nixos/doc/manual/manpages/nixos-generate-config.8 b/nixos/doc/manual/manpages/nixos-generate-config.8
deleted file mode 100644
index 1b95599e156ae..0000000000000
--- a/nixos/doc/manual/manpages/nixos-generate-config.8
+++ /dev/null
@@ -1,165 +0,0 @@
-.Dd January 1, 1980
-.Dt nixos-generate-config 8
-.Os
-.Sh NAME
-.Nm nixos-generate-config
-.Nd generate NixOS configuration modules
-.
-.
-.
-.Sh SYNOPSIS
-.Nm nixos-generate-config
-.Op Fl -force
-.Op Fl -root Ar root
-.Op Fl -dir Ar dir
-.
-.
-.
-.Sh DESCRIPTION
-This command writes two NixOS configuration modules:
-.Bl -tag -width indent
-.It Pa /etc/nixos/hardware-configuration.nix
-This module sets NixOS configuration options based on your current hardware
-configuration. In particular, it sets the
-.Va fileSystem
-option to reflect all currently mounted file systems, the
-.Va swapDevices
-option to reflect active swap devices, and the
-.Va boot.initrd.*
-options to ensure that the initial ramdisk contains any kernel modules necessary
-for mounting the root file system.
-.Pp
-If this file already exists, it is overwritten. Thus, you should not modify it
-manually. Rather, you should include it from your
-.Pa /etc/nixos/configuration.nix Ns
-, and re-run
-.Nm
-to update it whenever your hardware configuration changes.
-.
-.It Pa /etc/nixos/configuration.nix
-This is the main NixOS system configuration module. If it already exists, it’s
-left unchanged. Otherwise,
-.Nm
-will write a template for you to customise.
-.El
-.
-.
-.
-.Sh OPTIONS
-.Bl -tag -width indent
-.It Fl -root Ar root
-If this option is given, treat the directory
-.Ar root
-as the root of the file system. This means that configuration files will be written to
-.Ql Ar root Ns /etc/nixos Ns
-, and that any file systems outside of
-.Ar root
-are ignored for the purpose of generating the
-.Va fileSystems
-option.
-.
-.It Fl -dir Ar dir
-If this option is given, write the configuration files to the directory
-.Ar dir
-instead of
-.Pa /etc/nixos Ns
-\&.
-.
-.It Fl -force
-Overwrite
-.Pa /etc/nixos/configuration.nix
-if it already exists.
-.
-.It Fl -no-filesystems
-Omit everything concerning file systems and swap devices from the hardware configuration.
-.
-.It Fl -show-hardware-config
-Don't generate
-.Pa configuration.nix
-or
-.Pa hardware-configuration.nix
-and print the hardware configuration to stdout only.
-.El
-.
-.
-.
-.Sh EXAMPLES
-This command is typically used during NixOS installation to write initial
-configuration modules. For example, if you created and mounted the target file
-systems on
-.Pa /mnt
-and
-.Pa /mnt/boot Ns
-, you would run:
-.Bd -literal -offset indent
-$ nixos-generate-config --root /mnt
-.Ed
-.
-.Pp
-The resulting file
-.Pa /mnt/etc/nixos/hardware-configuration.nix
-might look like this:
-.Bd -literal -offset indent
-# Do not modify this file!  It was generated by 'nixos-generate-config'
-# and may be overwritten by future invocations.  Please make changes
-# to /etc/nixos/configuration.nix instead.
-{ config, pkgs, ... }:
-
-{
-  imports =
-    [ <nixos/modules/installer/scan/not-detected.nix>
-    ];
-
-  boot.initrd.availableKernelModules = [ "ehci_hcd" "ahci" ];
-  boot.kernelModules = [ "kvm-intel" ];
-  boot.extraModulePackages = [ ];
-
-  fileSystems."/" =
-    { device = "/dev/disk/by-label/nixos";
-      fsType = "ext3";
-      options = [ "rw" "data=ordered" "relatime" ];
-    };
-
-  fileSystems."/boot" =
-    { device = "/dev/sda1";
-      fsType = "ext3";
-      options = [ "rw" "errors=continue" "user_xattr" "acl" "barrier=1" "data=writeback" "relatime" ];
-    };
-
-  swapDevices =
-    [ { device = "/dev/sda2"; }
-    ];
-
-  nix.maxJobs = 8;
-}
-.Ed
-.
-.Pp
-It will also create a basic
-.Pa /mnt/etc/nixos/configuration.nix Ns
-, which you should edit to customise the logical configuration of your system. \
-This file includes the result of the hardware scan as follows:
-.Bd -literal -offset indent
-imports = [ ./hardware-configuration.nix ];
-.Ed
-.
-.Pp
-After installation, if your hardware configuration changes, you can run:
-.Bd -literal -offset indent
-$ nixos-generate-config
-.Ed
-.
-.Pp
-to update
-.Pa /etc/nixos/hardware-configuration.nix Ns
-\&. Your
-.Pa /etc/nixos/configuration.nix
-will
-.Em not
-be overwritten.
-.
-.Sh AUTHORS
-.An -nosplit
-.An Eelco Dolstra
-and
-.An the Nixpkgs/NixOS contributors
diff --git a/nixos/doc/manual/manpages/nixos-install.8 b/nixos/doc/manual/manpages/nixos-install.8
deleted file mode 100644
index c6c8ed15224d3..0000000000000
--- a/nixos/doc/manual/manpages/nixos-install.8
+++ /dev/null
@@ -1,191 +0,0 @@
-.Dd January 1, 1980
-.Dt nixos-install 8
-.Os
-.Sh NAME
-.Nm nixos-install
-.Nd install bootloader and NixOS
-.
-.
-.
-.Sh SYNOPSIS
-.Nm nixos-install
-.Op Fl -verbose | v
-.Op Fl I Ar path
-.Op Fl -root Ar root
-.Op Fl -system Ar path
-.Op Fl -flake Ar flake-uri
-.Op Fl -impure
-.Op Fl -channel Ar channel
-.Op Fl -no-channel-copy
-.Op Fl -no-root-password | -no-root-passwd
-.Op Fl -no-bootloader
-.Op Fl -max-jobs | j Ar number
-.Op Fl -cores Ar number
-.Op Fl -option Ar name value
-.Op Fl -show-trace
-.Op Fl -keep-going
-.Op Fl -help
-.
-.
-.
-.Sh DESCRIPTION
-This command installs NixOS in the file system mounted on
-.Pa /mnt Ns
-, based on the NixOS configuration specified in
-.Pa /mnt/etc/nixos/configuration.nix Ns
-\&. It performs the following steps:
-.
-.Bl -enum
-.It
-It copies Nix and its dependencies to
-.Pa /mnt/nix/store Ns
-\&.
-.
-.It
-It runs Nix in
-.Pa /mnt
-to build the NixOS configuration specified in
-.Pa /mnt/etc/nixos/configuration.nix Ns
-\&.
-.
-.It
-It installs the current channel
-.Dq nixos
-in the target channel profile (unless
-.Fl -no-channel-copy
-is specified).
-.
-.It
-It installs the GRUB boot loader on the device specified in the option
-.Va boot.loader.grub.device
-(unless
-.Fl -no-bootloader
-is specified), and generates a GRUB configuration file that boots into the NixOS
-configuration just installed.
-.
-.It
-It prompts you for a password for the root account (unless
-.Fl -no-root-password
-is specified).
-.El
-.
-.Pp
-This command is idempotent: if it is interrupted or fails due to a temporary
-problem (e.g. a network issue), you can safely re-run it.
-.
-.
-.
-.Sh OPTIONS
-.Bl -tag -width indent
-.It Fl -verbose , v
-Increases the level of verbosity of diagnostic messages printed on standard
-error. For each Nix operation, the information printed on standard output is
-well-defined; any diagnostic information is printed on standard error, never on
-standard output.
-.Pp
-Please note that this option may be specified repeatedly.
-.
-.It Fl -root Ar root
-Defaults to
-.Pa /mnt Ns
-\&. If this option is given, treat the directory
-.Ar root
-as the root of the NixOS installation.
-.
-.It Fl -system Ar path
-If this option is provided,
-.Nm
-will install the specified closure rather than attempt to build one from
-.Pa /mnt/etc/nixos/configuration.nix Ns
-\&.
-.Pp
-The closure must be an appropriately configured NixOS system, with boot loader
-and partition configuration that fits the target host. Such a closure is
-typically obtained with a command such as
-.Ic nix-build -I nixos-config=./configuration.nix '<nixpkgs/nixos>' -A system --no-out-link Ns
-\&.
-.
-.It Fl -flake Ar flake-uri Ns # Ns Ar name
-Build the NixOS system from the specified flake. The flake must contain an
-output named
-.Ql nixosConfigurations. Ns Ar name Ns
-\&.
-.
-.It Fl -channel Ar channel
-If this option is provided, do not copy the current
-.Dq nixos
-channel to the target host. Instead, use the specified derivation.
-.
-.It Fl I Ar Path
-Add a path to the Nix expression search path. This option may be given multiple
-times. See the
-.Ev NIX_PATH
-environment variable for information on the semantics of the Nix search path. Paths added through
-.Fl I
-take precedence over
-.Ev NIX_PATH Ns
-\&.
-.
-.It Fl -max-jobs , j Ar number
-Sets the maximum number of build jobs that Nix will perform in parallel to the
-specified number. The default is 1. A higher value is useful on SMP systems or
-to exploit I/O latency.
-.
-.It Fl -cores Ar N
-Sets the value of the
-.Ev NIX_BUILD_CORES
-environment variable in the invocation of builders. Builders can use this
-variable at their discretion to control the maximum amount of parallelism. For
-instance, in Nixpkgs, if the derivation attribute
-.Va enableParallelBuilding
-is set to true, the builder passes the
-.Fl j Ns Va N
-flag to GNU Make. The value 0 means that the builder should use all available CPU cores in the system.
-.
-.It Fl -option Ar name value
-Set the Nix configuration option
-.Ar name
-to
-.Ar value Ns
-\&.
-.
-.It Fl -show-trace
-Causes Nix to print out a stack trace in case of Nix expression evaluation errors.
-.
-.It Fl -keep-going
-Causes Nix to continue building derivations as far as possible in the face of failed builds.
-.
-.It Fl -help
-Synonym for
-.Ic man nixos-install Ns
-\&.
-.El
-.
-.
-.
-.Sh EXAMPLES
-A typical NixOS installation is done by creating and mounting a file system on
-.Pa /mnt Ns
-, generating a NixOS configuration in
-.Pa /mnt/etc/nixos/configuration.nix Ns
-, and running
-.Nm Ns
-\&. For instance, if we want to install NixOS on an ext4 file system created in
-.Pa /dev/sda1 Ns
-:
-.Bd -literal -offset indent
-$ mkfs.ext4 /dev/sda1
-$ mount /dev/sda1 /mnt
-$ nixos-generate-config --root /mnt
-$ # edit /mnt/etc/nixos/configuration.nix
-$ nixos-install
-$ reboot
-.Ed
-.
-.
-.
-.Sh AUTHORS
-.An -nosplit
-.An Eelco Dolstra
-and
-.An the Nixpkgs/NixOS contributors
diff --git a/nixos/doc/manual/manpages/nixos-version.8 b/nixos/doc/manual/manpages/nixos-version.8
deleted file mode 100644
index f661611599fb0..0000000000000
--- a/nixos/doc/manual/manpages/nixos-version.8
+++ /dev/null
@@ -1,86 +0,0 @@
-.Dd January 1, 1980
-.Dt nixos-version 8
-.Os
-.Sh NAME
-.Nm nixos-version
-.Nd show the NixOS version
-.
-.
-.
-.Sh SYNOPSIS
-.Nm nixos-version
-.Op Fl -hash
-.Op Fl -revision
-.Op Fl -configuration-revision
-.Op Fl -json
-.
-.
-.
-.Sh DESCRIPTION
-This command shows the version of the currently active NixOS configuration. For example:
-.Bd -literal -offset indent
-$ nixos-version
-16.03.1011.6317da4 (Emu)
-.Ed
-.
-.Pp
-The version consists of the following elements:
-.Bl -tag -width indent
-.It Ql 16.03
-The NixOS release, indicating the year and month in which it was released
-(e.g. March 2016).
-.It Ql 1011
-The number of commits in the Nixpkgs Git repository between the start of the
-release branch and the commit from which this version was built. This ensures
-that NixOS versions are monotonically increasing. It is
-.Ql git
-when the current NixOS configuration was built from a checkout of the Nixpkgs
-Git repository rather than from a NixOS channel.
-.It Ql 6317da4
-The first 7 characters of the commit in the Nixpkgs Git repository from which
-this version was built.
-.It Ql Emu
-The code name of the NixOS release. The first letter of the code name indicates
-that this is the N'th stable NixOS release; for example, Emu is the fifth
-release.
-.El
-.
-.
-.
-.Sh OPTIONS
-.Bl -tag -width indent
-.It Fl -hash , -revision
-Show the full SHA1 hash of the Git commit from which this configuration was
-built, e.g.
-.Bd -literal -offset indent
-$ nixos-version --hash
-6317da40006f6bc2480c6781999c52d88dde2acf
-.Ed
-.
-.It Fl -configuration-revision
-Show the configuration revision if available. This could be the full SHA1 hash
-of the Git commit of the system flake, if you add
-.Bd -literal -offset indent
-{ system.configurationRevision = self.rev or "dirty"; }
-.Ed
-.Pp
-to the
-.Ql modules
-array of your flake.nix system configuration e.g.
-.Bd -literal -offset indent
-$ nixos-version --configuration-revision
-aa314ebd1592f6cdd53cb5bba8bcae97d9323de8
-.Ed
-.
-.It Fl -json
-Print a JSON representation of the versions of NixOS and the top-level
-configuration flake.
-.El
-.
-.
-.
-.Sh AUTHORS
-.An -nosplit
-.An Eelco Dolstra
-and
-.An the Nixpkgs/NixOS contributors