at 24.11-pre 876 B view raw
1import "struct" 2 3#BootspecV1: { 4 system: string 5 init: string 6 initrd?: string 7 initrdSecrets?: string 8 kernel: string 9 kernelParams: [...string] 10 label: string 11 toplevel: string 12} 13 14// A restricted document does not allow any official specialisation 15// information in it to avoid "recursive specialisations". 16#RestrictedDocument: struct.MinFields(1) & { 17 "org.nixos.bootspec.v1": #BootspecV1 18 [=~"^"]: #BootspecExtension 19} 20 21// Specialisations are a hashmap of strings 22#BootspecSpecialisationV1: [string]: #RestrictedDocument 23 24// Bootspec extensions are defined by the extension author. 25#BootspecExtension: {...} 26 27// A "full" document allows official specialisation information 28// in the top-level with a reserved namespaced key. 29Document: #RestrictedDocument & { 30 "org.nixos.specialisation.v1"?: #BootspecSpecialisationV1 31}