From e7c482f78974407d0a110959ef4bc89a4bcc2e50 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 4 Jul 2021 00:09:05 +0800 Subject: [PATCH 1/4] nixos: nixos/doc/manual/installation/obtaining.xml to CommonMark --- .../installation/obtaining.chapter.xml | 48 +++++++++++++++++ .../doc/manual/installation/installation.xml | 2 +- .../manual/installation/obtaining.chapter.md | 26 +++++++++ nixos/doc/manual/installation/obtaining.xml | 54 ------------------- 4 files changed, 75 insertions(+), 55 deletions(-) create mode 100644 nixos/doc/manual/from_md/installation/obtaining.chapter.xml create mode 100644 nixos/doc/manual/installation/obtaining.chapter.md delete mode 100644 nixos/doc/manual/installation/obtaining.xml diff --git a/nixos/doc/manual/from_md/installation/obtaining.chapter.xml b/nixos/doc/manual/from_md/installation/obtaining.chapter.xml new file mode 100644 index 000000000000..a922feda2536 --- /dev/null +++ b/nixos/doc/manual/from_md/installation/obtaining.chapter.xml @@ -0,0 +1,48 @@ + + Obtaining NixOS + + NixOS ISO images can be downloaded from the + NixOS + download page. There are a number of installation options. If + you happen to have an optical drive and a spare CD, burning the + image to CD and booting from that is probably the easiest option. + Most people will need to prepare a USB stick to boot from. + describes the preferred + method to prepare a USB stick. A number of alternative methods are + presented in the + NixOS + Wiki. + + + As an alternative to installing NixOS yourself, you can get a + running NixOS system through several other means: + + + + + Using virtual appliances in Open Virtualization Format (OVF) + that can be imported into VirtualBox. These are available from + the + NixOS + download page. + + + + + Using AMIs for Amazon’s EC2. To find one for your region and + instance type, please refer to the + list + of most recent AMIs. + + + + + Using NixOps, the NixOS-based cloud deployment tool, which + allows you to provision VirtualBox and EC2 NixOS instances from + declarative specifications. Check out the + NixOps + homepage for details. + + + + diff --git a/nixos/doc/manual/installation/installation.xml b/nixos/doc/manual/installation/installation.xml index 2901f462dee0..98dbc6d74fdc 100644 --- a/nixos/doc/manual/installation/installation.xml +++ b/nixos/doc/manual/installation/installation.xml @@ -10,7 +10,7 @@ first-time use. - + diff --git a/nixos/doc/manual/installation/obtaining.chapter.md b/nixos/doc/manual/installation/obtaining.chapter.md new file mode 100644 index 000000000000..832ec6146a9d --- /dev/null +++ b/nixos/doc/manual/installation/obtaining.chapter.md @@ -0,0 +1,26 @@ +# Obtaining NixOS {#sec-obtaining} + +NixOS ISO images can be downloaded from the [NixOS download +page](https://nixos.org/nixos/download.html). There are a number of +installation options. If you happen to have an optical drive and a spare +CD, burning the image to CD and booting from that is probably the +easiest option. Most people will need to prepare a USB stick to boot +from. [](#sec-booting-from-usb) describes the preferred method to +prepare a USB stick. A number of alternative methods are presented in +the [NixOS Wiki](https://nixos.wiki/wiki/NixOS_Installation_Guide#Making_the_installation_media). + +As an alternative to installing NixOS yourself, you can get a running +NixOS system through several other means: + +- Using virtual appliances in Open Virtualization Format (OVF) that + can be imported into VirtualBox. These are available from the [NixOS + download page](https://nixos.org/nixos/download.html). + +- Using AMIs for Amazon's EC2. To find one for your region and + instance type, please refer to the [list of most recent + AMIs](https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/virtualisation/ec2-amis.nix). + +- Using NixOps, the NixOS-based cloud deployment tool, which allows + you to provision VirtualBox and EC2 NixOS instances from declarative + specifications. Check out the [NixOps + homepage](https://nixos.org/nixops) for details. diff --git a/nixos/doc/manual/installation/obtaining.xml b/nixos/doc/manual/installation/obtaining.xml deleted file mode 100644 index 3b8671782ded..000000000000 --- a/nixos/doc/manual/installation/obtaining.xml +++ /dev/null @@ -1,54 +0,0 @@ - - Obtaining NixOS - - NixOS ISO images can be downloaded from the - NixOS download - page. There are a number of installation options. If you happen to - have an optical drive and a spare CD, burning the image to CD and booting - from that is probably the easiest option. Most people will need to prepare a - USB stick to boot from. describes the - preferred method to prepare a USB stick. A number of alternative methods are - presented in the - NixOS - Wiki. - - - As an alternative to installing NixOS yourself, you can get a running NixOS - system through several other means: - - - - Using virtual appliances in Open Virtualization Format (OVF) that can be - imported into VirtualBox. These are available from the - NixOS download - page. - - - - - Using AMIs for Amazon’s EC2. To find one for your region and instance - type, please refer to the - list - of most recent AMIs. - - - - - Using NixOps, the NixOS-based cloud deployment tool, which allows you to - provision VirtualBox and EC2 NixOS instances from declarative - specifications. Check out the - NixOps homepage for - details. - - - - - From b85403368f4a27416961a443bf39fd41871c55c9 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 4 Jul 2021 00:09:43 +0800 Subject: [PATCH 2/4] nixos: nixos/doc/manual/installation/changing-config.xml to CommonMark --- .../installation/changing-config.chapter.xml | 117 ++++++++++++++++++ .../installation/changing-config.chapter.md | 100 +++++++++++++++ .../manual/installation/changing-config.xml | 97 --------------- .../doc/manual/installation/installation.xml | 2 +- 4 files changed, 218 insertions(+), 98 deletions(-) create mode 100644 nixos/doc/manual/from_md/installation/changing-config.chapter.xml create mode 100644 nixos/doc/manual/installation/changing-config.chapter.md delete mode 100644 nixos/doc/manual/installation/changing-config.xml diff --git a/nixos/doc/manual/from_md/installation/changing-config.chapter.xml b/nixos/doc/manual/from_md/installation/changing-config.chapter.xml new file mode 100644 index 000000000000..c88fc6bbdafb --- /dev/null +++ b/nixos/doc/manual/from_md/installation/changing-config.chapter.xml @@ -0,0 +1,117 @@ + + Changing the Configuration + + The file /etc/nixos/configuration.nix contains + the current configuration of your machine. Whenever you’ve + changed something in that + file, you should do + + +# nixos-rebuild switch + + + to build the new configuration, make it the default configuration + for booting, and try to realise the configuration in the running + system (e.g., by restarting system services). + + + + This command doesn't start/stop + user + services automatically. nixos-rebuild + only runs a daemon-reload for each user with + running user services. + + + + + These commands must be executed as root, so you should either run + them from a root shell or by prefixing them with + sudo -i. + + + + You can also do + + +# nixos-rebuild test + + + to build the configuration and switch the running system to it, but + without making it the boot default. So if (say) the configuration + locks up your machine, you can just reboot to get back to a working + configuration. + + + There is also + + +# nixos-rebuild boot + + + to build the configuration and make it the boot default, but not + switch to it now (so it will only take effect after the next + reboot). + + + You can make your configuration show up in a different submenu of + the GRUB 2 boot screen by giving it a different profile + name, e.g. + + +# nixos-rebuild switch -p test + + + which causes the new configuration (and previous ones created using + -p test) to show up in the GRUB submenu + NixOS - Profile 'test'. This can be useful to + separate test configurations from stable + configurations. + + + Finally, you can do + + +$ nixos-rebuild build + + + to build the configuration but nothing more. This is useful to see + whether everything compiles cleanly. + + + If you have a machine that supports hardware virtualisation, you can + also test the new configuration in a sandbox by building and running + a QEMU virtual machine that contains the + desired configuration. Just do + + +$ nixos-rebuild build-vm +$ ./result/bin/run-*-vm + + + The VM does not have any data from your host system, so your + existing user accounts and home directories will not be available + unless you have set mutableUsers = false. Another + way is to temporarily add the following to your configuration: + + +users.users.your-user.initialHashedPassword = "test"; + + + Important: delete the $hostname.qcow2 file if + you have started the virtual machine at least once without the right + users, otherwise the changes will not get picked up. You can forward + ports on the host to the guest. For instance, the following will + forward host port 2222 to guest port 22 (SSH): + + +$ QEMU_NET_OPTS="hostfwd=tcp::2222-:22" ./result/bin/run-*-vm + + + allowing you to log in via SSH (assuming you have set the + appropriate passwords or SSH authorized keys): + + +$ ssh -p 2222 localhost + + diff --git a/nixos/doc/manual/installation/changing-config.chapter.md b/nixos/doc/manual/installation/changing-config.chapter.md new file mode 100644 index 000000000000..4ed6859ce246 --- /dev/null +++ b/nixos/doc/manual/installation/changing-config.chapter.md @@ -0,0 +1,100 @@ +# Changing the Configuration {#sec-changing-config} + +The file `/etc/nixos/configuration.nix` contains the current +configuration of your machine. Whenever you've [changed +something](#ch-configuration) in that file, you should do + +```ShellSession +# nixos-rebuild switch +``` + +to build the new configuration, make it the default configuration for +booting, and try to realise the configuration in the running system +(e.g., by restarting system services). + +::: {.warning} +This command doesn\'t start/stop [user services](options.html#opt-systemd.user.services) +automatically. `nixos-rebuild` only runs a `daemon-reload` for each user with running +user services. +::: + +::: {.warning} +These commands must be executed as root, so you should either run them +from a root shell or by prefixing them with `sudo -i`. +::: + +You can also do + +```ShellSession +# nixos-rebuild test +``` + +to build the configuration and switch the running system to it, but +without making it the boot default. So if (say) the configuration locks +up your machine, you can just reboot to get back to a working +configuration. + +There is also + +```ShellSession +# nixos-rebuild boot +``` + +to build the configuration and make it the boot default, but not switch +to it now (so it will only take effect after the next reboot). + +You can make your configuration show up in a different submenu of the +GRUB 2 boot screen by giving it a different *profile name*, e.g. + +```ShellSession +# nixos-rebuild switch -p test +``` + +which causes the new configuration (and previous ones created using +`-p test`) to show up in the GRUB submenu "NixOS - Profile \'test\'". +This can be useful to separate test configurations from "stable" +configurations. + +Finally, you can do + +```ShellSession +$ nixos-rebuild build +``` + +to build the configuration but nothing more. This is useful to see +whether everything compiles cleanly. + +If you have a machine that supports hardware virtualisation, you can +also test the new configuration in a sandbox by building and running a +QEMU *virtual machine* that contains the desired configuration. Just do + +```ShellSession +$ nixos-rebuild build-vm +$ ./result/bin/run-*-vm +``` + +The VM does not have any data from your host system, so your existing +user accounts and home directories will not be available unless you have +set `mutableUsers = false`. Another way is to temporarily add the +following to your configuration: + +```nix +users.users.your-user.initialHashedPassword = "test"; +``` + +*Important:* delete the \$hostname.qcow2 file if you have started the +virtual machine at least once without the right users, otherwise the +changes will not get picked up. You can forward ports on the host to the +guest. For instance, the following will forward host port 2222 to guest +port 22 (SSH): + +```ShellSession +$ QEMU_NET_OPTS="hostfwd=tcp::2222-:22" ./result/bin/run-*-vm +``` + +allowing you to log in via SSH (assuming you have set the appropriate +passwords or SSH authorized keys): + +```ShellSession +$ ssh -p 2222 localhost +``` diff --git a/nixos/doc/manual/installation/changing-config.xml b/nixos/doc/manual/installation/changing-config.xml deleted file mode 100644 index 4288806d5eb2..000000000000 --- a/nixos/doc/manual/installation/changing-config.xml +++ /dev/null @@ -1,97 +0,0 @@ - - Changing the Configuration - - The file /etc/nixos/configuration.nix contains the - current configuration of your machine. Whenever you’ve - changed something in that file, you - should do - -# nixos-rebuild switch - - to build the new configuration, make it the default configuration for - booting, and try to realise the configuration in the running system (e.g., by - restarting system services). - - - This command doesn't start/stop user - services automatically. nixos-rebuild only runs a - daemon-reload for each user with running user services. - - - - - - These commands must be executed as root, so you should either run them from - a root shell or by prefixing them with sudo -i. - - - - You can also do - -# nixos-rebuild test - - to build the configuration and switch the running system to it, but without - making it the boot default. So if (say) the configuration locks up your - machine, you can just reboot to get back to a working configuration. - - - There is also - -# nixos-rebuild boot - - to build the configuration and make it the boot default, but not switch to it - now (so it will only take effect after the next reboot). - - - You can make your configuration show up in a different submenu of the GRUB 2 - boot screen by giving it a different profile name, e.g. - -# nixos-rebuild switch -p test - - which causes the new configuration (and previous ones created using - -p test) to show up in the GRUB submenu “NixOS - Profile - 'test'”. This can be useful to separate test configurations from - “stable” configurations. - - - Finally, you can do - -$ nixos-rebuild build - - to build the configuration but nothing more. This is useful to see whether - everything compiles cleanly. - - - If you have a machine that supports hardware virtualisation, you can also - test the new configuration in a sandbox by building and running a QEMU - virtual machine that contains the desired configuration. - Just do - -$ nixos-rebuild build-vm -$ ./result/bin/run-*-vm - - The VM does not have any data from your host system, so your existing user - accounts and home directories will not be available unless you have set - mutableUsers = false. Another way is to temporarily add - the following to your configuration: - -users.users.your-user.initialHashedPassword = "test"; - - Important: delete the $hostname.qcow2 file if you have - started the virtual machine at least once without the right users, otherwise - the changes will not get picked up. You can forward ports on the host to the - guest. For instance, the following will forward host port 2222 to guest port - 22 (SSH): - -$ QEMU_NET_OPTS="hostfwd=tcp::2222-:22" ./result/bin/run-*-vm - - allowing you to log in via SSH (assuming you have set the appropriate - passwords or SSH authorized keys): - -$ ssh -p 2222 localhost - - - diff --git a/nixos/doc/manual/installation/installation.xml b/nixos/doc/manual/installation/installation.xml index 98dbc6d74fdc..65564e8b1e30 100644 --- a/nixos/doc/manual/installation/installation.xml +++ b/nixos/doc/manual/installation/installation.xml @@ -12,6 +12,6 @@ - + From f6911a020e7e7be42d9d4f71baf5eb856efd0757 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 4 Jul 2021 00:10:18 +0800 Subject: [PATCH 3/4] nixos: nixos/doc/manual/installation/upgrading.xml to CommonMark --- .../installation/upgrading.chapter.xml | 152 ++++++++++++++++++ .../doc/manual/installation/installation.xml | 2 +- .../manual/installation/upgrading.chapter.md | 118 ++++++++++++++ nixos/doc/manual/installation/upgrading.xml | 139 ---------------- 4 files changed, 271 insertions(+), 140 deletions(-) create mode 100644 nixos/doc/manual/from_md/installation/upgrading.chapter.xml create mode 100644 nixos/doc/manual/installation/upgrading.chapter.md delete mode 100644 nixos/doc/manual/installation/upgrading.xml diff --git a/nixos/doc/manual/from_md/installation/upgrading.chapter.xml b/nixos/doc/manual/from_md/installation/upgrading.chapter.xml new file mode 100644 index 000000000000..c0c5a2190fb2 --- /dev/null +++ b/nixos/doc/manual/from_md/installation/upgrading.chapter.xml @@ -0,0 +1,152 @@ + + Upgrading NixOS + + The best way to keep your NixOS installation up to date is to use + one of the NixOS channels. A channel is a Nix + mechanism for distributing Nix expressions and associated binaries. + The NixOS channels are updated automatically from NixOS’s Git + repository after certain tests have passed and all packages have + been built. These channels are: + + + + + Stable channels, such as + nixos-21.05. + These only get conservative bug fixes and package upgrades. For + instance, a channel update may cause the Linux kernel on your + system to be upgraded from 4.19.34 to 4.19.38 (a minor bug fix), + but not from 4.19.x to 4.20.x (a major change that has the + potential to break things). Stable channels are generally + maintained until the next stable branch is created. + + + + + The unstable channel, + nixos-unstable. + This corresponds to NixOS’s main development branch, and may + thus see radical changes between channel updates. It’s not + recommended for production systems. + + + + + Small channels, such as + nixos-21.05-small + or + nixos-unstable-small. + These are identical to the stable and unstable channels + described above, except that they contain fewer binary packages. + This means they get updated faster than the regular channels + (for instance, when a critical security patch is committed to + NixOS’s source tree), but may require more packages to be built + from source than usual. They’re mostly intended for server + environments and as such contain few GUI applications. + + + + + To see what channels are available, go to + https://nixos.org/channels. + (Note that the URIs of the various channels redirect to a directory + that contains the channel’s latest version and includes ISO images + and VirtualBox appliances.) Please note that during the release + process, channels that are not yet released will be present here as + well. See the Getting NixOS page + https://nixos.org/nixos/download.html + to find the newest supported stable release. + + + When you first install NixOS, you’re automatically subscribed to the + NixOS channel that corresponds to your installation source. For + instance, if you installed from a 21.05 ISO, you will be subscribed + to the nixos-21.05 channel. To see which NixOS + channel you’re subscribed to, run the following as root: + + +# nix-channel --list | grep nixos +nixos https://nixos.org/channels/nixos-unstable + + + To switch to a different NixOS channel, do + + +# nix-channel --add https://nixos.org/channels/channel-name nixos + + + (Be sure to include the nixos parameter at the + end.) For instance, to use the NixOS 21.05 stable channel: + + +# nix-channel --add https://nixos.org/channels/nixos-21.05 nixos + + + If you have a server, you may want to use the small + channel instead: + + +# nix-channel --add https://nixos.org/channels/nixos-21.05-small nixos + + + And if you want to live on the bleeding edge: + + +# nix-channel --add https://nixos.org/channels/nixos-unstable nixos + + + You can then upgrade NixOS to the latest version in your chosen + channel by running + + +# nixos-rebuild switch --upgrade + + + which is equivalent to the more verbose + nix-channel --update nixos; nixos-rebuild switch. + + + + Channels are set per user. This means that running + nix-channel --add as a non root user (or + without sudo) will not affect configuration in + /etc/nixos/configuration.nix + + + + + It is generally safe to switch back and forth between channels. + The only exception is that a newer NixOS may also have a newer Nix + version, which may involve an upgrade of Nix’s database schema. + This cannot be undone easily, so in that case you will not be able + to go back to your original channel. + + +
+ Automatic Upgrades + + You can keep a NixOS system up-to-date automatically by adding the + following to configuration.nix: + + +system.autoUpgrade.enable = true; +system.autoUpgrade.allowReboot = true; + + + This enables a periodically executed systemd service named + nixos-upgrade.service. If the + allowReboot option is false, + it runs nixos-rebuild switch --upgrade to + upgrade NixOS to the latest version in the current channel. (To + see when the service runs, see + systemctl list-timers.) If + allowReboot is true, then + the system will automatically reboot if the new generation + contains a different kernel, initrd or kernel modules. You can + also specify a channel explicitly, e.g. + + +system.autoUpgrade.channel = https://nixos.org/channels/nixos-21.05; + +
+
diff --git a/nixos/doc/manual/installation/installation.xml b/nixos/doc/manual/installation/installation.xml index 65564e8b1e30..cc18a9c6e9ff 100644 --- a/nixos/doc/manual/installation/installation.xml +++ b/nixos/doc/manual/installation/installation.xml @@ -13,5 +13,5 @@ - + diff --git a/nixos/doc/manual/installation/upgrading.chapter.md b/nixos/doc/manual/installation/upgrading.chapter.md new file mode 100644 index 000000000000..b7903b9d3cbb --- /dev/null +++ b/nixos/doc/manual/installation/upgrading.chapter.md @@ -0,0 +1,118 @@ +# Upgrading NixOS {#sec-upgrading} + +The best way to keep your NixOS installation up to date is to use one of +the NixOS *channels*. A channel is a Nix mechanism for distributing Nix +expressions and associated binaries. The NixOS channels are updated +automatically from NixOS's Git repository after certain tests have +passed and all packages have been built. These channels are: + +- *Stable channels*, such as [`nixos-21.05`](https://nixos.org/channels/nixos-21.05). + These only get conservative bug fixes and package upgrades. For + instance, a channel update may cause the Linux kernel on your system + to be upgraded from 4.19.34 to 4.19.38 (a minor bug fix), but not + from 4.19.x to 4.20.x (a major change that has the potential to break things). + Stable channels are generally maintained until the next stable + branch is created. + +- The *unstable channel*, [`nixos-unstable`](https://nixos.org/channels/nixos-unstable). + This corresponds to NixOS's main development branch, and may thus see + radical changes between channel updates. It's not recommended for + production systems. + +- *Small channels*, such as [`nixos-21.05-small`](https://nixos.org/channels/nixos-21.05-small) + or [`nixos-unstable-small`](https://nixos.org/channels/nixos-unstable-small). + These are identical to the stable and unstable channels described above, + except that they contain fewer binary packages. This means they get updated + faster than the regular channels (for instance, when a critical security patch + is committed to NixOS's source tree), but may require more packages to be + built from source than usual. They're mostly intended for server environments + and as such contain few GUI applications. + +To see what channels are available, go to . +(Note that the URIs of the various channels redirect to a directory that +contains the channel's latest version and includes ISO images and +VirtualBox appliances.) Please note that during the release process, +channels that are not yet released will be present here as well. See the +Getting NixOS page to find the +newest supported stable release. + +When you first install NixOS, you're automatically subscribed to the +NixOS channel that corresponds to your installation source. For +instance, if you installed from a 21.05 ISO, you will be subscribed to +the `nixos-21.05` channel. To see which NixOS channel you're subscribed +to, run the following as root: + +```ShellSession +# nix-channel --list | grep nixos +nixos https://nixos.org/channels/nixos-unstable +``` + +To switch to a different NixOS channel, do + +```ShellSession +# nix-channel --add https://nixos.org/channels/channel-name nixos +``` + +(Be sure to include the `nixos` parameter at the end.) For instance, to +use the NixOS 21.05 stable channel: + +```ShellSession +# nix-channel --add https://nixos.org/channels/nixos-21.05 nixos +``` + +If you have a server, you may want to use the "small" channel instead: + +```ShellSession +# nix-channel --add https://nixos.org/channels/nixos-21.05-small nixos +``` + +And if you want to live on the bleeding edge: + +```ShellSession +# nix-channel --add https://nixos.org/channels/nixos-unstable nixos +``` + +You can then upgrade NixOS to the latest version in your chosen channel +by running + +```ShellSession +# nixos-rebuild switch --upgrade +``` + +which is equivalent to the more verbose `nix-channel --update nixos; nixos-rebuild switch`. + +::: {.note} +Channels are set per user. This means that running `nix-channel --add` +as a non root user (or without sudo) will not affect +configuration in `/etc/nixos/configuration.nix` +::: + +::: {.warning} +It is generally safe to switch back and forth between channels. The only +exception is that a newer NixOS may also have a newer Nix version, which +may involve an upgrade of Nix's database schema. This cannot be undone +easily, so in that case you will not be able to go back to your original +channel. +::: + +## Automatic Upgrades {#sec-upgrading-automatic} + +You can keep a NixOS system up-to-date automatically by adding the +following to `configuration.nix`: + +```nix +system.autoUpgrade.enable = true; +system.autoUpgrade.allowReboot = true; +``` + +This enables a periodically executed systemd service named +`nixos-upgrade.service`. If the `allowReboot` option is `false`, it runs +`nixos-rebuild switch --upgrade` to upgrade NixOS to the latest version +in the current channel. (To see when the service runs, see `systemctl list-timers`.) +If `allowReboot` is `true`, then the system will automatically reboot if +the new generation contains a different kernel, initrd or kernel +modules. You can also specify a channel explicitly, e.g. + +```nix +system.autoUpgrade.channel = https://nixos.org/channels/nixos-21.05; +``` diff --git a/nixos/doc/manual/installation/upgrading.xml b/nixos/doc/manual/installation/upgrading.xml deleted file mode 100644 index 960d4fa9a436..000000000000 --- a/nixos/doc/manual/installation/upgrading.xml +++ /dev/null @@ -1,139 +0,0 @@ - - Upgrading NixOS - - The best way to keep your NixOS installation up to date is to use one of the - NixOS channels. A channel is a Nix mechanism for - distributing Nix expressions and associated binaries. The NixOS channels are - updated automatically from NixOS’s Git repository after certain tests have - passed and all packages have been built. These channels are: - - - - Stable channels, such as - nixos-21.05. - These only get conservative bug fixes and package upgrades. For instance, - a channel update may cause the Linux kernel on your system to be upgraded - from 4.19.34 to 4.19.38 (a minor bug fix), but not from - 4.19.x to 4.20.x (a - major change that has the potential to break things). Stable channels are - generally maintained until the next stable branch is created. - - - - - - The unstable channel, - nixos-unstable. - This corresponds to NixOS’s main development branch, and may thus see - radical changes between channel updates. It’s not recommended for - production systems. - - - - - Small channels, such as - nixos-21.05-small - or - nixos-unstable-small. - These are identical to the stable and unstable channels described above, - except that they contain fewer binary packages. This means they get - updated faster than the regular channels (for instance, when a critical - security patch is committed to NixOS’s source tree), but may require - more packages to be built from source than usual. They’re mostly - intended for server environments and as such contain few GUI applications. - - - - To see what channels are available, go to - . (Note that the URIs of the - various channels redirect to a directory that contains the channel’s latest - version and includes ISO images and VirtualBox appliances.) Please note that - during the release process, channels that are not yet released will be - present here as well. See the Getting NixOS page - to find the newest - supported stable release. - - - When you first install NixOS, you’re automatically subscribed to the NixOS - channel that corresponds to your installation source. For instance, if you - installed from a 21.05 ISO, you will be subscribed to the - nixos-21.05 channel. To see which NixOS channel you’re - subscribed to, run the following as root: - -# nix-channel --list | grep nixos -nixos https://nixos.org/channels/nixos-unstable - - To switch to a different NixOS channel, do - -# nix-channel --add https://nixos.org/channels/channel-name nixos - - (Be sure to include the nixos parameter at the end.) For - instance, to use the NixOS 21.05 stable channel: - -# nix-channel --add https://nixos.org/channels/nixos-21.05 nixos - - If you have a server, you may want to use the “small” channel instead: - -# nix-channel --add https://nixos.org/channels/nixos-21.05-small nixos - - And if you want to live on the bleeding edge: - -# nix-channel --add https://nixos.org/channels/nixos-unstable nixos - - - - You can then upgrade NixOS to the latest version in your chosen channel by - running - -# nixos-rebuild switch --upgrade - - which is equivalent to the more verbose nix-channel --update nixos; - nixos-rebuild switch. - - - - Channels are set per user. This means that running nix-channel - --add as a non root user (or without sudo) will not affect - configuration in /etc/nixos/configuration.nix - - - - - It is generally safe to switch back and forth between channels. The only - exception is that a newer NixOS may also have a newer Nix version, which may - involve an upgrade of Nix’s database schema. This cannot be undone easily, - so in that case you will not be able to go back to your original channel. - - -
- Automatic Upgrades - - - You can keep a NixOS system up-to-date automatically by adding the following - to configuration.nix: - - = true; - = true; - - This enables a periodically executed systemd service named - nixos-upgrade.service. If the allowReboot - option is false, it runs nixos-rebuild switch - --upgrade to upgrade NixOS to the latest version in the current - channel. (To see when the service runs, see systemctl list-timers.) - If allowReboot is true, then the - system will automatically reboot if the new generation contains a different - kernel, initrd or kernel modules. - You can also specify a channel explicitly, e.g. - - = https://nixos.org/channels/nixos-21.05; - - -
-
From a3480a0e6959f69bdbafe31c4cce2c731a929934 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 4 Jul 2021 09:18:03 +0800 Subject: [PATCH 4/4] nixos: use only URI fragment in manual options links --- .../from_md/installation/changing-config.chapter.xml | 8 ++++---- nixos/doc/manual/installation/changing-config.chapter.md | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/nixos/doc/manual/from_md/installation/changing-config.chapter.xml b/nixos/doc/manual/from_md/installation/changing-config.chapter.xml index c88fc6bbdafb..86f0b15b41c5 100644 --- a/nixos/doc/manual/from_md/installation/changing-config.chapter.xml +++ b/nixos/doc/manual/from_md/installation/changing-config.chapter.xml @@ -17,10 +17,10 @@ This command doesn't start/stop - user - services automatically. nixos-rebuild - only runs a daemon-reload for each user with - running user services. + user services + automatically. nixos-rebuild only runs a + daemon-reload for each user with running user + services. diff --git a/nixos/doc/manual/installation/changing-config.chapter.md b/nixos/doc/manual/installation/changing-config.chapter.md index 4ed6859ce246..8a404f085d7c 100644 --- a/nixos/doc/manual/installation/changing-config.chapter.md +++ b/nixos/doc/manual/installation/changing-config.chapter.md @@ -13,7 +13,7 @@ booting, and try to realise the configuration in the running system (e.g., by restarting system services). ::: {.warning} -This command doesn\'t start/stop [user services](options.html#opt-systemd.user.services) +This command doesn\'t start/stop [user services](#opt-systemd.user.services) automatically. `nixos-rebuild` only runs a `daemon-reload` for each user with running user services. :::