Vsak uveljavljeni operacijski sistem in upravljalnik konfiguracije temelji na predpostavki, da je datotečni sistem spremenljiv globalni imenski prostor, postavitev pa zaporedje stanjskih sprememb. Posledice takšnega modela so neatomske nadgradnje, medsebojni vplivi komponent, razreševanje odvisnosti zgolj po imenih, ki omogoča napade z zamenjavo, ter nepovratnost konfiguracije. Te težave niso posledica pomanjkljive implementacije, temveč same zasnove. Čisto funkcijski model, uresničen v sistemih Nix in NixOS, jih odpravlja že na ravni arhitekture. Ovrednotene so bile štiri lastnosti: deklarativna sestava, ponovljivost, neobstojnost in varnost. Čeprav je bila vsaka od njih raziskana samostojno, je njihova celovita uporaba na heterogeni infrastrukturi preizkušena prvič. Prvi sistematični pregled ekosistema postavitve NixOS je razkril šest strukturnih vrzeli med osemnajstimi orodji. Panix, brezstanjsko orodje, zasnovano na treh načelih (brezstanjskosti, načelu opazovalca in fazni izolaciji), odpravlja štiri od šestih vrzeli, peto pa delno. Njegov sedemfazni postopek od gole strojne opreme do aktivacije preverja, ali se sestavljivost Nixa in NixOS-a ohranja tudi pri upravljanju flote z večimi flake-i. Šest računalnikov v štirih okoljih je bilo konfiguriranih iz enega flake-a; brezstanjski kiosk s šifriranjem, vezanim na TPM, in največjo neobstojnostjo preizkuša vse štiri lastnosti do skrajnosti. Ponovljiva sistemska ovojnica razširja integriteto dobavne verige na delujoči sistem: kjer SLSA preverja izvor artefaktov, SBOM preglednost sestave, in-toto celovitost procesa gradnje, sistemska ovojnica pa preverja operacijski sistem od strojne programske opreme do delujočih storitev. Evalvacija po metodologiji oblikovalske znanosti, izvedena v obdobju več kot štirih mesecev, je potrdila ponovljivost na nivoju bitov za vseh šest gostiteljev v dveh medsebojno neodvisnih shrambah Nix, Secure Boot na štirih gostiteljih ter identiteto, zasidrano v TPM, na petih. Sveža namestitev na golo strojno opremo je bila brez posredovanja skrbnika zaključena v 392 sekundah. Štiri lastnosti se medsebojno dopolnjujejo brez kompromisa: 92\% izvorne kode modulov je deljenih med vsemi gostitelji prek ene arhitekture z različnimi vrednostmi nastavitev. Spremenljiva predpostavka je zavržena, in sistem deluje.
|