Har du hørt om NixOS, men er du ikke helt sikker på, hvordan operativsystemet fungerer?
32-årige Jamie Neubert Pedersen bruger NixOS i sin hverdag, fortæller han til PROSAbladet.
"Jeg bruger NixOS i mit arbejde til at håndtere vores udviklingsmiljøer og til at lave opsætning for dele af vores infrastruktur, fordi det giver mulighed for at have al konfiguration defineret i koden."
Jamie Neubert Pedersen har læst softwareteknologi på DTU og er i dag udvikler hos startup-virksomheden Pensure, der udvikler software til pensions- og forsikringssektoren.
Her fortæller it-udvikleren, hvad NixOS er, hvorfor han godt kan lide operativsystemet, og hvad det danske NixOS-netværk går ud på.
En Linux-distribution
"NixOS er en Linux-distribution. Det betyder, at NixOS bygger på Linux, som er et open source-styresystem. Der bliver bygget mange versioner af Linux – disse versioner kalder man i daglig tale distributioner og tæller bl.a. også Debian, SUSE og Ubuntu. De har alle Linux-kernen i centrum, men ”indpakningen” er forskellig."
"Linuxdistributionerne er kendt for at være sikre og stabile systemer, og de går imod tankegangen om, at ”one size fits all”, som er et af kendetegnene ved Microsofts Windows og Apples MacOS."
Udbredt i datacentre
"Linux er i dag det mest udbredte styresystem til at køre servere på. Næsten al trafik i datacentre og alle hjemmesider har Linux under sig, og derfor giver det som it-fagperson mening at være god til Linux, så man kan forstå og interagere hensigtsmæssigt med alle disse systemer."
"Linux er også frit og åbent, så vi alle kan lære af hinanden, og så vi har mulighed for at ændre i og undersøge indholdet af kildekoden. Det er en stærkt filosofisk tilgang til, hvordan vi skal lave software, som jeg er meget enig i."
Nix-pakkehåndteringssystemet
"NixOS er et operativsystem, der bygger på Nix-pakkehåndteringssystemet, som er en måde at installere programmer på. Det er et register af software, som bliver vedligeholdt af frivillige. Lige nu er det det største og mest vedligeholdte register for software."
Dygtige kolleger inspirerede
"Jeg hørte om NixOS første gang for tre år siden, da en daværende kollega brugte det. For to år siden hørte jeg om det igen, da en anden kollega brugte det. De er begge fantastisk dygtige programmører, så jeg tænkte, at der efterhånden tegnede sig et billede. Jeg begyndte at arbejde med NixOS sidste år – men jeg bruger det stadig ikke så mange steder, som jeg gerne ville."
En reproducerbar opsætning
"NixOS har en særlig tilgang, der gør, at man kan have en reproducerbar opsætning.
Forestil dig, at hele din opsætning – alle programmerne på din computer, hvilke mapper du har liggende, hvilket farvetema du har sat i din browser osv. – er beskrevet i en tekstfil, så når du vil skifte computer, kan du få præcist det samme på den nye computer. Man definerer altså, hvordan man vil have ens opsætning til at se ud – og voila, så har man opsat sin computer og kan tage sin opsætning med sig fra computer til computer."
De store plusser ved NixOS er...
Reproducerbarhed er den helt store ting, hvis man snakker om fordele ved NixOS. Derudover er deterministiske udfald en stor fordel, så man ved, at man altid får det samme ud, når man giver de samme inputs.
De store minusser ved NixOS er...
Den største ulempe er på en måde også den store styrke: At man skal definere, hvordan man vil have tingene til at være. Man kan ikke hente en arbitrær fil fra nettet og køre den. Man skal have det igennem Nix-pakkesystemet, og det kan være lidt omstændigt.
Deterministiske softwaresystemer
"Det er spændende at arbejde med NixOS, fordi jeg godt kan lide tanken om, at softwaresystemer er deterministiske, at de er pålidelige, og at de gør det, de "plejer" at gøre. Jeg blev solgt på idéen om NixOS, fordi man kan definere, hvordan ens operativsystem skal se ud – og så trykker man "enter", og et par minutter efter har man et helt friskt operativsystem på en ny computer med præcist den samme konfiguration og de samme programmer, du har på den anden computer."
Kan bruges af mange
"I dag bliver NixOS mest brugt af folk, der går op i DevOps/DevSecOps og deterministiske systemer. Med andre ord: Folk, der er nørdede omkring infrastruktur og funktionsprogrammering.
Men i virkeligheden er der mange, som kunne have store fordele af at bruge NixOS – for eksempel:
NixOS-netværket
"Det danske NixOS-netværk samler folk, der arbejder med Nix og NixOS. Formålet er at udbrede kendskabet og skabe et netværk for folk, der er interesseret i, hvad man kan få ud af at bruge NixOS."
"Netværket mødes hver tredje måned hos PROSA i København, og det er et sted, hvor man kan læne sig op ad andre i samme situation og have nogen at sparre med og blive inspireret af. Jeg er med i netværket, fordi jeg synes, det er vigtigt at have andre folk, man kan lære af. Det er også sjovt at lære fra sig, og det at være sammen med nogen med samme interesse kan styrke min motivation."
Du kan finde de kommende møder i NixOS-netværket i PROSA's kalender.