This commit is contained in:
bors[bot] 2023-05-31 07:13:07 +00:00
parent 22014eb592
commit be40bc6e53
13 changed files with 601 additions and 103 deletions

1
#
View File

@ -1 +0,0 @@
# Reference

View File

@ -1,2 +1,2 @@
cp -r /nix/store/dmlq2d0kf1jsmq077jvl7lmg20x61q3y-source/* .
cp -r /nix/store/rkmamjwyhjkmwpm6n1b51603j99h37bx-source/* .
/nix/store/hrfzqg370iw27fskr9h2lypip815cr55-mdbook-0.4.28/bin/mdbook build --dest-dir "$out"

View File

@ -84,7 +84,7 @@
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox">
<ol class="chapter"><li class="chapter-item expanded "><a href="introduction.html"><strong aria-hidden="true">1.</strong> Introduction</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.1.</strong> What is nixos-anywhere?</a></li><li class="chapter-item expanded "><a href="quickstart.html"><strong aria-hidden="true">1.2.</strong> Quickstart</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.3.</strong> Getting Started</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.4.</strong> System Requirements</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.5.</strong> Support Matrix</a></li></ol></li><li class="chapter-item expanded "><a href="installation.html"><strong aria-hidden="true">2.</strong> Installation</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.1.</strong> Bare Metal Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.2.</strong> Virtualized Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.3.</strong> Cloud Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.4.</strong> Local Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.5.</strong> Single Board Computers</a></li></ol></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">3.</strong> Avanced Guides</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">4.</strong> Reference</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="cli.html"><strong aria-hidden="true">4.1.</strong> CLI</a></li></ol></li></ol>
<ol class="chapter"><li class="chapter-item expanded affix "><a href="quickstart.html">Quickstart</a></li><li class="chapter-item expanded affix "><a href="requirements.html">System Requirements</a></li><li class="chapter-item expanded affix "><a href="howtos.html">How to Guide</a></li><li class="chapter-item expanded affix "><a href="supportmatrix.html">Support Matrix</a></li><li class="chapter-item expanded affix "><a href="reference.html">Reference</a></li></ol>
</div>
<div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>
</nav>

View File

@ -3,10 +3,10 @@ declare -x HOME="/homeless-shelter"
declare -x HOST_PATH="/nix/store/ahkfdxq8mcpsb5kvdvgqr1wv8zjngbh4-coreutils-9.1/bin:/nix/store/4qrbfa42xyicny7vlgbbqxz07kcsjbx2-findutils-4.9.0/bin:/nix/store/6bcqajyagcc4s3azx0zqnb3rqxd7gdnv-diffutils-3.9/bin:/nix/store/gy82r5cf12hgkmhzifsyx3fp6cnf6j2l-gnused-4.9/bin:/nix/store/zrls4w5lxynqakh1jlrp03kg4bxzp9yi-gnugrep-3.7/bin:/nix/store/s3yl3l8na93v53k2cfsyz0jrb50bnk8n-gawk-5.2.1/bin:/nix/store/czy796d2241296bdy45w87cmaiig50zr-gnutar-1.34/bin:/nix/store/hdbb5ayyrz1b5hicbsb4am8vin0xxxg6-gzip-1.12/bin:/nix/store/hd573q7097cxj5q29pnc3z0rvakz7ga3-bzip2-1.0.8-bin/bin:/nix/store/nnis9ph3wj866bbs0lalbf22i5bq8yry-gnumake-4.4.1/bin:/nix/store/rhvbjmcfnkg8i2dxpzr114cp1ws7f667-bash-5.2-p15/bin:/nix/store/x4ckkjsxfl4ihl82v0bzsyxs4ay2d5b5-patch-2.7.6/bin:/nix/store/8xjzmhw6hgqmynb5f1v7aw2lvafij405-xz-5.4.3-bin/bin:/nix/store/lcjsmsxqwd4vkq2wj5mmbyjzny3i6k49-file-5.44/bin"
declare -x NIX_BUILD_CORES="2"
declare -x NIX_BUILD_TOP="/build"
declare -x NIX_CFLAGS_COMPILE=" -frandom-seed=0pglw66az4"
declare -x NIX_CFLAGS_COMPILE=" -frandom-seed=sjl7a12fjv"
declare -x NIX_ENFORCE_NO_NATIVE="1"
declare -x NIX_ENFORCE_PURITY="1"
declare -x NIX_LDFLAGS="-rpath /nix/store/0pglw66az4hcl40siqm5l11vx6v5v821-nixos-anywhere-docs/lib64 -rpath /nix/store/0pglw66az4hcl40siqm5l11vx6v5v821-nixos-anywhere-docs/lib "
declare -x NIX_LDFLAGS="-rpath /nix/store/sjl7a12fjvni5cxh89day180ajsx706l-nixos-anywhere-docs/lib64 -rpath /nix/store/sjl7a12fjvni5cxh89day180ajsx706l-nixos-anywhere-docs/lib "
declare -x NIX_LOG_FD="2"
declare -x NIX_SSL_CERT_FILE="/no-cert-file.crt"
declare -x NIX_STORE="/nix/store"
@ -46,7 +46,7 @@ declare -x enableParallelInstalling="1"
declare -x mesonFlags=""
declare -x name="nixos-anywhere-docs"
declare -x nativeBuildInputs=""
declare -x out="/nix/store/0pglw66az4hcl40siqm5l11vx6v5v821-nixos-anywhere-docs"
declare -x out="/nix/store/sjl7a12fjvni5cxh89day180ajsx706l-nixos-anywhere-docs"
declare -x outputs="out"
declare -x passAsFile="buildCommand"
declare -x patches=""

View File

@ -3,7 +3,7 @@
<head>
<!-- Book generated using mdBook -->
<meta charset="UTF-8">
<title>Installation - nixos-anywhere - install NixOS everywhere</title>
<title>How to Guide - nixos-anywhere - install NixOS everywhere</title>
<!-- Custom HTML head -->
@ -83,7 +83,7 @@
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox">
<ol class="chapter"><li class="chapter-item expanded "><a href="introduction.html"><strong aria-hidden="true">1.</strong> Introduction</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.1.</strong> What is nixos-anywhere?</a></li><li class="chapter-item expanded "><a href="quickstart.html"><strong aria-hidden="true">1.2.</strong> Quickstart</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.3.</strong> Getting Started</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.4.</strong> System Requirements</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.5.</strong> Support Matrix</a></li></ol></li><li class="chapter-item expanded "><a href="installation.html" class="active"><strong aria-hidden="true">2.</strong> Installation</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.1.</strong> Bare Metal Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.2.</strong> Virtualized Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.3.</strong> Cloud Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.4.</strong> Local Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.5.</strong> Single Board Computers</a></li></ol></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">3.</strong> Avanced Guides</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">4.</strong> Reference</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="cli.html"><strong aria-hidden="true">4.1.</strong> CLI</a></li></ol></li></ol>
<ol class="chapter"><li class="chapter-item expanded affix "><a href="quickstart.html">Quickstart</a></li><li class="chapter-item expanded affix "><a href="requirements.html">System Requirements</a></li><li class="chapter-item expanded affix "><a href="howtos.html" class="active">How to Guide</a></li><li class="chapter-item expanded affix "><a href="supportmatrix.html">Support Matrix</a></li><li class="chapter-item expanded affix "><a href="reference.html">Reference</a></li></ol>
</div>
<div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>
</nav>
@ -144,24 +144,112 @@
<div id="content" class="content">
<main>
<h1 id="installation"><a class="header" href="#installation">Installation</a></h1>
<h1 id="how-to-guide-nixos-anywhere"><a class="header" href="#how-to-guide-nixos-anywhere">How To Guide: nixos-anywhere</a></h1>
<p><strong><em>Install NixOS everywhere via ssh</em></strong></p>
<img title="" src="https://raw.githubusercontent.com/numtide/nixos-anywhere/main/docs/logo.png" alt="" width="129">
<p><a href="./INDEX.html">Documentation Index</a></p>
<h2 id="contents"><a class="header" href="#contents">Contents</a></h2>
<p><a href="#installing-on-a-machine-with-no-operating-system">Installing on a machine with no operating system</a></p>
<p><a href="#using-your-own-kexec-image">Using your own kexec image</a></p>
<p><a href="#using-nixos-anywhere-without-flakes">Using nixos-anywhere without flakes</a></p>
<h2 id="installing-on-a-machine-with-no-operating-system"><a class="header" href="#installing-on-a-machine-with-no-operating-system">Installing on a machine with no operating system</a></h2>
<p>If your machine doesn't currently have an operating system installed, you can
still run <code>nixos-anywhere</code> remotely to automate the install. To do this, you
would first need to boot the target machine from the standard NixOS installer.
You can either boot from a USB or use <code>netboot</code>.</p>
<p>The
<a href="https://nixos.org/manual/nixos/stable/index.html#sec-booting-from-usb">NixOS installation guide</a>
has detailed instructions on how to boot the installer.</p>
<p>When you run <code>nixos-anywhere</code>, it will determine whether a NixOS installer is
present by checking whether the <code>/etc/os-release</code> file contains the identifier
<code>VARIANT=installer</code>. This identifier is available on releases NixOS 23.05 or
later.</p>
<p>If an installer is detected, <code>nixos-anywhere</code>will not attempt to <code>kexec</code> into
its own image. This is particularly useful for targets that don't have enough
RAM for <code>kexec</code> or don't support <code>kexec</code>.</p>
<p>NixOS starts an SSH server on the installer by default, but you need to set a
password in order to access it. To set a password for the <code>nixos</code> user, run the
following command in a terminal on the NixOS machine:</p>
<pre><code>passwd
</code></pre>
<p>If you don't know the IP address of the installer on your network, you can find
it by running the following command:</p>
<pre><code>$ ip addr
1: lo: &lt;LOOPBACK,UP,LOWER_UP&gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ff
altname enp0s3
altname ens3
inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic noprefixroute eth0
valid_lft 86385sec preferred_lft 75585sec
inet6 fec0::5054:ff:fe12:3456/64 scope site dynamic mngtmpaddr noprefixroute
valid_lft 86385sec preferred_lft 14385sec
inet6 fe80::5054:ff:fe12:3456/64 scope link
valid_lft forever preferred_lft forever
</code></pre>
<p>This will display the IP addresses assigned to your network interface(s),
including the IP address of the installer. In the example output below, the
installer's IP addresses are <code>10.0.2.15</code>, <code>fec0::5054:ff:fe12:3456</code>, and
<code>fe80::5054:ff:fe12:3456%eth0</code>:</p>
<p>To test if you can connect and your password works, you can use the following
SSH command (replace the IP address with your own):</p>
<pre><code>ssh -v nixos@fec0::5054:ff:fe12:3456
</code></pre>
<p>You can then use the IP address to run <code>nixos-anywhere</code> like this:</p>
<pre><code>nix run github:numtide/nixos-anywhere -- --flake '.#myconfig' nixos@fec0::5054:ff:fe12:3456
</code></pre>
<p>This example assumes a flake in the curent directory containing a configuration
named <code>myconfig</code>.</p>
<h2 id="using-your-own-kexec-image"><a class="header" href="#using-your-own-kexec-image">Using your own kexec image</a></h2>
<p>By default, <code>nixos-anywhere</code> downloads the kexec image from the
<a href="https://github.com/nix-community/nixos-images#kexec-tarballs">NixOS images repository</a>.</p>
<p>However, you can provide your own <code>kexec</code> image file if you need to use a
different one. This is particularly useful for architectures other than
<code>x86_64</code>, since they don't have a pre-build image.</p>
<p>To do this, use the <code>--kexec</code> command line switch followed by the path to your
image file. The image will be uploaded prior to execution.</p>
<p>Here's an example command that demonstrates how to use a custom kexec image with
<code>nixos-anywhere</code> for aarch64 instead of the default <code>x86_64</code> architecture:</p>
<pre><code>nix run github:numtide/nixos-anywhere -- \
--kexec &quot;$(nix build --print-out-paths github:nix-community/nixos-images#packages.aarch64-linux.kexec-installer-noninteractive-nixos-unstable)/nixos-kexec-installer-noninteractive-aarch64-linux.tar.gz&quot; \
--flake 'github:your-user/your-repo#your-system' \
root@yourip
</code></pre>
<p>Make sure to replace <code>github:your-user/your-repo#your-system</code> with the
appropriate Flake URL representing your NixOS configuration.</p>
<p>The example above assumes that your local machine can build for aarch64 in one
of the following ways:</p>
<ul>
<li><a href="#">Bare Metal Platforms</a></li>
<li><a href="#">Virtualized Platforms</a></li>
<li><a href="#">Cloud Platforms</a></li>
<li><a href="#">Local Platforms</a></li>
<li><a href="#">Single Board Computers</a></li>
<li>
<p>Natively</p>
</li>
<li>
<p>Through a remote builder</p>
</li>
<li>
<p>By emulating the architecture with qemu using the following NixOS
configuration:</p>
</li>
</ul>
<pre><code class="language-nix">{
boot.binfmt.emulatedSystems = [ &quot;aarch64-linux&quot; ];
}
</code></pre>
</main>
<nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons -->
<a rel="prev" href="#.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<a rel="prev" href="requirements.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
<a rel="next" href="#.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<a rel="next" href="supportmatrix.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
@ -171,11 +259,11 @@
</div>
<nav class="nav-wide-wrapper" aria-label="Page navigation">
<a rel="prev" href="#.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<a rel="prev" href="requirements.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
<a rel="next" href="#.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<a rel="next" href="supportmatrix.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
</nav>

View File

@ -3,7 +3,7 @@
<head>
<!-- Book generated using mdBook -->
<meta charset="UTF-8">
<title>Introduction - nixos-anywhere - install NixOS everywhere</title>
<title>Quickstart - nixos-anywhere - install NixOS everywhere</title>
<!-- Custom HTML head -->
@ -83,7 +83,7 @@
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox">
<ol class="chapter"><li class="chapter-item expanded "><a href="introduction.html" class="active"><strong aria-hidden="true">1.</strong> Introduction</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.1.</strong> What is nixos-anywhere?</a></li><li class="chapter-item expanded "><a href="quickstart.html"><strong aria-hidden="true">1.2.</strong> Quickstart</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.3.</strong> Getting Started</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.4.</strong> System Requirements</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.5.</strong> Support Matrix</a></li></ol></li><li class="chapter-item expanded "><a href="installation.html"><strong aria-hidden="true">2.</strong> Installation</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.1.</strong> Bare Metal Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.2.</strong> Virtualized Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.3.</strong> Cloud Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.4.</strong> Local Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.5.</strong> Single Board Computers</a></li></ol></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">3.</strong> Avanced Guides</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">4.</strong> Reference</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="cli.html"><strong aria-hidden="true">4.1.</strong> CLI</a></li></ol></li></ol>
<ol class="chapter"><li class="chapter-item expanded affix "><a href="quickstart.html" class="active">Quickstart</a></li><li class="chapter-item expanded affix "><a href="requirements.html">System Requirements</a></li><li class="chapter-item expanded affix "><a href="howtos.html">How to Guide</a></li><li class="chapter-item expanded affix "><a href="supportmatrix.html">Support Matrix</a></li><li class="chapter-item expanded affix "><a href="reference.html">Reference</a></li></ol>
</div>
<div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>
</nav>
@ -144,21 +144,158 @@
<div id="content" class="content">
<main>
<h1 id="introduction"><a class="header" href="#introduction">Introduction</a></h1>
<h1 id="quickstart-guide-nixos-anywhere"><a class="header" href="#quickstart-guide-nixos-anywhere">Quickstart Guide: nixos-anywhere</a></h1>
<p><strong><em>Install NixOS everywhere via ssh</em></strong></p>
<img src="https://raw.githubusercontent.com/numtide/nixos-anywhere/main/docs/logo.png" width="150" height="150">
<p><a href="./INDEX.html">Documentation Index</a></p>
<h2 id="introduction"><a class="header" href="#introduction">Introduction</a></h2>
<p>This guide documents a simple installation of NixOS using <strong>nixos-anywhere</strong> on
a target machine running x86_64 Linux with
<a href="https://man7.org/linux/man-pages/man8/kexec.8.html">kexec</a> support. The example
used in this guide installs NixOS on a Hetzner cloud machine. The configuration
may be different for some other instances. We will be including further examples
in the <a href="./howtos.html">How To Guide</a> as and when they are available.</p>
<p>You will need:</p>
<ul>
<li><a href="#">What is nixos-anywhere?</a></li>
<li><a href="#">Quickstart</a></li>
<li><a href="#">Getting Started</a></li>
<li><a href="#">System Requirements</a></li>
<li><a href="#">Support Matrix</a></li>
<li>A <a href="https://nixos.wiki/wiki/Flakes">flake</a> that controls the actions to be
performed</li>
<li>A disk configuration containing details of the file system that will be
created on the new server.</li>
</ul>
<p><strong>nixos-anywhere</strong> doesnt need to be installed. You can run it directly from
<a href="https://github.com/numtide/nixos-anywhere">Numtide's repository on Github.</a></p>
<p>Details of the flake, the disk configuration and the CLI command are discussed
below.</p>
<h2 id="steps-required-to-run-nixos-anywhere"><a class="header" href="#steps-required-to-run-nixos-anywhere">Steps required to run nixos-anywhere</a></h2>
<ol>
<li>
<p>Create a directory for the flake and configuration files, and ensure flakes
are enabled on your system. The
<a href="https://nixos.wiki/wiki/Flakes#enable-flakes">Nixos Wiki</a> describes how to
enable flakes.</p>
</li>
<li>
<p>In this directory, run the following command to create a flake.</p>
</li>
</ol>
<pre><code>nix flake init
</code></pre>
<p>This will create a flake in a file named flake.nix. Edit the flake to suit your
requirements. For a minimal installation, you can paste in the contents of the
example flake from
<a href="https://github.com/numtide/nixos-anywhere-examples/blob/main/flake.nix">here</a>.</p>
<p>Lines 29 in the sample file reads:</p>
<pre><code># change this to your ssh key
&quot;CHANGE&quot;
</code></pre>
<p>Substitute  the text that reads <code>CHANGE</code> with your own SSH key. This is
important, otherwise you will not be able to log on to the target machine after
NixOS has been installed.</p>
<ol start="3">
<li>
<p>In the same directory, create a file named <code>disk-config.nix</code>. This will be
used to specify the disk layout to the <strong>disko</strong> tool, which nixos-anywhere
uses to partition, format and mount the disks. Again, for a simple
installation you can paste the contents from the example
<a href="https://github.com/numtide/nixos-anywhere-examples/blob/main/disk-config.nix">here</a>.
This configures a standard GPT (GUID Partition Table) partition compatible
with both EFI and BIOS systems, and mounts the disk as <code>/dev/sda</code>. If this
doesnt meet your requirements, choose an example that suits your disk layout
from the
<a href="https://github.com/nix-community/disko/tree/master/example">disko examples</a>.
For more information about this configuration, refer to the
<a href="https://github.com/nix-community/disko">disko documentation.</a></p>
</li>
<li>
<p>Run the following command to create the <code>flake.lock</code> file:</p>
</li>
</ol>
<pre><code>nix flake lock
</code></pre>
<p>Optionally, you can commit these files to a repo such as Github, or you can
simply reference your local directory when you run <strong>nixos-anywhere</strong>. This
example uses a local directory on the source machine.</p>
<ol start="5">
<li>
<p>On the target machine, make sure you have access as root via ssh by adding
your SSH key to the file <code>authorized_keys</code> in the directory <code>/root/.ssh</code></p>
</li>
<li>
<p>You can now run <strong>nixos-anywhere</strong> from the command line as shown below,
where:</p>
<ul>
<li>
<p><code>&lt;path to configuration&gt;</code> is the path to the directory or repository
containing <code>flake.nix</code> and <code>disk-config.nix</code></p>
</li>
<li>
<p><code>&lt;configuration name&gt;</code> must match the name that immediately follows the
text <code>nixosConfigurations.</code> in the flake, as indicated by the comment in
the
<a href="https://github.com/numtide/nixos-anywhere-examples/blob/main/flake.nix">example</a>).</p>
</li>
<li>
<p><code>&lt;ip address&gt;</code> is the IP address of the target machine.</p>
</li>
</ul>
</li>
</ol>
<pre><code>nix run github:numtide/nixos-anywhere -- --flake &lt;path to configuration&gt;#&lt;configuration name&gt; root@&lt;ip address&gt;
</code></pre>
<p>The command would look  like this if you had created your files in a directory
named <code>/home/mydir/test</code> and the IP address of your target machine is
<code>37.27.18.135</code>:</p>
<pre><code>nix run github:numtide/nixos-anywhere -- --flake /home/mydir/test#hetzner-cloud root@37.27.18.135
</code></pre>
<p><strong>nixos-anywhere</strong> will then run, showing various output messages at each stage.
It may take some time to complete, depending on Internet speeds. It should
finish by showing the messages below before returning to the command prompt.</p>
<pre><code>Installation finished. No error reported.
Warning: Permanently added '&lt;ip-address&gt;' (ED25519) to the list of known hosts
</code></pre>
<p>When this happens, the target server will have been overwritten with a new
installation of NixOS. Note that the server's public SSH key will have changed.</p>
<p>If you have previously accessed this server using SSH, you may see the following
message the next time you try to log in to the target.</p>
<pre><code> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ED25519 key sent by the remote host is
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
Please contact your system administrator.
Add correct host key in ~/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in ~/.ssh/known_hosts:6
remove with:
ssh-keygen -f ~/.ssh/known_hosts&quot; -R &quot;&lt;ip addrress&gt;&quot;
Host key for &lt;ip_address&gt; has changed and you have requested strict checking.
Host key verification failed.
</code></pre>
<p>This is because the <code>known_hosts</code> file in the <code>.ssh</code> directory now contains a
mismatch, since the server has been overwritten. To solve this, use a text
editor to remove the old entry from the <code>known_hosts</code> file. The next connection
attempt will then treat this as a new server.</p>
<p>The error message line <code>Offending ECDSA key in ~/.ssh/known_hosts:</code> gives the
line number that needs to be removed from the <code>known_hosts</code> file.</p>
<p><strong>Note:</strong> If you subsequently make any changes to either the <code>flake.nix</code> or
<code>disk-config.nix</code> file, you will need to run the following command in the
directory containing the flake to update <code>flake.lock</code> before rerunning
<strong>nixos-anywhere</strong>:</p>
<pre><code>nix flake update
</code></pre>
<p>For more information on different use cases of <strong>nixos-anywhere</strong> please refer
to the <a href="./howtos.html">How to Guide</a>, and for more technical information and
explanation of known error messages, refer to the
<a href="./reference.html">Reference Manual</a>.</p>
</main>
<nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons -->
<a rel="next" href="#.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<a rel="next" href="requirements.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
@ -169,7 +306,7 @@
<nav class="nav-wide-wrapper" aria-label="Page navigation">
<a rel="next" href="#.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<a rel="next" href="requirements.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
</nav>

View File

@ -84,7 +84,7 @@
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox">
<ol class="chapter"><li class="chapter-item expanded "><a href="introduction.html"><strong aria-hidden="true">1.</strong> Introduction</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.1.</strong> What is nixos-anywhere?</a></li><li class="chapter-item expanded "><a href="quickstart.html"><strong aria-hidden="true">1.2.</strong> Quickstart</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.3.</strong> Getting Started</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.4.</strong> System Requirements</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.5.</strong> Support Matrix</a></li></ol></li><li class="chapter-item expanded "><a href="installation.html"><strong aria-hidden="true">2.</strong> Installation</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.1.</strong> Bare Metal Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.2.</strong> Virtualized Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.3.</strong> Cloud Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.4.</strong> Local Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.5.</strong> Single Board Computers</a></li></ol></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">3.</strong> Avanced Guides</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">4.</strong> Reference</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="cli.html"><strong aria-hidden="true">4.1.</strong> CLI</a></li></ol></li></ol>
<ol class="chapter"><li class="chapter-item expanded affix "><a href="quickstart.html">Quickstart</a></li><li class="chapter-item expanded affix "><a href="requirements.html">System Requirements</a></li><li class="chapter-item expanded affix "><a href="howtos.html">How to Guide</a></li><li class="chapter-item expanded affix "><a href="supportmatrix.html">Support Matrix</a></li><li class="chapter-item expanded affix "><a href="reference.html">Reference</a></li></ol>
</div>
<div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>
</nav>
@ -145,19 +145,11 @@
<div id="content" class="content">
<main>
<h1 id="introduction"><a class="header" href="#introduction">Introduction</a></h1>
<ul>
<li><a href="introduction.html#">What is nixos-anywhere?</a></li>
<li><a href="introduction.html#">Quickstart</a></li>
<li><a href="introduction.html#">Getting Started</a></li>
<li><a href="introduction.html#">System Requirements</a></li>
<li><a href="introduction.html#">Support Matrix</a></li>
</ul>
<div style="break-before: page; page-break-before: always;"></div><h1 id="reference"><a class="header" href="#reference">Reference</a></h1>
<div style="break-before: page; page-break-before: always;"></div><h1 id="quickstart-guide-nixos-anywhere"><a class="header" href="#quickstart-guide-nixos-anywhere">Quickstart Guide: nixos-anywhere</a></h1>
<h1 id="quickstart-guide-nixos-anywhere"><a class="header" href="#quickstart-guide-nixos-anywhere">Quickstart Guide: nixos-anywhere</a></h1>
<p><strong><em>Install NixOS everywhere via ssh</em></strong></p>
<img src="https://raw.githubusercontent.com/numtide/nixos-anywhere/main/docs/logo.png" width="150" height="150">
<h2 id="inroduction"><a class="header" href="#inroduction">Inroduction</a></h2>
<p><a href="./INDEX.html">Documentation Index</a></p>
<h2 id="introduction"><a class="header" href="#introduction">Introduction</a></h2>
<p>This guide documents a simple installation of NixOS using <strong>nixos-anywhere</strong> on
a target machine running x86_64 Linux with
<a href="https://man7.org/linux/man-pages/man8/kexec.8.html">kexec</a> support. The example
@ -209,8 +201,8 @@ installation you can paste the contents from the example
<a href="https://github.com/numtide/nixos-anywhere-examples/blob/main/disk-config.nix">here</a>.
This configures a standard GPT (GUID Partition Table) partition compatible
with both EFI and BIOS systems, and mounts the disk as <code>/dev/sda</code>. If this
doesnt meet your requirements, choose an example that suits your disk
layout from the
doesnt meet your requirements, choose an example that suits your disk layout
from the
<a href="https://github.com/nix-community/disko/tree/master/example">disko examples</a>.
For more information about this configuration, refer to the
<a href="https://github.com/nix-community/disko">disko documentation.</a></p>
@ -298,41 +290,225 @@ directory containing the flake to update <code>flake.lock</code> before rerunnin
to the <a href="./howtos.html">How to Guide</a>, and for more technical information and
explanation of known error messages, refer to the
<a href="./reference.html">Reference Manual</a>.</p>
<div style="break-before: page; page-break-before: always;"></div><h1 id="reference-1"><a class="header" href="#reference-1">Reference</a></h1>
<div style="break-before: page; page-break-before: always;"></div><h1 id="reference-2"><a class="header" href="#reference-2">Reference</a></h1>
<div style="break-before: page; page-break-before: always;"></div><h1 id="reference-3"><a class="header" href="#reference-3">Reference</a></h1>
<div style="break-before: page; page-break-before: always;"></div><h1 id="installation"><a class="header" href="#installation">Installation</a></h1>
<div style="break-before: page; page-break-before: always;"></div><h1 id="system-requirements-nixos-anywhere"><a class="header" href="#system-requirements-nixos-anywhere">System Requirements: nixos-anywhere</a></h1>
<p><strong><em>Install NixOS everywhere via ssh</em></strong></p>
<img src="https://raw.githubusercontent.com/numtide/nixos-anywhere/main/docs/logo.png" width="150" height="150">
<p><a href="./INDEX.html">Documentation Index</a></p>
<h2 id="requirements"><a class="header" href="#requirements">Requirements</a></h2>
<ul>
<li><a href="installation.html#">Bare Metal Platforms</a></li>
<li><a href="installation.html#">Virtualized Platforms</a></li>
<li><a href="installation.html#">Cloud Platforms</a></li>
<li><a href="installation.html#">Local Platforms</a></li>
<li><a href="installation.html#">Single Board Computers</a></li>
<li>Source Machine:
<ul>
<li>Can be any Linux or Mac computer with Nix installed, or a NixOS machine.</li>
</ul>
<div style="break-before: page; page-break-before: always;"></div><h1 id="reference-4"><a class="header" href="#reference-4">Reference</a></h1>
<div style="break-before: page; page-break-before: always;"></div><h1 id="reference-5"><a class="header" href="#reference-5">Reference</a></h1>
<div style="break-before: page; page-break-before: always;"></div><h1 id="reference-6"><a class="header" href="#reference-6">Reference</a></h1>
<div style="break-before: page; page-break-before: always;"></div><h1 id="reference-7"><a class="header" href="#reference-7">Reference</a></h1>
<div style="break-before: page; page-break-before: always;"></div><h1 id="reference-8"><a class="header" href="#reference-8">Reference</a></h1>
<div style="break-before: page; page-break-before: always;"></div><h1 id="reference-9"><a class="header" href="#reference-9">Reference</a></h1>
<div style="break-before: page; page-break-before: always;"></div><h1 id="reference-10"><a class="header" href="#reference-10">Reference</a></h1>
<div style="break-before: page; page-break-before: always;"></div><h1 id="cli"><a class="header" href="#cli">CLI</a></h1>
</li>
<li>Destination Machine:
<ul>
<li>Must be an x86-64 machine unless you are able to supply a <code>kexec</code> image for
your CPU type.</li>
<li>If you're not using the option to boot from a Nixos installer image, it
must:
<ul>
<li>Be running x86-64 Linux with kexec support . Most x86_64 Linux systems do
have kexec support.</li>
<li>Have at least 2.5 GB of RAM, excluding swap.</li>
</ul>
</li>
</ul>
</li>
</ul>
<div style="break-before: page; page-break-before: always;"></div><h1 id="how-to-guide-nixos-anywhere"><a class="header" href="#how-to-guide-nixos-anywhere">How To Guide: nixos-anywhere</a></h1>
<p><strong><em>Install NixOS everywhere via ssh</em></strong></p>
<img title="" src="https://raw.githubusercontent.com/numtide/nixos-anywhere/main/docs/logo.png" alt="" width="129">
<p><a href="./INDEX.html">Documentation Index</a></p>
<h2 id="contents"><a class="header" href="#contents">Contents</a></h2>
<p><a href="howtos.html#installing-on-a-machine-with-no-operating-system">Installing on a machine with no operating system</a></p>
<p><a href="howtos.html#using-your-own-kexec-image">Using your own kexec image</a></p>
<p><a href="howtos.html#using-nixos-anywhere-without-flakes">Using nixos-anywhere without flakes</a></p>
<h2 id="installing-on-a-machine-with-no-operating-system"><a class="header" href="#installing-on-a-machine-with-no-operating-system">Installing on a machine with no operating system</a></h2>
<p>If your machine doesn't currently have an operating system installed, you can
still run <code>nixos-anywhere</code> remotely to automate the install. To do this, you
would first need to boot the target machine from the standard NixOS installer.
You can either boot from a USB or use <code>netboot</code>.</p>
<p>The
<a href="https://nixos.org/manual/nixos/stable/index.html#sec-booting-from-usb">NixOS installation guide</a>
has detailed instructions on how to boot the installer.</p>
<p>When you run <code>nixos-anywhere</code>, it will determine whether a NixOS installer is
present by checking whether the <code>/etc/os-release</code> file contains the identifier
<code>VARIANT=installer</code>. This identifier is available on releases NixOS 23.05 or
later.</p>
<p>If an installer is detected, <code>nixos-anywhere</code>will not attempt to <code>kexec</code> into
its own image. This is particularly useful for targets that don't have enough
RAM for <code>kexec</code> or don't support <code>kexec</code>.</p>
<p>NixOS starts an SSH server on the installer by default, but you need to set a
password in order to access it. To set a password for the <code>nixos</code> user, run the
following command in a terminal on the NixOS machine:</p>
<pre><code>passwd
</code></pre>
<p>If you don't know the IP address of the installer on your network, you can find
it by running the following command:</p>
<pre><code>$ ip addr
1: lo: &lt;LOOPBACK,UP,LOWER_UP&gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ff
altname enp0s3
altname ens3
inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic noprefixroute eth0
valid_lft 86385sec preferred_lft 75585sec
inet6 fec0::5054:ff:fe12:3456/64 scope site dynamic mngtmpaddr noprefixroute
valid_lft 86385sec preferred_lft 14385sec
inet6 fe80::5054:ff:fe12:3456/64 scope link
valid_lft forever preferred_lft forever
</code></pre>
<p>This will display the IP addresses assigned to your network interface(s),
including the IP address of the installer. In the example output below, the
installer's IP addresses are <code>10.0.2.15</code>, <code>fec0::5054:ff:fe12:3456</code>, and
<code>fe80::5054:ff:fe12:3456%eth0</code>:</p>
<p>To test if you can connect and your password works, you can use the following
SSH command (replace the IP address with your own):</p>
<pre><code>ssh -v nixos@fec0::5054:ff:fe12:3456
</code></pre>
<p>You can then use the IP address to run <code>nixos-anywhere</code> like this:</p>
<pre><code>nix run github:numtide/nixos-anywhere -- --flake '.#myconfig' nixos@fec0::5054:ff:fe12:3456
</code></pre>
<p>This example assumes a flake in the curent directory containing a configuration
named <code>myconfig</code>.</p>
<h2 id="using-your-own-kexec-image"><a class="header" href="#using-your-own-kexec-image">Using your own kexec image</a></h2>
<p>By default, <code>nixos-anywhere</code> downloads the kexec image from the
<a href="https://github.com/nix-community/nixos-images#kexec-tarballs">NixOS images repository</a>.</p>
<p>However, you can provide your own <code>kexec</code> image file if you need to use a
different one. This is particularly useful for architectures other than
<code>x86_64</code>, since they don't have a pre-build image.</p>
<p>To do this, use the <code>--kexec</code> command line switch followed by the path to your
image file. The image will be uploaded prior to execution.</p>
<p>Here's an example command that demonstrates how to use a custom kexec image with
<code>nixos-anywhere</code> for aarch64 instead of the default <code>x86_64</code> architecture:</p>
<pre><code>nix run github:numtide/nixos-anywhere -- \
--kexec &quot;$(nix build --print-out-paths github:nix-community/nixos-images#packages.aarch64-linux.kexec-installer-noninteractive-nixos-unstable)/nixos-kexec-installer-noninteractive-aarch64-linux.tar.gz&quot; \
--flake 'github:your-user/your-repo#your-system' \
root@yourip
</code></pre>
<p>Make sure to replace <code>github:your-user/your-repo#your-system</code> with the
appropriate Flake URL representing your NixOS configuration.</p>
<p>The example above assumes that your local machine can build for aarch64 in one
of the following ways:</p>
<ul>
<li>
<p>Natively</p>
</li>
<li>
<p>Through a remote builder</p>
</li>
<li>
<p>By emulating the architecture with qemu using the following NixOS
configuration:</p>
</li>
</ul>
<pre><code class="language-nix">{
boot.binfmt.emulatedSystems = [ &quot;aarch64-linux&quot; ];
}
</code></pre>
<div style="break-before: page; page-break-before: always;"></div><h1 id="support-matrix-nixos-anywhere"><a class="header" href="#support-matrix-nixos-anywhere">Support Matrix: nixos-anywhere</a></h1>
<p><strong><em>Install NixOS everywhere via ssh</em></strong></p>
<img src="https://raw.githubusercontent.com/numtide/nixos-anywhere/main/docs/logo.png" width="150" height="150">
<p><a href="./INDEX.html">Documentation Index</a></p>
<h2 id="list-of-tested-environments"><a class="header" href="#list-of-tested-environments">List of tested environments</a></h2>
<p>We have verified that <strong>nixos-anywhere</strong> runs successfully on the environments
listed below.</p>
<p><strong>kexec boot:</strong>    Indicates whether it can work by using a kexec boot</p>
<p><strong>Image boot:</strong> Indicates whether it can work if booted from a NixOS installer</p>
<p><strong>Own kexec:</strong>     Indicates whether it can work if you supply your own kexec</p>
<div class="table-wrapper"><table><thead><tr><th><strong>Platform</strong></th><th><strong>Operating System</strong></th><th>kexec boot</th><th>Image boot</th><th>Own kexec</th></tr></thead><tbody>
<tr><td>Hetzner Cloud</td><td>X86-64 Linux</td><td>Yes</td><td>Yes</td><td>Yes</td></tr>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
</tbody></table>
</div>
<h2 id=""><a class="header" href="#"></a></h2>
<div style="break-before: page; page-break-before: always;"></div><h1 id="reference-manual-nixos-anywhere"><a class="header" href="#reference-manual-nixos-anywhere">Reference Manual: nixos-anywhere</a></h1>
<p><strong><em>Install NixOS everywhere via ssh</em></strong></p>
<img title="" src="https://raw.githubusercontent.com/numtide/nixos-anywhere/main/docs/logo.png" alt="" width="141">
<p><a href="./INDEX.html">Documentation Index</a></p>
<p>TODO: Populate this guide properly</p>
<h2 id="contents-1"><a class="header" href="#contents-1">Contents</a></h2>
<p><a href="reference.html#command-line-usage">Command Line Usage</a></p>
<p><a href="reference.html#explanation-of-known-error-messages">Explanation of known error messages</a></p>
<h2 id="command-line-usage"><a class="header" href="#command-line-usage">Command Line Usage</a></h2>
<!-- `$ bash ./src/nixos-anywhere.sh --help` -->
<pre><code>Usage: nixos-anywhere [options] ssh-host
Options:
* -f, --flake flake
set the flake to install the system from
* -f, --flake &lt;flake_uri&gt;
set the flake to install the system from.
* -i &lt;identity_file&gt;
selects which SSH private key file to use.
* -L, --print-build-logs
print full build logs
* -s, --store-paths
set the store paths to the disko-script and nixos-system directly
if this is give, flake is not needed
* --no-reboot
do not reboot after installation, allowing further customization of the target installation.
* --kexec url
use another kexec tarball to bootstrap NixOS
* --stop-after-disko
exit after disko formating, you can then proceed to install manually or some other way
* --extra-files files
files to copy into the new nixos installation
* --disk-encryption-keys remote_path local_path
copy the contents of the file or pipe in local_path to remote_path in the installer environment,
after kexec but before installation. Can be repeated.
* --no-substitute-on-destination
disable passing --substitute-on-destination to nix-copy
* --debug
enable debug output
* --option KEY VALUE
nix option to pass to every nix related command
* --from store-uri
URL of the source Nix store to copy the nixos and disko closure from
* --build-on-remote
build the closure on the remote machine instead of locally and copy-closuring it
</code></pre>
<h2 id="explanation-of-known-error-messages"><a class="header" href="#explanation-of-known-error-messages">Explanation of known error messages</a></h2>
<p>TODO: Add additional error messages and meanings. Fill in missing explanations</p>
<p>This section lists known error messages and their explanations. Some
explanations may refer to the following CLI syntax:</p>
<p><code>nix run github:numtide/nixos-anywhere -- --flake &lt;path to configuration&gt;#&lt;configuration name&gt; root@&lt;ip address&gt;</code></p>
<p>This list is not comprehensive. It's possible you may encounter errors that
originate from the underlying operating system. These should be documented in
the relevant operating system manual.</p>
<div class="table-wrapper"><table><thead><tr><th>Id</th><th>Message</th><th>Explanation</th></tr></thead><tbody>
<tr><td>1</td><td>Failure unpacking initrd</td><td>You don't have enough RAM to hold <code>kexec</code></td></tr>
<tr><td>2</td><td>Flake &lt;flake_url&gt; does not provide attirbute</td><td>The configuration name you specified in your flake URI is not defined as a NixOS configuration in your flake eg if your URI was mydir#myconfig, then myconfig should be included in the flake as <code>nixosConfigurations.myconfig</code></td></tr>
<tr><td>3</td><td>Please specify the name of the NixOS configuration to be installed, as a URI fragment in the flake-uri.</td><td>As for error #2</td></tr>
<tr><td></td><td>For example, to use the output nixosConfigurations.foo from the flake.nix, append &quot;#foo&quot; to the flake-uri</td><td></td></tr>
<tr><td>4</td><td>Retrieving host facts via ssh failed. Check with --debug for the root cause, unless you have done so already</td><td>TODO: Explain</td></tr>
<tr><td>5</td><td>ssh-host must be set</td><td>&lt;ip_address&gt; has not been supplied</td></tr>
<tr><td>6</td><td>&lt;disko_script&gt; and &lt;nixos_system&gt; must be existing store-paths</td><td>This occurs if the -s switch has been used to specify the disko script and store path correctly, and the scripts cannot be found at the given URI</td></tr>
<tr><td>7</td><td>flake must be set</td><td>This occurs if both the -flake option (use a flake) and the -s option (specify paths directly) have been omitted. Either one or the other must be specified.</td></tr>
<tr><td>8</td><td>no tar command found, but required to unpack kexec tarball</td><td>The destination machine does not have a <code>tar</code> command available. This is needed to unpack the <code>kexec</code>.</td></tr>
<tr><td>9</td><td>no setsid command found, but required to run the kexec script under a new session</td><td>The destination machine does not have the <code>setsid</code> command available</td></tr>
<tr><td>10</td><td>This script requires Linux as the operating system, but got <operating system></td><td>The destination machine is not running Linux</td></tr>
<tr><td>11</td><td>The default kexec image only support x86_64 cpus. Checkout https://github.com/numtide/nixos-anywhere/#using-your-own-kexec-image for more information.</td><td>By default, <code>nixos-anywhere</code> uses its own <code>kexec</code> image, which will only run on x86_64 CPUs. For other CPU types, you can use your own <code>kexec</code> image instead. Refer to the <a href="./howtos#using-your-own-kexec-image">How To Guide</a> for instructions.</td></tr>
<tr><td>12</td><td>Please specify the name of the NixOS configuration to be installed, as a URI fragment in the flake-uri.</td><td>This is a <code>disko</code> error. As for Error #2</td></tr>
<tr><td></td><td>For example, to use the output diskoConfigurations.foo from the flake.nix, append &quot;#foo&quot; to the flake-uri.</td><td></td></tr>
<tr><td>13</td><td>mode must be either create, mount or zap_create_mount</td><td>This is a <code>disko</code> error. The <code>disko</code> switches have not been used correctly. This could happen if you supplied your own <code>disko</code> script using the -s option</td></tr>
<tr><td>14</td><td>disko config must be an existing file or flake must be set</td><td>This is a <code>disko</code> error. This will happen if the <code>disko.devices</code> entry in your flake doesn't match the name of a file in the same location as your flake.</td></tr>
<tr><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td></tr>
</tbody></table>
</div>
</main>
<nav class="nav-wrapper" aria-label="Page navigation">

View File

@ -83,7 +83,7 @@
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox">
<ol class="chapter"><li class="chapter-item expanded "><a href="introduction.html"><strong aria-hidden="true">1.</strong> Introduction</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.1.</strong> What is nixos-anywhere?</a></li><li class="chapter-item expanded "><a href="quickstart.html" class="active"><strong aria-hidden="true">1.2.</strong> Quickstart</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.3.</strong> Getting Started</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.4.</strong> System Requirements</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.5.</strong> Support Matrix</a></li></ol></li><li class="chapter-item expanded "><a href="installation.html"><strong aria-hidden="true">2.</strong> Installation</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.1.</strong> Bare Metal Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.2.</strong> Virtualized Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.3.</strong> Cloud Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.4.</strong> Local Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.5.</strong> Single Board Computers</a></li></ol></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">3.</strong> Avanced Guides</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">4.</strong> Reference</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="cli.html"><strong aria-hidden="true">4.1.</strong> CLI</a></li></ol></li></ol>
<ol class="chapter"><li class="chapter-item expanded affix "><a href="quickstart.html" class="active">Quickstart</a></li><li class="chapter-item expanded affix "><a href="requirements.html">System Requirements</a></li><li class="chapter-item expanded affix "><a href="howtos.html">How to Guide</a></li><li class="chapter-item expanded affix "><a href="supportmatrix.html">Support Matrix</a></li><li class="chapter-item expanded affix "><a href="reference.html">Reference</a></li></ol>
</div>
<div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>
</nav>
@ -147,7 +147,8 @@
<h1 id="quickstart-guide-nixos-anywhere"><a class="header" href="#quickstart-guide-nixos-anywhere">Quickstart Guide: nixos-anywhere</a></h1>
<p><strong><em>Install NixOS everywhere via ssh</em></strong></p>
<img src="https://raw.githubusercontent.com/numtide/nixos-anywhere/main/docs/logo.png" width="150" height="150">
<h2 id="inroduction"><a class="header" href="#inroduction">Inroduction</a></h2>
<p><a href="./INDEX.html">Documentation Index</a></p>
<h2 id="introduction"><a class="header" href="#introduction">Introduction</a></h2>
<p>This guide documents a simple installation of NixOS using <strong>nixos-anywhere</strong> on
a target machine running x86_64 Linux with
<a href="https://man7.org/linux/man-pages/man8/kexec.8.html">kexec</a> support. The example
@ -199,8 +200,8 @@ installation you can paste the contents from the example
<a href="https://github.com/numtide/nixos-anywhere-examples/blob/main/disk-config.nix">here</a>.
This configures a standard GPT (GUID Partition Table) partition compatible
with both EFI and BIOS systems, and mounts the disk as <code>/dev/sda</code>. If this
doesnt meet your requirements, choose an example that suits your disk
layout from the
doesnt meet your requirements, choose an example that suits your disk layout
from the
<a href="https://github.com/nix-community/disko/tree/master/example">disko examples</a>.
For more information about this configuration, refer to the
<a href="https://github.com/nix-community/disko">disko documentation.</a></p>
@ -293,11 +294,8 @@ explanation of known error messages, refer to the
<nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons -->
<a rel="prev" href="#.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
<a rel="next" href="#.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<a rel="next" href="requirements.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
@ -307,11 +305,8 @@ explanation of known error messages, refer to the
</div>
<nav class="nav-wide-wrapper" aria-label="Page navigation">
<a rel="prev" href="#.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
<a rel="next" href="#.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<a rel="next" href="requirements.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
</nav>

View File

@ -3,7 +3,7 @@
<head>
<!-- Book generated using mdBook -->
<meta charset="UTF-8">
<title>CLI - nixos-anywhere - install NixOS everywhere</title>
<title>Reference - nixos-anywhere - install NixOS everywhere</title>
<!-- Custom HTML head -->
@ -83,7 +83,7 @@
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox">
<ol class="chapter"><li class="chapter-item expanded "><a href="introduction.html"><strong aria-hidden="true">1.</strong> Introduction</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.1.</strong> What is nixos-anywhere?</a></li><li class="chapter-item expanded "><a href="quickstart.html"><strong aria-hidden="true">1.2.</strong> Quickstart</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.3.</strong> Getting Started</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.4.</strong> System Requirements</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.5.</strong> Support Matrix</a></li></ol></li><li class="chapter-item expanded "><a href="installation.html"><strong aria-hidden="true">2.</strong> Installation</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.1.</strong> Bare Metal Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.2.</strong> Virtualized Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.3.</strong> Cloud Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.4.</strong> Local Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.5.</strong> Single Board Computers</a></li></ol></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">3.</strong> Avanced Guides</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">4.</strong> Reference</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="cli.html" class="active"><strong aria-hidden="true">4.1.</strong> CLI</a></li></ol></li></ol>
<ol class="chapter"><li class="chapter-item expanded affix "><a href="quickstart.html">Quickstart</a></li><li class="chapter-item expanded affix "><a href="requirements.html">System Requirements</a></li><li class="chapter-item expanded affix "><a href="howtos.html">How to Guide</a></li><li class="chapter-item expanded affix "><a href="supportmatrix.html">Support Matrix</a></li><li class="chapter-item expanded affix "><a href="reference.html" class="active">Reference</a></li></ol>
</div>
<div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>
</nav>
@ -144,28 +144,87 @@
<div id="content" class="content">
<main>
<h1 id="cli"><a class="header" href="#cli">CLI</a></h1>
<h1 id="reference-manual-nixos-anywhere"><a class="header" href="#reference-manual-nixos-anywhere">Reference Manual: nixos-anywhere</a></h1>
<p><strong><em>Install NixOS everywhere via ssh</em></strong></p>
<img title="" src="https://raw.githubusercontent.com/numtide/nixos-anywhere/main/docs/logo.png" alt="" width="141">
<p><a href="./INDEX.html">Documentation Index</a></p>
<p>TODO: Populate this guide properly</p>
<h2 id="contents"><a class="header" href="#contents">Contents</a></h2>
<p><a href="#command-line-usage">Command Line Usage</a></p>
<p><a href="#explanation-of-known-error-messages">Explanation of known error messages</a></p>
<h2 id="command-line-usage"><a class="header" href="#command-line-usage">Command Line Usage</a></h2>
<!-- `$ bash ./src/nixos-anywhere.sh --help` -->
<pre><code>Usage: nixos-anywhere [options] ssh-host
Options:
* -f, --flake flake
set the flake to install the system from
* -f, --flake &lt;flake_uri&gt;
set the flake to install the system from.
* -i &lt;identity_file&gt;
selects which SSH private key file to use.
* -L, --print-build-logs
print full build logs
* -s, --store-paths
set the store paths to the disko-script and nixos-system directly
if this is give, flake is not needed
* --no-reboot
do not reboot after installation, allowing further customization of the target installation.
* --kexec url
use another kexec tarball to bootstrap NixOS
* --stop-after-disko
exit after disko formating, you can then proceed to install manually or some other way
* --extra-files files
files to copy into the new nixos installation
* --disk-encryption-keys remote_path local_path
copy the contents of the file or pipe in local_path to remote_path in the installer environment,
after kexec but before installation. Can be repeated.
* --no-substitute-on-destination
disable passing --substitute-on-destination to nix-copy
* --debug
enable debug output
* --option KEY VALUE
nix option to pass to every nix related command
* --from store-uri
URL of the source Nix store to copy the nixos and disko closure from
* --build-on-remote
build the closure on the remote machine instead of locally and copy-closuring it
</code></pre>
<h2 id="explanation-of-known-error-messages"><a class="header" href="#explanation-of-known-error-messages">Explanation of known error messages</a></h2>
<p>TODO: Add additional error messages and meanings. Fill in missing explanations</p>
<p>This section lists known error messages and their explanations. Some
explanations may refer to the following CLI syntax:</p>
<p><code>nix run github:numtide/nixos-anywhere -- --flake &lt;path to configuration&gt;#&lt;configuration name&gt; root@&lt;ip address&gt;</code></p>
<p>This list is not comprehensive. It's possible you may encounter errors that
originate from the underlying operating system. These should be documented in
the relevant operating system manual.</p>
<div class="table-wrapper"><table><thead><tr><th>Id</th><th>Message</th><th>Explanation</th></tr></thead><tbody>
<tr><td>1</td><td>Failure unpacking initrd</td><td>You don't have enough RAM to hold <code>kexec</code></td></tr>
<tr><td>2</td><td>Flake &lt;flake_url&gt; does not provide attirbute</td><td>The configuration name you specified in your flake URI is not defined as a NixOS configuration in your flake eg if your URI was mydir#myconfig, then myconfig should be included in the flake as <code>nixosConfigurations.myconfig</code></td></tr>
<tr><td>3</td><td>Please specify the name of the NixOS configuration to be installed, as a URI fragment in the flake-uri.</td><td>As for error #2</td></tr>
<tr><td></td><td>For example, to use the output nixosConfigurations.foo from the flake.nix, append &quot;#foo&quot; to the flake-uri</td><td></td></tr>
<tr><td>4</td><td>Retrieving host facts via ssh failed. Check with --debug for the root cause, unless you have done so already</td><td>TODO: Explain</td></tr>
<tr><td>5</td><td>ssh-host must be set</td><td>&lt;ip_address&gt; has not been supplied</td></tr>
<tr><td>6</td><td>&lt;disko_script&gt; and &lt;nixos_system&gt; must be existing store-paths</td><td>This occurs if the -s switch has been used to specify the disko script and store path correctly, and the scripts cannot be found at the given URI</td></tr>
<tr><td>7</td><td>flake must be set</td><td>This occurs if both the -flake option (use a flake) and the -s option (specify paths directly) have been omitted. Either one or the other must be specified.</td></tr>
<tr><td>8</td><td>no tar command found, but required to unpack kexec tarball</td><td>The destination machine does not have a <code>tar</code> command available. This is needed to unpack the <code>kexec</code>.</td></tr>
<tr><td>9</td><td>no setsid command found, but required to run the kexec script under a new session</td><td>The destination machine does not have the <code>setsid</code> command available</td></tr>
<tr><td>10</td><td>This script requires Linux as the operating system, but got <operating system></td><td>The destination machine is not running Linux</td></tr>
<tr><td>11</td><td>The default kexec image only support x86_64 cpus. Checkout https://github.com/numtide/nixos-anywhere/#using-your-own-kexec-image for more information.</td><td>By default, <code>nixos-anywhere</code> uses its own <code>kexec</code> image, which will only run on x86_64 CPUs. For other CPU types, you can use your own <code>kexec</code> image instead. Refer to the <a href="./howtos#using-your-own-kexec-image">How To Guide</a> for instructions.</td></tr>
<tr><td>12</td><td>Please specify the name of the NixOS configuration to be installed, as a URI fragment in the flake-uri.</td><td>This is a <code>disko</code> error. As for Error #2</td></tr>
<tr><td></td><td>For example, to use the output diskoConfigurations.foo from the flake.nix, append &quot;#foo&quot; to the flake-uri.</td><td></td></tr>
<tr><td>13</td><td>mode must be either create, mount or zap_create_mount</td><td>This is a <code>disko</code> error. The <code>disko</code> switches have not been used correctly. This could happen if you supplied your own <code>disko</code> script using the -s option</td></tr>
<tr><td>14</td><td>disko config must be an existing file or flake must be set</td><td>This is a <code>disko</code> error. This will happen if the <code>disko.devices</code> entry in your flake doesn't match the name of a file in the same location as your flake.</td></tr>
<tr><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td></tr>
</tbody></table>
</div>
</main>
<nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons -->
<a rel="prev" href="#.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<a rel="prev" href="supportmatrix.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
@ -176,7 +235,7 @@ Options:
</div>
<nav class="nav-wide-wrapper" aria-label="Page navigation">
<a rel="prev" href="#.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<a rel="prev" href="supportmatrix.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>

View File

@ -3,7 +3,7 @@
<head>
<!-- Book generated using mdBook -->
<meta charset="UTF-8">
<title>Introduction - nixos-anywhere - install NixOS everywhere</title>
<title>System Requirements - nixos-anywhere - install NixOS everywhere</title>
<!-- Custom HTML head -->
@ -83,7 +83,7 @@
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox">
<ol class="chapter"><li class="chapter-item expanded "><a href="introduction.html" class="active"><strong aria-hidden="true">1.</strong> Introduction</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.1.</strong> What is nixos-anywhere?</a></li><li class="chapter-item expanded "><a href="quickstart.html"><strong aria-hidden="true">1.2.</strong> Quickstart</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.3.</strong> Getting Started</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.4.</strong> System Requirements</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">1.5.</strong> Support Matrix</a></li></ol></li><li class="chapter-item expanded "><a href="installation.html"><strong aria-hidden="true">2.</strong> Installation</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.1.</strong> Bare Metal Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.2.</strong> Virtualized Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.3.</strong> Cloud Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.4.</strong> Local Platforms</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">2.5.</strong> Single Board Computers</a></li></ol></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">3.</strong> Avanced Guides</a></li><li class="chapter-item expanded "><a href="#.html"><strong aria-hidden="true">4.</strong> Reference</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="cli.html"><strong aria-hidden="true">4.1.</strong> CLI</a></li></ol></li></ol>
<ol class="chapter"><li class="chapter-item expanded affix "><a href="quickstart.html">Quickstart</a></li><li class="chapter-item expanded affix "><a href="requirements.html" class="active">System Requirements</a></li><li class="chapter-item expanded affix "><a href="howtos.html">How to Guide</a></li><li class="chapter-item expanded affix "><a href="supportmatrix.html">Support Matrix</a></li><li class="chapter-item expanded affix "><a href="reference.html">Reference</a></li></ol>
</div>
<div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>
</nav>
@ -144,21 +144,42 @@
<div id="content" class="content">
<main>
<h1 id="introduction"><a class="header" href="#introduction">Introduction</a></h1>
<h1 id="system-requirements-nixos-anywhere"><a class="header" href="#system-requirements-nixos-anywhere">System Requirements: nixos-anywhere</a></h1>
<p><strong><em>Install NixOS everywhere via ssh</em></strong></p>
<img src="https://raw.githubusercontent.com/numtide/nixos-anywhere/main/docs/logo.png" width="150" height="150">
<p><a href="./INDEX.html">Documentation Index</a></p>
<h2 id="requirements"><a class="header" href="#requirements">Requirements</a></h2>
<ul>
<li><a href="#">What is nixos-anywhere?</a></li>
<li><a href="#">Quickstart</a></li>
<li><a href="#">Getting Started</a></li>
<li><a href="#">System Requirements</a></li>
<li><a href="#">Support Matrix</a></li>
<li>Source Machine:
<ul>
<li>Can be any Linux or Mac computer with Nix installed, or a NixOS machine.</li>
</ul>
</li>
<li>Destination Machine:
<ul>
<li>Must be an x86-64 machine unless you are able to supply a <code>kexec</code> image for
your CPU type.</li>
<li>If you're not using the option to boot from a Nixos installer image, it
must:
<ul>
<li>Be running x86-64 Linux with kexec support . Most x86_64 Linux systems do
have kexec support.</li>
<li>Have at least 2.5 GB of RAM, excluding swap.</li>
</ul>
</li>
</ul>
</li>
</ul>
</main>
<nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons -->
<a rel="prev" href="quickstart.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
<a rel="next" href="#.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<a rel="next" href="howtos.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
@ -168,8 +189,11 @@
</div>
<nav class="nav-wide-wrapper" aria-label="Page navigation">
<a rel="prev" href="quickstart.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
<a rel="next" href="#.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<a rel="next" href="howtos.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
</nav>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -3,7 +3,7 @@
<head>
<!-- Book generated using mdBook -->
<meta charset="UTF-8">
<title>Reference - nixos-anywhere - install NixOS everywhere</title>
<title>Support Matrix - nixos-anywhere - install NixOS everywhere</title>
<!-- Custom HTML head -->
@ -83,7 +83,7 @@
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox">
<ol class="chapter"><li class="chapter-item expanded "><a href="introduction.html"><strong aria-hidden="true">1.</strong> Introduction</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="#.html" class="active"><strong aria-hidden="true">1.1.</strong> What is nixos-anywhere?</a></li><li class="chapter-item expanded "><a href="quickstart.html"><strong aria-hidden="true">1.2.</strong> Quickstart</a></li><li class="chapter-item expanded "><a href="#.html" class="active"><strong aria-hidden="true">1.3.</strong> Getting Started</a></li><li class="chapter-item expanded "><a href="#.html" class="active"><strong aria-hidden="true">1.4.</strong> System Requirements</a></li><li class="chapter-item expanded "><a href="#.html" class="active"><strong aria-hidden="true">1.5.</strong> Support Matrix</a></li></ol></li><li class="chapter-item expanded "><a href="installation.html"><strong aria-hidden="true">2.</strong> Installation</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="#.html" class="active"><strong aria-hidden="true">2.1.</strong> Bare Metal Platforms</a></li><li class="chapter-item expanded "><a href="#.html" class="active"><strong aria-hidden="true">2.2.</strong> Virtualized Platforms</a></li><li class="chapter-item expanded "><a href="#.html" class="active"><strong aria-hidden="true">2.3.</strong> Cloud Platforms</a></li><li class="chapter-item expanded "><a href="#.html" class="active"><strong aria-hidden="true">2.4.</strong> Local Platforms</a></li><li class="chapter-item expanded "><a href="#.html" class="active"><strong aria-hidden="true">2.5.</strong> Single Board Computers</a></li></ol></li><li class="chapter-item expanded "><a href="#.html" class="active"><strong aria-hidden="true">3.</strong> Avanced Guides</a></li><li class="chapter-item expanded "><a href="#.html" class="active"><strong aria-hidden="true">4.</strong> Reference</a></li><li><ol class="section"><li class="chapter-item expanded "><a href="cli.html"><strong aria-hidden="true">4.1.</strong> CLI</a></li></ol></li></ol>
<ol class="chapter"><li class="chapter-item expanded affix "><a href="quickstart.html">Quickstart</a></li><li class="chapter-item expanded affix "><a href="requirements.html">System Requirements</a></li><li class="chapter-item expanded affix "><a href="howtos.html">How to Guide</a></li><li class="chapter-item expanded affix "><a href="supportmatrix.html" class="active">Support Matrix</a></li><li class="chapter-item expanded affix "><a href="reference.html">Reference</a></li></ol>
</div>
<div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>
</nav>
@ -144,17 +144,37 @@
<div id="content" class="content">
<main>
<h1 id="reference"><a class="header" href="#reference">Reference</a></h1>
<h1 id="support-matrix-nixos-anywhere"><a class="header" href="#support-matrix-nixos-anywhere">Support Matrix: nixos-anywhere</a></h1>
<p><strong><em>Install NixOS everywhere via ssh</em></strong></p>
<img src="https://raw.githubusercontent.com/numtide/nixos-anywhere/main/docs/logo.png" width="150" height="150">
<p><a href="./INDEX.html">Documentation Index</a></p>
<h2 id="list-of-tested-environments"><a class="header" href="#list-of-tested-environments">List of tested environments</a></h2>
<p>We have verified that <strong>nixos-anywhere</strong> runs successfully on the environments
listed below.</p>
<p><strong>kexec boot:</strong>    Indicates whether it can work by using a kexec boot</p>
<p><strong>Image boot:</strong> Indicates whether it can work if booted from a NixOS installer</p>
<p><strong>Own kexec:</strong>     Indicates whether it can work if you supply your own kexec</p>
<div class="table-wrapper"><table><thead><tr><th><strong>Platform</strong></th><th><strong>Operating System</strong></th><th>kexec boot</th><th>Image boot</th><th>Own kexec</th></tr></thead><tbody>
<tr><td>Hetzner Cloud</td><td>X86-64 Linux</td><td>Yes</td><td>Yes</td><td>Yes</td></tr>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
</tbody></table>
</div>
<h2 id=""><a class="header" href="#"></a></h2>
</main>
<nav class="nav-wrapper" aria-label="Page navigation">
<!-- Mobile navigation buttons -->
<a rel="prev" href="introduction.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<a rel="prev" href="howtos.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
<a rel="next" href="quickstart.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<a rel="next" href="reference.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
@ -164,11 +184,11 @@
</div>
<nav class="nav-wide-wrapper" aria-label="Page navigation">
<a rel="prev" href="introduction.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<a rel="prev" href="howtos.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
<i class="fa fa-angle-left"></i>
</a>
<a rel="next" href="quickstart.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<a rel="next" href="reference.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
<i class="fa fa-angle-right"></i>
</a>
</nav>