nixos: Update documentation to refer to bin/apply
This commit is contained in:
@@ -12,7 +12,7 @@ system has booted, you can make the selected configuration the default
|
|||||||
for subsequent boots:
|
for subsequent boots:
|
||||||
|
|
||||||
```ShellSession
|
```ShellSession
|
||||||
# /run/current-system/bin/switch-to-configuration boot
|
# /run/current-system/bin/apply boot
|
||||||
```
|
```
|
||||||
|
|
||||||
Second, you can switch to the previous configuration in a running
|
Second, you can switch to the previous configuration in a running
|
||||||
@@ -25,11 +25,11 @@ system:
|
|||||||
This is equivalent to running:
|
This is equivalent to running:
|
||||||
|
|
||||||
```ShellSession
|
```ShellSession
|
||||||
# /nix/var/nix/profiles/system-N-link/bin/switch-to-configuration switch
|
# /nix/var/nix/profiles/system-N-link/bin/apply switch
|
||||||
```
|
```
|
||||||
|
|
||||||
where `N` is the number of the NixOS system configuration. To get a
|
where `N` is the number of the NixOS system configuration to roll back to.
|
||||||
list of the available configurations, do:
|
To get a list of the available configurations, run:
|
||||||
|
|
||||||
```ShellSession
|
```ShellSession
|
||||||
$ ls -l /nix/var/nix/profiles/system-*-link
|
$ ls -l /nix/var/nix/profiles/system-*-link
|
||||||
|
|||||||
@@ -16,6 +16,6 @@ profile:
|
|||||||
The most notable deviation of this profile from a standard NixOS configuration
|
The most notable deviation of this profile from a standard NixOS configuration
|
||||||
is that after building it, you cannot switch *to* the configuration anymore.
|
is that after building it, you cannot switch *to* the configuration anymore.
|
||||||
The profile sets `config.system.switch.enable = false;`, which excludes
|
The profile sets `config.system.switch.enable = false;`, which excludes
|
||||||
`switch-to-configuration`, the central script called by `nixos-rebuild`, from
|
`apply` and `switch-to-configuration`, the central scripts called by `nixos-rebuild`, from
|
||||||
your system. Removing this script makes the image lighter and slightly more
|
your system. Removing this script makes the image lighter and slightly more
|
||||||
secure.
|
secure.
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ This chapter explains some of the internals of this command to make it simpler
|
|||||||
for new module developers to configure their units correctly and to make it
|
for new module developers to configure their units correctly and to make it
|
||||||
easier to understand what is happening and why for curious administrators.
|
easier to understand what is happening and why for curious administrators.
|
||||||
|
|
||||||
`nixos-rebuild`, like many deployment solutions, calls `switch-to-configuration`
|
`nixos-rebuild`, like many deployment solutions, calls `apply` (or for NixOS older than 24.11, `switch-to-configuration`)
|
||||||
which resides in a NixOS system at `$out/bin/switch-to-configuration`. The
|
which resides in a NixOS system at `$out/bin/apply`. The
|
||||||
script is called with the action that is to be performed like `switch`, `test`,
|
script is called with the action that is to be performed like `switch`, `test`,
|
||||||
`boot`. There is also the `dry-activate` action which does not really perform
|
`boot`. There is also the `dry-activate` action which does not really perform
|
||||||
the actions but rather prints what it would do if you called it with `test`.
|
the actions but rather prints what it would do if you called it with `test`.
|
||||||
|
|||||||
@@ -247,7 +247,7 @@ The first steps to all these are the same:
|
|||||||
|
|
||||||
```ShellSession
|
```ShellSession
|
||||||
$ sudo mv -v /boot /boot.bak &&
|
$ sudo mv -v /boot /boot.bak &&
|
||||||
sudo /nix/var/nix/profiles/system/bin/switch-to-configuration boot
|
sudo /nix/var/nix/profiles/system/bin/apply boot
|
||||||
```
|
```
|
||||||
|
|
||||||
Cross your fingers, reboot, hopefully you should get a NixOS prompt!
|
Cross your fingers, reboot, hopefully you should get a NixOS prompt!
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ in
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
({ config, ... }: {
|
({ config, ... }: {
|
||||||
# Don't pull in switch-to-configuration by default, except when specialisations or early boot shenanigans are involved.
|
# Don't pull in apply and switch-to-configuration by default, except when specialisations or early boot shenanigans are involved.
|
||||||
# This is mostly a Hydra optimization, so we don't rebuild all the tests every time switch-to-configuration-ng changes.
|
# This is mostly a Hydra optimization, so we don't rebuild all the tests every time switch-to-configuration-ng changes.
|
||||||
key = "no-switch-to-configuration";
|
key = "no-switch-to-configuration";
|
||||||
system.switch.enable = mkDefault (config.isSpecialisation || config.specialisation != {} || config.virtualisation.installBootLoader);
|
system.switch.enable = mkDefault (config.isSpecialisation || config.specialisation != {} || config.virtualisation.installBootLoader);
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ in
|
|||||||
(e.g. `fewJobsManyCores`) at runtime, run:
|
(e.g. `fewJobsManyCores`) at runtime, run:
|
||||||
|
|
||||||
```
|
```
|
||||||
sudo /run/current-system/specialisation/fewJobsManyCores/bin/switch-to-configuration test
|
sudo /run/current-system/specialisation/fewJobsManyCores/bin/apply test
|
||||||
```
|
```
|
||||||
'';
|
'';
|
||||||
type = types.attrsOf (types.submodule (
|
type = types.attrsOf (types.submodule (
|
||||||
|
|||||||
@@ -49,8 +49,8 @@ let
|
|||||||
# Putting it all together. This builds a store path containing
|
# Putting it all together. This builds a store path containing
|
||||||
# symlinks to the various parts of the built configuration (the
|
# symlinks to the various parts of the built configuration (the
|
||||||
# kernel, systemd units, init scripts, etc.) as well as a script
|
# kernel, systemd units, init scripts, etc.) as well as a script
|
||||||
# `switch-to-configuration' that activates the configuration and
|
# `bin/apply` that activates the configuration and
|
||||||
# makes it bootable. See `activatable-system.nix`.
|
# makes it bootable. See `activatable-system.nix` and `switchable-system.nix`.
|
||||||
baseSystem = pkgs.stdenvNoCC.mkDerivation ({
|
baseSystem = pkgs.stdenvNoCC.mkDerivation ({
|
||||||
name = "nixos-system-${config.system.name}-${config.system.nixos.label}";
|
name = "nixos-system-${config.system.name}-${config.system.nixos.label}";
|
||||||
preferLocalBuild = true;
|
preferLocalBuild = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user