Skip to content

Commit 133bdce

Browse files
committed
docs/infrastructure: embed host config json
1 parent f83732c commit 133bdce

5 files changed

Lines changed: 61 additions & 1 deletion

File tree

dev/docs.nix

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{ self, ... }:
12
{
23
perSystem =
34
{ config, pkgs, ... }:
@@ -20,7 +21,8 @@
2021
};
2122
}
2223
''
23-
cd $files
24+
cp --no-preserve=mode -r $files/* .
25+
cp --no-preserve=mode ${config.packages.docs-json}/*.json docs
2426
mkdocs build --strict --site-dir $out
2527
'';
2628
docs-linkcheck = pkgs.testers.lycheeLinkCheck rec {
@@ -33,6 +35,30 @@
3335
};
3436
site = config.packages.docs;
3537
};
38+
docs-json =
39+
pkgs.runCommand "docs-json"
40+
{
41+
buildInputs = [ pkgs.jq ];
42+
hosts = pkgs.writeText "hosts.json" (
43+
builtins.toJSON (
44+
pkgs.lib.mapAttrs (_: x: {
45+
experimental-features = x.config.nix.settings.experimental-features or [ ];
46+
extra-platforms = x.config.nix.settings.extra-platforms or [ ];
47+
system-features = x.config.nix.settings.system-features or [ ];
48+
inherit (x.config.nixpkgs.hostPlatform) system;
49+
inherit (x.config.nix.settings) sandbox;
50+
}) (self.darwinConfigurations // self.nixosConfigurations)
51+
)
52+
);
53+
}
54+
''
55+
mkdir -p $out
56+
for host in $(jq -r 'keys[]' $hosts); do
57+
jq --arg host "$host" \
58+
'.[$host] | walk(if type == "array" then sort else . end)' \
59+
--sort-keys < $hosts > $out/$host.json
60+
done
61+
'';
3662
};
3763
};
3864
}

docs/community-builders.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ aarch64-build-box.nix-community.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG9uyfhy
1818
darwin-build-box.nix-community.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKMHhlcn7fUpUuiOFeIhDqBzBNFsbNqq+NpzuGX3e6zv
1919
```
2020

21+
See [here](./infrastructure.md#community-builders) for details about the hardware.
22+
2123
### Access
2224

2325
We will grant access to well known members of the community, and people well known members in the community trust.

docs/continuous-integration.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ Both `aarch64-linux` and `x86_64-linux` have support for `kvm`/`nixos-test`.
99

1010
We only have limited build capacity for `*-darwin` so please don't use it excessively.
1111

12+
See [here](./infrastructure.md#continuous-integration) for details about the hardware.
13+
1214
#### Buildbot
1315

1416
[https://buildbot.nix-community.org](https://buildbot.nix-community.org)

docs/infrastructure.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@
77
- RAM: 128GB DDR4 ECC
88
- Drives: 2 x 1.92TB NVME
99

10+
```json
11+
--8<-- "docs/build01.json"
12+
```
13+
1014
#### [`aarch64-build-box.nix-community.org`](./community-builders.md) - `build05`
1115

1216
- Provider: Hetzner
@@ -15,6 +19,10 @@
1519
- RAM: 128GB DDR4 ECC
1620
- Drives: 2 x 960GB NVME
1721

22+
```json
23+
--8<-- "docs/build05.json"
24+
```
25+
1826
#### [`darwin-build-box.nix-community.org`](./community-builders.md) - `darwin01`
1927

2028
- Provider: OakHost
@@ -23,6 +31,10 @@
2331
- RAM: 32GB
2432
- Drives: 1TB SSD
2533

34+
```json
35+
--8<-- "docs/darwin01.json"
36+
```
37+
2638
### Continuous Integration
2739

2840
#### [`CI builder`](./continuous-integration.md) - `build03`
@@ -33,6 +45,10 @@
3345
- RAM: 256GB DDR5 ECC
3446
- Drives: 2 x 1.92TB NVME
3547

48+
```json
49+
--8<-- "docs/build03.json"
50+
```
51+
3652
#### [`CI builder`](./continuous-integration.md) - `build04`
3753

3854
- Provider: Hetzner
@@ -41,6 +57,10 @@
4157
- RAM: 128GB DDR4 ECC
4258
- Drives: 2 x 960GB NVME
4359

60+
```json
61+
--8<-- "docs/build04.json"
62+
```
63+
4464
#### [`CI builder`](./continuous-integration.md) - `darwin02`
4565

4666
- Provider: OakHost
@@ -49,6 +69,10 @@
4969
- RAM: 32GB
5070
- Drives: 1TB SSD
5171

72+
```json
73+
--8<-- "docs/darwin02.json"
74+
```
75+
5276
### Other
5377

5478
#### [`R. RyanTM nixpkgs-update bot`](./update-bot.md) - `build02`
@@ -58,6 +82,10 @@
5882
- RAM: 128GB DDR4 ECC
5983
- Drives: 2 x 1.92TB NVME
6084

85+
```json
86+
--8<-- "docs/build02.json"
87+
```
88+
6189
#### [`Monitoring`](./monitoring.md) - `web02`
6290

6391
- Provider: Gandi

mkdocs.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ theme:
3737
markdown_extensions:
3838
- attr_list
3939
- md_in_html
40+
- pymdownx.snippets
41+
- pymdownx.superfences
4042
- toc:
4143
toc_depth: 0
4244

0 commit comments

Comments
 (0)