mirror of
https://github.com/nix-community/nixos-anywhere.git
synced 2024-10-06 12:48:07 +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
|
## Prerequisites
|
||||||
|
|
||||||
- Source Machine:
|
- 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
|
- 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
|
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
|
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)
|
***Install NixOS everywhere via ssh***
|
||||||
- [What is nixos-anywhere?](#)
|
|
||||||
- [Quickstart](./quickstart.md)
|
<img title="" src="https://raw.githubusercontent.com/numtide/nixos-anywhere/main/docs/logo.png" alt="" width="149">
|
||||||
- [Getting Started](#)
|
|
||||||
- [System Requirements](#)
|
- [README](../README.md)
|
||||||
- [Support Matrix](#)
|
- [Quickstart](./quickstart.md)
|
||||||
- [Installation](./installation.md)
|
- [System Requirements](./requirements.md)
|
||||||
- [Bare Metal Platforms](#)
|
- [Support Matrix](./supportmatrix.md)
|
||||||
- [Virtualized Platforms](#)
|
- [Reference](./reference.md)
|
||||||
- [Cloud Platforms](#)
|
|
||||||
- [Local Platforms](#)
|
|
||||||
- [Single Board Computers](#)
|
|
||||||
- [Avanced Guides](#)
|
|
||||||
- [Reference](#)
|
|
||||||
- [CLI](./cli.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">
|
<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
|
This guide documents a simple installation of NixOS using **nixos-anywhere** on
|
||||||
a target machine running x86_64 Linux with
|
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
|
[Nixos Wiki](https://nixos.wiki/wiki/Flakes#enable-flakes) describes how to
|
||||||
enable flakes.
|
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
|
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
|
important, otherwise you will not be able to log on to the target machine after
|
||||||
NixOS has been installed.
|
NixOS has been installed.
|
||||||
|
|
||||||
3. In the same directory, create a file named `disk-config.nix`. This will be
|
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
|
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
|
uses to partition, format and mount the disks. Again, for a simple
|
||||||
installation you can paste the contents from the example
|
installation you can paste the contents from the example
|
||||||
[here](https://github.com/numtide/nixos-anywhere-examples/blob/main/disk-config.nix).
|
[here](https://github.com/numtide/nixos-anywhere-examples/blob/main/disk-config.nix).
|
||||||
This configures a standard GPT (GUID Partition Table) partition compatible
|
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
|
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
|
doesn’t meet your requirements, choose an example that suits your disk
|
||||||
layout from the
|
layout from the
|
||||||
[disko examples](https://github.com/nix-community/disko/tree/master/example).
|
[disko examples](https://github.com/nix-community/disko/tree/master/example).
|
||||||
For more information about this configuration, refer to the
|
For more information about this configuration, refer to the
|
||||||
[disko documentation.](https://github.com/nix-community/disko)
|
[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
|
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
|
simply reference your local directory when you run **nixos-anywhere**. This
|
||||||
example uses a local directory on the source machine.
|
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
|
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`
|
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,
|
6. You can now run **nixos-anywhere** from the command line as shown below,
|
||||||
where:
|
where:
|
||||||
|
|
||||||
- `<path to configuration>` is the path to the directory or repository
|
- `<path to configuration>` is the path to the directory or repository
|
||||||
containing `flake.nix` and `disk-config.nix`
|
containing `flake.nix` and `disk-config.nix`
|
||||||
|
|
||||||
- `<configuration name>` must match the name that immediately follows the
|
- `<configuration name>` must match the name that immediately follows the
|
||||||
text `nixosConfigurations.` in the flake, as indicated by the comment in
|
text `nixosConfigurations.` in the flake, as indicated by the comment in
|
||||||
the
|
the
|
||||||
[example](https://github.com/numtide/nixos-anywhere-examples/blob/main/flake.nix)).
|
[example](https://github.com/numtide/nixos-anywhere-examples/blob/main/flake.nix)).
|
||||||
|
|
||||||
- `<ip address>` is the IP address of the target machine.
|
- `<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>
|
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