nixos-rebuild: Use /etc/nixos/flake.nix if it exists
This commit is contained in:
parent
26e4d09c9c
commit
cfd468adbb
|
@ -140,14 +140,17 @@
|
|||
<title>Description</title>
|
||||
|
||||
<para>
|
||||
This command updates the system so that it corresponds to the configuration
|
||||
specified in <filename>/etc/nixos/configuration.nix</filename>. Thus, every
|
||||
time you modify <filename>/etc/nixos/configuration.nix</filename> or any
|
||||
NixOS module, you must run <command>nixos-rebuild</command> to make the
|
||||
changes take effect. It builds the new system in
|
||||
<filename>/nix/store</filename>, runs its activation script, and stop and
|
||||
(re)starts any system services if needed. Please note that user services need
|
||||
to be started manually as they aren't detected by the activation script at the moment.
|
||||
This command updates the system so that it corresponds to the
|
||||
configuration specified in
|
||||
<filename>/etc/nixos/configuration.nix</filename> or
|
||||
<filename>/etc/nixos/flake.nix</filename>. Thus, every time you
|
||||
modify the configuration or any other NixOS module, you must run
|
||||
<command>nixos-rebuild</command> to make the changes take
|
||||
effect. It builds the new system in
|
||||
<filename>/nix/store</filename>, runs its activation script, and
|
||||
stop and (re)starts any system services if needed. Please note that
|
||||
user services need to be started manually as they aren't detected
|
||||
by the activation script at the moment.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
@ -526,8 +529,10 @@
|
|||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Build the NixOS system from the specified flake. The flake must
|
||||
contain an output named
|
||||
Build the NixOS system from the specified flake. It defaults to
|
||||
the directory containing the target of the symlink
|
||||
<filename>/etc/nixos/flake.nix</filename>, if it exists. The
|
||||
flake must contain an output named
|
||||
<literal>nixosConfigurations.<replaceable>name</replaceable></literal>,
|
||||
where <replaceable>name</replaceable> denotes the name of the
|
||||
configuration and can be specified using the
|
||||
|
@ -594,6 +599,21 @@
|
|||
|
||||
<variablelist>
|
||||
|
||||
<varlistentry>
|
||||
<term>
|
||||
<filename>/etc/nixos/flake.nix</filename>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
If this file exists, then <command>nixos-rebuild</command> will
|
||||
use it as if the <option>--flake</option> option was given. This
|
||||
file may be a symlink to a <filename>flake.nix</filename> in an
|
||||
actual flake; thus <filename>/etc/nixos</filename> need not be a
|
||||
flake.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>
|
||||
<filename>/run/current-system</filename>
|
||||
|
|
|
@ -236,6 +236,12 @@ if [ -z "$_NIXOS_REBUILD_REEXEC" ]; then
|
|||
export PATH=@nix@/bin:$PATH
|
||||
fi
|
||||
|
||||
# Use /etc/nixos/flake.nix if it exists. It can be a symlink to the
|
||||
# actual flake.
|
||||
if [[ -z $flake && -e /etc/nixos/flake.nix ]]; then
|
||||
flake="$(dirname "$(readlink -f /etc/nixos/flake.nix)")"
|
||||
fi
|
||||
|
||||
# Re-execute nixos-rebuild from the Nixpkgs tree.
|
||||
# FIXME: get nixos-rebuild from $flake.
|
||||
if [[ -z $_NIXOS_REBUILD_REEXEC && -n $canRun && -z $fast && -z $flake ]]; then
|
||||
|
|
Loading…
Reference in a new issue