aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancesco Gazzetta <fgaz@fgaz.me>2018-12-21 19:17:39 +0100
committerDrew DeVault <sir@cmpwn.com>2018-12-21 17:25:46 -0500
commitaa42de91d10bf1ab18d61eccb4da35b2298b247c (patch)
tree8f671477680ab24c645d0334e7a427bdd91f8c78
parent68210e857eabfd2f17ff28c751f5bb3e8298c37e (diff)
downloadsr.ht-docs-aa42de91d10bf1ab18d61eccb4da35b2298b247c.tar.gz
Add nixos image docs
-rw-r--r--builds.sr.ht/compatibility.md14
-rw-r--r--builds.sr.ht/index.md1
-rw-r--r--builds.sr.ht/installation.md6
-rw-r--r--builds.sr.ht/manifest.md8
4 files changed, 29 insertions, 0 deletions
diff --git a/builds.sr.ht/compatibility.md b/builds.sr.ht/compatibility.md
index f91bcae..bde8867 100644
--- a/builds.sr.ht/compatibility.md
+++ b/builds.sr.ht/compatibility.md
@@ -130,5 +130,19 @@ port (e.g. Debian uses "amd64" while Alpine uses "x86_64").
<td>sparc64</td>
<td></td>
</tr>
+ <tr>
+ <th>NixOS</th>
+ <td colspan="3">unstable</td>
+ </tr>
+ <tr>
+ <td>x86_64</td>
+ <td>✓</td>
+ <td>✓</td>
+ <td>daily<td>
+ </tr>
+ <tr>
+ <td>aarch64</td>
+ <td></td>
+ </tr>
</tbody>
</table>
diff --git a/builds.sr.ht/index.md b/builds.sr.ht/index.md
index 5917458..1a7c431 100644
--- a/builds.sr.ht/index.md
+++ b/builds.sr.ht/index.md
@@ -77,6 +77,7 @@ Presently, the following build images are available:
- debian/sid
- debian/stretch
- freebsd
+- nixos/unstable
Additional images are easy to add so long as the guest OS supports SSH and POSIX
shell, please [email me](mailto:sir@cmpwn.com) if you'd like something added
diff --git a/builds.sr.ht/installation.md b/builds.sr.ht/installation.md
index c3bfdba..9c3e30b 100644
--- a/builds.sr.ht/installation.md
+++ b/builds.sr.ht/installation.md
@@ -81,6 +81,12 @@ provided `genimg` to produce the disk image. A `build.yml` file is also provided
for each image to build itself on your build infrastructure once you have it set
up. It's recommended that you set up cron jobs to build fresh images frequently.
+### Image-specific notes
+
+* NixOS can be bootstrapped from any distribution. The provided build.yml does
+ it from Alpine, but it can be easily switched to eg. Archlinux just by
+ changing the host image and adjusting the packages.
+
## Creating new images
If you require additional images, study the `control` script to understand how
diff --git a/builds.sr.ht/manifest.md b/builds.sr.ht/manifest.md
index 7e51006..694daa1 100644
--- a/builds.sr.ht/manifest.md
+++ b/builds.sr.ht/manifest.md
@@ -46,6 +46,10 @@ A list of package names to install on the image.
- **Arch Linux** installs these packages with `yay`
- **Debian** installs these packages with `apt-get install`
- **FreeBSD** installs these packages with `pkg`
+- **NixOS** installs these packages with `nix-env -iA`. Since it's possible to
+ specify multiple channels, you must provide the full selection path,
+ for example `nixpkgs.hello`. Note that the `nixpkgs` channel is **not**
+ added by default.
## repositories
@@ -67,6 +71,10 @@ The format is name: url, and the syntax of url varies between images.
e.g. `main` or `non-free`, and `key-id` is an optional PGP key ID to add to
apt-key.
- **FreeBSD** images do not support extra package repositories.
+- **NixOS** uses `channel-url`. The repo name is relevant, since
+ `repo-name: repo-url` wil execute the commands
+ `nix-channel --add repo-url repo-name` and `nix-channel --update repo-name`.
+ Given the nature of nix, no channel is added by default.
## sources