Skip to content

Commit

Permalink
nixos: Update documentation to refer to bin/apply
Browse files Browse the repository at this point in the history
  • Loading branch information
roberth committed Oct 22, 2024
1 parent 41d1804 commit 632e22a
Show file tree
Hide file tree
Showing 7 changed files with 12 additions and 12 deletions.
8 changes: 4 additions & 4 deletions nixos/doc/manual/administration/rollback.section.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ system has booted, you can make the selected configuration the default
for subsequent boots:

```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
Expand All @@ -25,11 +25,11 @@ system:
This is equivalent to running:

```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
list of the available configurations, do:
where `N` is the number of the NixOS system configuration to roll back to.
To get a list of the available configurations, run:

```ShellSession
$ ls -l /nix/var/nix/profiles/system-*-link
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,6 @@ profile:
The most notable deviation of this profile from a standard NixOS configuration
is that after building it, you cannot switch *to* the configuration anymore.
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
secure.
Original file line number Diff line number Diff line change
Expand Up @@ -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
easier to understand what is happening and why for curious administrators.

`nixos-rebuild`, like many deployment solutions, calls `switch-to-configuration`
which resides in a NixOS system at `$out/bin/switch-to-configuration`. The
`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/apply`. The
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
the actions but rather prints what it would do if you called it with `test`.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ The first steps to all these are the same:

```ShellSession
$ 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!
Expand Down
2 changes: 1 addition & 1 deletion nixos/lib/testing/nixos-test-base.nix
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ in
};
}
({ 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.
key = "no-switch-to-configuration";
system.switch.enable = mkDefault (config.isSpecialisation || config.specialisation != {} || config.virtualisation.installBootLoader);
Expand Down
2 changes: 1 addition & 1 deletion nixos/modules/system/activation/specialisation.nix
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ in
(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 (
Expand Down
4 changes: 2 additions & 2 deletions nixos/modules/system/activation/top-level.nix
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ let
# Putting it all together. This builds a store path containing
# symlinks to the various parts of the built configuration (the
# kernel, systemd units, init scripts, etc.) as well as a script
# `switch-to-configuration' that activates the configuration and
# makes it bootable. See `activatable-system.nix`.
# `bin/apply` that activates the configuration and
# makes it bootable. See `activatable-system.nix` and `switchable-system.nix`.
baseSystem = pkgs.stdenvNoCC.mkDerivation ({
name = "nixos-system-${config.system.name}-${config.system.nixos.label}";
preferLocalBuild = true;
Expand Down

0 comments on commit 632e22a

Please sign in to comment.