Toon posts:

NixOS - onderschat revolutionair

Pagina: 1
Acties:

Acties:
  • +11Henk 'm!

  • terabyte
  • Registratie: September 2001
  • Laatst online: 10-06 22:27

terabyte

kan denken als een computer

Topicstarter
Ik gebruik sinds 1998 Linux, en volgens mij heb ik nu eindelijk de heilige graal op het gebied van Linux distro's gevonden: NixOS.
zie: nixos.org



Totaal verbazingwekkend is dat, ondanks dat buiten Tweakers om NixOS inderdaad gezien wordt als een grote innovatie, op Tweakers zelf 0 aandacht aan is besteed (0 hits op voorpagina), terwijl dit OS al sinds medio 2005 bestaat. Met deze topic wil ik NixOS in de schijnwerpers zetten, en aandacht besteden aan de verschillende use-cases die met NixOS op een hele elegante manier worden opgelost.

Wat is Nix?

NixOS is een Linux distributie, met een package manager die het mogelijk maakt om jouw configuratie (systeem, maar ook home directory, of projecten) declaratief te maken, in plaats van op te bouwen uit een sequentie van commando's en configuratiebestandjes

Declaratief, dus op basis van jouw definitie van hoe jouw ideale setup eruit ziet, zorgt NixOS dat jij die ideale configuratie hebt. Na een wijzing kun je altijd terug naar de vorige state. Kapotte systemen na upgrades, conflicterende packages, etc. kunnen daardoor niet voorkomen.

Onder de motorkop gebruik Nix een functionele programmeertaal waarmee je je systeem of configuratie kunt definieeren. Feitelijk bestaat jouw systeem uit een hoop Lego-blokjes die je inelkaar zet op de manier die voor jou ideaal is. De lego-blokjes (derivations) passen goed op elkaar, omdat de wetten van het functioneel programmeren (bijv. functiecompositie) ook in Nix gelden.

Nix is bedacht door een Nederlander, Dr. Eelco Dolstra, een informaticus die aan de Universiteit Utrecht op NixOS is gepromoveerd.
Voor diegenen die geinteresseerd zijn in de wetenschap achter NixOS, het proefschrift is hier te lezen:
https://nixos.org/~eelco/pubs/phd-thesis.pdf

Nix is dus niet het resultaat van een uit de hand gelopen uitprobeersel, het heeft een wetenschappelijke basis. Er is ontzettend goed over nagedacht, en dat merk je in het gebruik (als je bijvoorbeeld je eigen 'derivations' gaat definieren).

Wat kun je er mee?

Je kunt het gebruiken als zeer robuuste besturingssysteem (in plaats van... Debian, arch, of whatever), zowel geschikt voor desktop als server. Dan heb je al veel van de voordelen, maar je kunt er nog veel mee:

- Als je softwareontwikkelaar bent, kun je een project-specifieke configuratie maken, de voor collega's reproduceerbaar is (dus met de juiste libraries, tools en altijd de juiste versies voor dat project) - zonder dat het conflicteerd met andere projecten of je eigen systeem. Van vervuiling door libraries zal dus nooit meer sprake zijn. Altijd een schone werkomgeving!

- Voor Devops is het ook een hemel, Je kunt ook met Nix containers maken voor services (docker is dus niet meer nodig). Sowieso zijn allerlei producten die configuraties managen ook niet meer nodig (zoals Ansible) omdat dit juist een basisfunctie is van Nix

- Je hoeft je bestaande Linux distro niet op te geven, je kunt ook de Nix package manager gebruiken (dus Nix zonder OS) om de voordelen onder je eigen user account te ervaren

Nadelen

Nix is anders. Daardoor heeft het een steile leercurve. Als je niet bekend bent met het declaratief of functioneel denken, zul je een mentale shift moeten maken. Dat maakt het moeilijk, maar wat je er voor terugkrijgt is onbetaalbaar (in vrijheid en tijdswinst).

Dit beschouw ik overigens niet als nadeel van Nix zelf. Voorbeeld: Quantumcomputing is ook anders en zal daardoor een steile leercurve hebben, maar dat is niet de schuld van quantum computing, maar van het feit dat men het nog niet gewend is.


(Ik nodig anderen uit om deze openingpost uit te breiden/te verbeteren)


Heb jij NixOS al ontdekt?

[Voor 12% gewijzigd door terabyte op 01-06-2022 22:04. Reden: video]

Pagina: 1



Nintendo Switch (OLED model) Apple iPhone SE (2022) LG G1 Google Pixel 6 Call of Duty: Vanguard Samsung Galaxy S22 Garmin fēnix 7 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2022 Hosting door True

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee