Skip to content

Commit

Permalink
nixos/system/activation/bootspec: adopt the latest specification
Browse files Browse the repository at this point in the history
  • Loading branch information
RaitoBezarius committed Mar 18, 2023
1 parent f15cf7e commit 5301677
Showing 1 changed file with 20 additions and 7 deletions.
27 changes: 20 additions & 7 deletions nixos/modules/system/activation/bootspec.cue
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#V1: {
import "struct"

#BootspecV1: {
system: string
init: string
initrd?: string
Expand All @@ -7,12 +9,23 @@
kernelParams: [...string]
label: string
toplevel: string
specialisation?: {
[=~"^"]: #V1
}
extensions?: {...}
}

Document: {
v1: #V1
// A restricted document does not allow any official specialisation
// information in it to avoid "recursive specialisations".
#RestrictedDocument: struct.MinFields(1) & {
"org.nixos.bootspec.v1": #BootspecV1
[=~"^"]: #BootspecExtension
}

// Specialisations are a hashmap of strings
#BootspecSpecialisationV1: [string]: #RestrictedDocument

// Bootspec extensions are defined by the extension author.
#BootspecExtension: {...}

// A "full" document allows official specialisation information
// in the top-level with a reserved namespaced key.
Document: #RestrictedDocument & {
"org.nixos.specialisation.v1"?: #BootspecSpecialisationV1
}

0 comments on commit 5301677

Please sign in to comment.