···
something](#ch-configuration) in that file, you should do
8
-
$ nixos-rebuild switch --use-remote-sudo
8
+
# nixos-rebuild switch
11
-
to build the new configuration as your current user, and as the root user,
12
-
make it the default configuration for booting. `switch` will also try to
13
-
realise the configuration in the running system (e.g., by restarting system
11
+
to build the new configuration, make it the default configuration for
12
+
booting, and try to realise the configuration in the running system
13
+
(e.g., by restarting system services).
This command doesn't start/stop [user services](#opt-systemd.user.services)
···
23
-
Applying a configuration is an action that must be done by the root user, so the
24
-
`switch`, `boot` and `test` commands should be ran with the `--use-remote-sudo`
25
-
flag. Despite its odd name, this flag runs the activation script with elevated
26
-
permissions, regardless of whether or not the target system is remote, without
27
-
affecting the other stages of the `nixos-rebuild` call. This allows unprivileged
28
-
users to rebuild the system and only elevate their permissions when necessary.
30
-
Alternatively, one can run the whole command as root while preserving user
31
-
environment variables by prefixing the command with `sudo -E`. However, this
32
-
method may create root-owned files in `$HOME/.cache` if Nix decides to use the
33
-
cache during evaluation.
22
+
These commands must be executed as root, so you should either run them
23
+
from a root shell or by prefixing them with `sudo -i`.
39
-
$ nixos-rebuild test --use-remote-sudo
29
+
# nixos-rebuild test
to build the configuration and switch the running system to it, but
···
50
-
$ nixos-rebuild boot --use-remote-sudo
40
+
# nixos-rebuild boot
to build the configuration and make it the boot default, but not switch
···
GRUB 2 boot screen by giving it a different *profile name*, e.g.
60
-
$ nixos-rebuild switch -p test --use-remote-sudo
50
+
# nixos-rebuild switch -p test
which causes the new configuration (and previous ones created using
···
A repl, or read-eval-print loop, is also available. You can inspect your configuration and use the Nix language with
71
-
$ nixos-rebuild repl
61
+
# nixos-rebuild repl
Your configuration is loaded into the `config` variable. Use tab for autocompletion, use the `:r` command to reload the configuration files. See `:?` or [`nix repl` in the Nix manual](https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-repl.html) to learn more.