-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnodes.scm
More file actions
34 lines (31 loc) · 1.38 KB
/
Copy pathnodes.scm
File metadata and controls
34 lines (31 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
;; SPDX-License-Identifier: MPL-2.0
;; Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
;; Bag-of-Actions: Estate Manifest (Guix Edition)
;;
;; This file provides the Guix-native definition of your estate,
;; mirroring the formal Idris 2 Bag.Estate manifest.
(define-module (bag estate)
#:use-module (guix gexp)
#:use-module (gnu packages)
#:export (estate-nodes))
;; A proper list of node alists (each entry: name / capabilities / owner).
(define estate-nodes
(list
'((name . "mesh-laptop")
(capabilities . (macos guix trusted-host))
(owner . "Jonathan"))
'((name . "mesh-server-1")
(capabilities . (linux gpu guix trusted-host zig rust cargo deno scorecard wasm idris2 just))
(owner . "Core-Infrastructure"))
'((name . "mesh-github-runner")
(capabilities . (linux secret-access))
(owner . "GitHub"))
;; The hypatia "brain" (Elixir merge-orchestration host): emits/reads only and
;; deliberately WITHOUT secret-access, so a merge Baton (required-cap
;; secret-access) can never run here and must migrate to mesh-github-runner —
;; the token-free-brain invariant. Mirrors src/estate.zig / Bag.Estate.idr.
'((name . "mesh-hypatia-brain")
(capabilities . (linux trusted-host))
(owner . "Jonathan"))))
;; Note: In a production Guix System deployment, this would
;; be used to generate node-specific operating-system configurations.