1. Minor tidy up on README

2. Added links to INDEX
3. Removed unneeded files
4. Tidied up quickstart
5. Added requirements.md
6. Added supportmatrix.md

TODO: Decide on final format of support matrix and populate w
This commit is contained in:
Jill 2023-05-24 14:21:18 +02:00
parent 61db420d4f
commit 5d86ebfee4
7 changed files with 82 additions and 61 deletions

View File

@ -63,9 +63,11 @@ data has been migrated.
## Prerequisites
- Source Machine:
- - Can be any Linux machine with Nix installed, or a NixOS machine.
- Target Machine:
- - Can be any Linux machine with Nix installed, or a NixOS machine.
- Target Machine:
- Unless you're using the option to boot from a NixOS installer image, or
providing your own `kexec` image, it must be running x86-64 Linux with kexec
support. Most `x86_64` Linux systems do have kexec support. By providing

View File

@ -1,17 +1,11 @@
# Table of Content
# Table of Content: - nixos-anywhere
- [Introduction](./introduction.md)
- [What is nixos-anywhere?](#)
- [Quickstart](./quickstart.md)
- [Getting Started](#)
- [System Requirements](#)
- [Support Matrix](#)
- [Installation](./installation.md)
- [Bare Metal Platforms](#)
- [Virtualized Platforms](#)
- [Cloud Platforms](#)
- [Local Platforms](#)
- [Single Board Computers](#)
- [Avanced Guides](#)
- [Reference](#)
- [CLI](./cli.md)
***Install NixOS everywhere via ssh***
<img title="" src="https://raw.githubusercontent.com/numtide/nixos-anywhere/main/docs/logo.png" alt="" width="149">
- [README](../README.md)
- [Quickstart](./quickstart.md)
- [System Requirements](./requirements.md)
- [Support Matrix](./supportmatrix.md)
- [Reference](./reference.md)

View File

@ -1,7 +0,0 @@
# Installation
- [Bare Metal Platforms](#)
- [Virtualized Platforms](#)
- [Cloud Platforms](#)
- [Local Platforms](#)
- [Single Board Computers](#)

View File

@ -1,7 +0,0 @@
# Introduction
- [What is nixos-anywhere?](#)
- [Quickstart](#)
- [Getting Started](#)
- [System Requirements](#)
- [Support Matrix](#)

View File

@ -4,7 +4,7 @@
<img src="https://raw.githubusercontent.com/numtide/nixos-anywhere/main/docs/logo.png" width="150" height="150">
## Inroduction
## Introduction
This guide documents a simple installation of NixOS using **nixos-anywhere** on
a target machine running x86_64 Linux with
@ -33,7 +33,7 @@ below.
[Nixos Wiki](https://nixos.wiki/wiki/Flakes#enable-flakes) describes how to
enable flakes.
1. In this directory, run the following command to create a flake.
2. In this directory, run the following command to create a flake.
```
nix flake init
@ -55,20 +55,20 @@ Substitute  the text that reads `CHANGE` 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.
3. In the same directory, create a file named `disk-config.nix`. This will be
used to specify the disk layout to the **disko** 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
[here](https://github.com/numtide/nixos-anywhere-examples/blob/main/disk-config.nix).
This configures a standard GPT (GUID Partition Table) partition compatible
with both EFI and BIOS systems, and mounts the disk as `/dev/sda`. If this
doesnt meet your requirements, choose an example that suits your disk
layout from the
[disko examples](https://github.com/nix-community/disko/tree/master/example).
For more information about this configuration, refer to the
[disko documentation.](https://github.com/nix-community/disko)
3. In the same directory, create a file named `disk-config.nix`. This will be
used to specify the disk layout to the **disko** 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
[here](https://github.com/numtide/nixos-anywhere-examples/blob/main/disk-config.nix).
This configures a standard GPT (GUID Partition Table) partition compatible
with both EFI and BIOS systems, and mounts the disk as `/dev/sda`. If this
doesnt meet your requirements, choose an example that suits your disk
layout from the
[disko examples](https://github.com/nix-community/disko/tree/master/example).
For more information about this configuration, refer to the
[disko documentation.](https://github.com/nix-community/disko)
4. Run the following command to create the `flake.lock` file:
4. Run the following command to create the `flake.lock` file:
```
nix flake lock
@ -78,21 +78,21 @@ Optionally, you can commit these files to a repo such as Github, or you can
simply reference your local directory when you run **nixos-anywhere**. This
example uses a local directory on the source machine.
5. On the target machine, make sure you have access as root via ssh by adding
your SSH key to the file `authorized_keys` in the directory `/root/.ssh`
5. On the target machine, make sure you have access as root via ssh by adding
your SSH key to the file `authorized_keys` in the directory `/root/.ssh`
6. You can now run **nixos-anywhere** from the command line as shown below,
where:
- `<path to configuration>` is the path to the directory or repository
containing `flake.nix` and `disk-config.nix`
- `<configuration name>` must match the name that immediately follows the
text `nixosConfigurations.` in the flake, as indicated by the comment in
the
[example](https://github.com/numtide/nixos-anywhere-examples/blob/main/flake.nix)).
- `<ip address>` is the IP address of the target machine.
6. You can now run **nixos-anywhere** from the command line as shown below,
where:
- `<path to configuration>` is the path to the directory or repository
containing `flake.nix` and `disk-config.nix`
- `<configuration name>` must match the name that immediately follows the
text `nixosConfigurations.` in the flake, as indicated by the comment in
the
[example](https://github.com/numtide/nixos-anywhere-examples/blob/main/flake.nix)).
- `<ip address>` is the IP address of the target machine.
```
nix run github:numtide/nixos-anywhere -- --flake <path to configuration>#<configuration name> root@<ip address>

14
docs/requirements.md Normal file
View File

@ -0,0 +1,14 @@
# System Requirements: nixos-anywhere
**_Install NixOS everywhere via ssh_**
<img src="https://raw.githubusercontent.com/numtide/nixos-anywhere/main/docs/logo.png" width="150" height="150">
##
- Source Machine:
- Can be any Linux or Mac computer with Nix installed, or a NixOS machine.
- Destination Machine:
- Must be an x86-64 machine
- Unless you're using the option to boot from a Nixos installer image, it must be running x86-64 Linux with kexec support . Most x86_64 Linux systems do have kexec support.
- Must have at least 2.5 GB of RAM, excluding swap.

25
docs/supportmatrix.md Normal file
View File

@ -0,0 +1,25 @@
# Support Matrix: nixos-anywhere
**_Install NixOS everywhere via ssh_**
<img src="https://raw.githubusercontent.com/numtide/nixos-anywhere/main/docs/logo.png" width="150" height="150">
We have verified that **nixos-anywhere** runs successfully on the platforms listed below.
**kexec boot:**    Indicates whether it can work by using a kexec boot
**Image boot:** Indicates it will work if booted from a NixOS installer
**Own kexec:**     Indicates it will work if you supply your own kexec
| **Platform** | **Operating System** | kexec boot | Image boot | Own kexec |
| ------------- | -------------------- | ---------- | ---------- | --------- |
| Hetzner Cloud | X86-64 Linux | Yes | Yes | Yes |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
##