mirror of
https://github.com/numtide/nixos-anywhere.git
synced 2024-09-11 13:15:44 +03:00
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:
parent
61db420d4f
commit
5d86ebfee4
@ -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
|
||||
|
@ -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)
|
||||
|
@ -1,7 +0,0 @@
|
||||
# Installation
|
||||
|
||||
- [Bare Metal Platforms](#)
|
||||
- [Virtualized Platforms](#)
|
||||
- [Cloud Platforms](#)
|
||||
- [Local Platforms](#)
|
||||
- [Single Board Computers](#)
|
@ -1,7 +0,0 @@
|
||||
# Introduction
|
||||
|
||||
- [What is nixos-anywhere?](#)
|
||||
- [Quickstart](#)
|
||||
- [Getting Started](#)
|
||||
- [System Requirements](#)
|
||||
- [Support Matrix](#)
|
@ -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
|
||||
doesn’t 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
|
||||
doesn’t 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
14
docs/requirements.md
Normal 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
25
docs/supportmatrix.md
Normal 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 |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
|
||||
##
|
Loading…
Reference in New Issue
Block a user