Nixos-rebuild: Difference between revisions
Minor formatting changes, add {{cleanup}} and section about deploying on different target arch |
Mention nixos-rebuild-ng and --use-substitutes for remote hosts |
||
| Line 2: | Line 2: | ||
'''nixos-rebuild''' is the NixOS command used to apply changes made to the system configuration. It can also be used for a variety of other tasks related to managing the state of a NixOS system. | '''nixos-rebuild''' is the NixOS command used to apply changes made to the system configuration. It can also be used for a variety of other tasks related to managing the state of a NixOS system. | ||
<code>nixos-rebuild-ng</code> is a rewrite of <code>nixos-rebuild</code> in Python instead of Bash which has better performance and more features, and will become the default in NixOS 25.11. | |||
== Usage == | == Usage == | ||
| Line 29: | Line 31: | ||
# nixos-rebuild --build-host user@example.com switch | # nixos-rebuild --build-host user@example.com switch | ||
</syntaxHighlight> | </syntaxHighlight> | ||
Add the flag <code>--use-substitutes</code> to make the remote host use substitutes instead of copying from your host to the remote host. | |||
To build the system locally and deploy it on a remote host, use: | To build the system locally and deploy it on a remote host, use: | ||
<syntaxHighlight lang=console> | <syntaxHighlight lang=console> | ||
| Line 41: | Line 45: | ||
</syntaxHighlight> | </syntaxHighlight> | ||
To enter a password while using remote sudo, prefix the command with <code>NIX_SSHOPTS="-o RequestTTY=force"</code>. | To enter a password while using remote sudo, prefix the command with <code>NIX_SSHOPTS="-o RequestTTY=force"</code>, or add <code>--ask-sudo-password</code> with <code>nixos-rebuild-ng</code>. | ||
{{Note|When rebuilding a remote host, you may see similar errors to the following: | {{Note|When rebuilding a remote host, you may see similar errors to the following: | ||