38 lines
1.6 KiB
XML
38 lines
1.6 KiB
XML
<section xmlns="http://docbook.org/ns/docbook"
|
|
version="5.0"
|
|
xml:id="sec-installing-nspawn-container">
|
|
<title>Installing into a nspawn container</title>
|
|
|
|
<para>
|
|
For installing a NixOS into a systemd nspawn container the NixOS installation tools are needed.
|
|
If you run another distribution than NixOS on your host,
|
|
please follow <xref linkend="sec-installing-from-other-distro"/> steps 1, 2, and 3.
|
|
</para>
|
|
|
|
<para>
|
|
Create a NixOS configuration file <filename>/var/lib/machines/my-container/etc/nixos/configuration.nix</filename>.
|
|
It is important that the container root file system is under <filename>/var/lib/machines</filename>.
|
|
This is the standard location where <command>machinectl</command> will look for containers.
|
|
If you choose place the root into another location you need to start the container directly with <command>systemd-nspawn</command>.
|
|
The file needs to have at least following options enabled:
|
|
<programlisting>
|
|
<xref linkend="opt-boot.isContainer"/> = true;
|
|
<xref linkend="opt-boot.loader.initScript.enable"/> = true;
|
|
</programlisting>
|
|
If your host uses <command>systemd-networkd</command> to configure the network,
|
|
you can also enable <xref linkend="opt-networking.useNetworkd"/> to use networkd default network configuration for your host and container.
|
|
</para>
|
|
|
|
<para>
|
|
Install the container by running following command:
|
|
<screen>nixos-install --root /var/lib/machines/my-container \
|
|
--no-channel-copy --no-root-passwd --no-bootloader</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Start the container by running following command:
|
|
<screen>machinectl start my-container</screen>
|
|
</para>
|
|
|
|
</section>
|