Ik krijg steeds de vraag welke distro iemand op zijn dagelijkse machine moet draaien: Arch of NixOS. Meestal van mensen die al Linux draaien en een werkstation willen dat ze echt begrijpen, geen black box die zichzelf update op andermans schema.

Ik heb beide gedraaid als mijn echte machine. Niet in VMs, niet als weekend-experiment. Als de laptop waar ik professioneel DevOps en platform engineering werk doe, en als de desktop waar ik al het andere doe. Laat ik mijn bias meteen op tafel leggen, want dit framework werkt alleen als ik daar eerlijk over ben: ik draai vandaag Arch op beide desktops, en NixOS op mijn servers. Dat verklapt waar ik uitkwam. Maar ik kwam daar om specifieke redenen, en die wil ik doorlopen in plaats van je een verdict in handen te drukken.

Beide zijn echt goed. Beide hebben trade-offs die ik zelf in mijn handen heb gevoeld. De juiste keuze hangt af van je levenssituatie en hoeveel tijd je hebt voor systeemonderhoud. Ik heb nu kinderen, dus de zaterdagmiddagen die ik vroeger besteedde aan het debuggen van een kapotte Xorg config zijn voorbij. De machine moet werken elke keer dat ik de klep opentrek. Wat ik leerde is dat Arch’s reputatie voor instabiliteit grotendeels een skill issue is, en dat verandert de hele vergelijking.

Het filosofieverschil

Voor de criteria, het ene verschil waar al het andere aan hangt.

Arch Linux is een leeg canvas. Je bouwt het systeem stuk voor stuk en je bezit elk stuk. Het is mutable: je bewerkt bestanden, installeert packages, en het systeem drift en groeit over tijd. Rolling release betekent dat je altijd actueel bent.

NixOS is declaratief. Je beschrijft hoe het systeem eruit moet zien in config bestanden, en Nix bouwt precies dat. Het is grotendeels immutable: je rommelt niet aan het draaiende systeem, je wijzigt de config en herbouwt. Elke wijziging is reproduceerbaar.

Dat verschil verandert hoe je over de machine denkt. Op Arch is het systeem iets dat je verzorgt. Op NixOS is het systeem een artefact van een bestand dat je van boven naar beneden kunt lezen.

Waar ik eigenlijk op vergelijk

Ik ga niet elke feature opsommen. De dingen die dit beslissen voor een werkende engineer met beperkte vrije tijd komen neer op een handvol criteria: betrouwbaarheid wanneer een update binnenkomt, hoe snel je de packages krijgt die je nodig hebt, hoe steil de leercurve is, en hoe het voelt om er dagelijks in te leven. Ik splits de vergelijking in professioneel werk en persoonlijk gebruik, omdat dezelfde trade-off van teken wisselt afhankelijk van de context.

Voor professioneel werk

Arch Linux

Voordelen:

  • Bekende tooling: Standaard Linux. Alles werkt zoals gedocumenteerd en je spiergeheugen van servers draagt direct over.
  • Bleeding edge packages: De nieuwste kubectl, terraform of Go nodig? Het staat in de repos of de AUR, meestal binnen dagen na release.
  • AUR dekking: Bijna elke tool die je nodig hebt is gepackaged. yay -S slack-desktop spotify en je bent klaar.
  • Documentatie: De Arch Wiki is de beste Linux documentatie die er is.
  • Lichtgewicht: Geen abstractielagen. Wat je installeert is wat draait.

Nadelen:

  • Updates kunnen dingen breken: Rolling release betekent af en toe breakage. Een kernel update sloopt je WiFi driver. Een library bump breekt een app. Het gebeurt.
  • Niet reproduceerbaar: “Works on my machine” is echt. Je collega kan niet makkelijk je exacte setup repliceren.
  • Drift over tijd: Na een jaar heb je zoveel geïnstalleerd dat je vergeten bent wat er is of waarom.
  • Geen rollback zonder extra setup: als een update iets breekt, fix je het met de hand.

Echte ervaring: Ik draaide Arch jarenlang professioneel. In het begin verloor ik elke paar maanden tijd aan breakages. Toen kreeg ik door dat de meeste “Arch is instabiel” klachten van slechte practices komen. Met de juiste setup is het rotsvast, en de volgende sectie laat zien hoe.

Arch betrouwbaar maken: de semi-ephemeral aanpak

Sinds de kinderen er zijn heb ik nul tolerantie voor breakage tijdens werkuren. Mijn antwoord is om Arch als een semi-ephemeral systeem te behandelen. De machine mag op elk moment sterven, en ik moet binnen minuten weer productief zijn. Dit is hetzelfde resilience-denken dat ik op infrastructuur toepas, nu gericht op mijn eigen laptop: voorkom geen falen, maak recovery goedkoop.

De stack:

  • Btrfs + Snapper: Automatische snapshots voor elke pacman transactie. Iets breekt? snapper rollback en reboot. Klaar.
  • Timeshift als alternatief: als je niet op btrfs zit, geeft Timeshift met rsync vergelijkbare bescherming.
  • Dotfiles in git: Mijn hele config zit in een chezmoi repo. Verse installatie? chezmoi init --apply en mijn omgeving is terug.
  • Package list backup: pacman -Qqe > pkglist.txt in mijn dotfiles. Verse installatie? pacman -S --needed - < pkglist.txt.
  • Aparte /home: Mijn home partitie overleeft reinstalls. Al mijn data blijft.
  • Regelmatige volledige backups: Borg naar mijn NAS, dagelijks. Worst case, ik restore alles.

Dat geeft me drie recovery opties:

  1. Klein probleem: Snapper rollback (2 minuten)
  2. Groot probleem: Verse install plus dotfiles plus package list (30 minuten)
  3. Hardware dood: Nieuwe machine plus backup restore (1 uur)

Het kerninsight is om te stoppen met vechten tegen het rolling release model en er juist op te leunen. Updates kunnen dingen breken, dus maakte ik breken goedkoop. Zodra recovery triviaal is, verdampt de angst voor updates. Ik update nu wekelijks. Als iets breekt rol ik terug en wacht op de fix. Geen stress, geen debug sessie, geen ongemakkelijk bericht aan een klant over waarom ik te laat ben.

NixOS

Voordelen:

  • Reproduceerbaar: Je configuration.nix beschrijft het systeem volledig. Clone de repo, draai nixos-rebuild, krijg exact dezelfde machine.
  • Atomaire rollbacks: Elke generatie wordt bewaard. Slechte update? Boot de vorige generatie. Twee seconden, klaar.
  • Declaratieve packages: Geïnstalleerde packages staan in config. Geen drift. Je weet altijd precies wat er is.
  • Dev environments: nix-shell en devenv geven je per-project dependencies zonder het systeem te vervuilen.
  • Veilig experimenteren: Probeer iets riskants. Als het breekt, rol terug. Nul consequenties.

Nadelen:

  • Leercurve: De Nix taal is een ding op zichzelf. De documentatie is berucht dun. Beginnen is ruw.
  • Tragere package updates: Nixpkgs is enorm maar conservatiever. Je wacht misschien weken op de laatste versie van iets.
  • Ander mentaal model: Je kunt niet gewoon apt install doen en verder. Je moet declaratief denken.
  • Schijfruimte: Al die generaties stapelen op. /nix/store wordt groot.
  • Sommige dingen zijn moeilijker: Proprietary software, niet-standaard package layouts, alles dat FHS aanneemt, het kost allemaal extra werk.

Echte ervaring: Ik switchte naar NixOS voor werk na te veel Arch breakages. De eerste maand deed pijn: Nix leren, mijn config herschrijven, vechten met rare package issues. Na die initiële kost hield alles stand. Updates braken nooit iets. Ik kon nixos-rebuild switch op een vrijdagmiddag zonder angst. Toen ik een nieuwe laptop kreeg, draaide mijn complete omgeving binnen een uur.

Het professionele verdict

Voor werk, waar een kapotte machine echt geld kost, is de NixOS betrouwbaarheid uitstekend. De adder onder het gras is de leertijd. Als je meteen productief moet zijn en geen week yak shaving kunt missen, is Arch de veiligere gok om te starten.

De vraag die het beslist: hoeveel kost downtime je? Als een kapot systeem een gemiste klantmeeting of een vertraagde deploy betekent, verdient de NixOS leercurve zichzelf terug. Als je het af en toe een uurtje troubleshooten kunt absorberen, wint Arch’s bekendheid. En hier wordt het schone antwoord ingewikkeld: zodra ik de snapshot-en-backup discipline van hierboven had, daalde mijn Arch downtime kost tot bijna NixOS niveau zonder de Nix leertax. Dat is wat me terugkantelde.

Voor persoonlijk gebruik

Hier wisselt de trade-off van teken.

Arch Linux

Voordelen:

  • Prutsen is het doel: Persoonlijke machines zijn om te leren. Arch laat je je systeem begrijpen omdat je het zelf bouwde.
  • Nieuwste alles: Gaming wil de nieuwste Mesa drivers. Creatief werk wil de nieuwste GIMP. Arch heeft ze eerst.
  • De AUR: Die obscure Japanse rhythm game? In de AUR. Die rare hardware tool? AUR. Arch gebruikers packagen alles.
  • Community: De forums en community zijn actief en behulpzaam, zodra je geleerd hebt eerst RTFM te doen.
  • Het is leuk: Er is echte voldoening in het bouwen van een systeem precies zoals jij het wilt.

Nadelen:

  • Alle dezelfde nadelen als professioneel gebruik, maar ze prikken minder op je persoonlijke machine.

NixOS

Voordelen:

  • Home-manager: Declaratieve dotfiles. Je hele gebruikersomgeving in config bestanden.
  • Flakes: Modern Nix met reproduceerbare, composable configuraties.
  • Configs delen: Je NixOS config kan een publieke repo zijn waar anderen van leren en aan bijdragen.
  • Meerdere machines: Zelfde config op laptop en desktop, perfect in sync gehouden.

Nadelen:

  • Minder leuk om te prutsen: Alles gaat via Nix. Je kunt niet gewoon een binary pakken en draaien. Goed voor betrouwbaarheid, ruw op de “probeer het gewoon” jeuk.
  • Gaming is moeilijker: Proton en Steam werken, maar het is meer setup. Lutris en de diverse launchers hebben allemaal Nix wrappers nodig.
  • Het konijnenhol: Je besteedt meer tijd aan het perfectioneren van configuration.nix dan aan het daadwerkelijk gebruiken van de computer.

Het persoonlijke verdict

Voor persoonlijk gebruik prefereer ik Arch, en hier zijn mijn bias en mijn redenering het eens. Het prutsen is de hobby. De lichte instabiliteit is onderdeel van het plezier. Voor gaming en random software verslaat Arch’s flexibiliteit Nix’s puurheid.

Als je dezelfde config gebruikt over meerdere persoonlijke machines, of je wilt dat persoonlijke en werk setups identiek zijn, is het NixOS declaratieve model krachtig genoeg om die afweging te veranderen. Voor mij, met één desktop, doet het dat niet.

Wat ik daadwerkelijk draai

Mijn huidige setup:

  • Werk laptop: Arch met btrfs en snapper. Met snapshot discipline is het rotsvast. Ik krijg bleeding-edge tools zonder op nixpkgs te wachten, en recovery van wat dan ook is minuten weg.
  • Persoonlijke desktop: Ook Arch. Dezelfde setup, dezelfde betrouwbaarheid. Gaming werkt beter dan op NixOS, en de AUR heeft alles.
  • Homelab servers: NixOS. Voor servers is declaratieve config onverslaanbaar. Ik herbouw elke server vanuit git, en de immutable natuur betekent geen drift.

Het patroon is Arch voor interactieve werkstations, NixOS voor servers. Op desktops waardeer ik de bekende Linux ervaring, directe package beschikbaarheid, en de mogelijkheid om dingen te downloaden en te draaien. De instabiliteit is volledig gemitigeerd door snapshots en backups. Op servers waardeer ik reproduceerbaarheid en infrastructuur als code, en servers hebben de bleeding-edge packages of gaming support niet nodig die Arch op een desktop de moeite waard maken.

Praktische overwegingen

Package beschikbaarheid

CategorieArchNixOS
Officiële reposUitstekendUitstekend
Bleeding edgeDezelfde dagDagen tot weken
ProprietaryAUR (makkelijk)Nixpkgs (moeilijker)
Obscure softwareAUR (enorm)Wisselend
Custom packagesPKGBUILD (simpel)Nix derivation (complex)

Systeembeheer

TaakArchNixOS
Package installerenpacman -S pkgConfig bewerken, rebuild
Systeem updatenpacman -Syunixos-rebuild switch --upgrade
RollbackHandmatig of btrfs snapshotsIngebouwd, boot menu
Oude packages opruimenpacman -Scnix-collect-garbage
Geïnstalleerd bekijkenpacman -Qnixos-option of config lezen

Development workflows

WorkflowArchNixOS
Project dependenciesHandmatig of asdf/misenix-shell, devenv, flakes
Conflicterende versiesContainers of handmatigNative isolatie per-project
Environments delenDockerfilesflake.nix of shell.nix
Reproduceren op CIDockerfileZelfde flake als lokaal

Wie zou wat moeten gebruiken

Kies Arch als:

  • Je Linux diepgaand wilt leren
  • Je eenvoud en transparantie waardeert
  • Je af en toe troubleshooting niet erg vindt
  • Gaming belangrijk is
  • Je de voorkeur geeft aan imperatieve “doe het gewoon” workflows

Kies NixOS als:

  • Betrouwbaarheid kritiek is (werkmachine)
  • Je meerdere machines beheert
  • Je reproduceerbare omgevingen wilt
  • Je van declaratieve configuratie houdt
  • Je bereid bent vooraf leertijd te investeren

Kies beide als:

  • Je meerdere machines hebt met verschillende doeleinden
  • Je stabiliteit voor werk wilt en vrijheid voor persoonlijk

Waar ik uitkwam

Er is geen universeel antwoord, en ik ben op beide tevreden geweest om verschillende redenen.

Arch leerde me hoe Linux werkt. Elk component, elk config bestand, elke service, ik begreep het omdat ik het zelf moest opzetten. NixOS leerde me declaratief te denken, met elke wijziging gedocumenteerd, elke state reproduceerbaar, elk experiment omkeerbaar. Beide lessen bleven hangen.

Degene die mijn werkstationkeuze veranderde was simpeler: Arch’s instabiliteit is oplosbaar met goede practices. De mensen die klagen dat Arch constant breekt zijn meestal degenen die het zonder snapshots draaien, zonder backups, zonder een recovery plan. Geef het goede infrastructuur en het is net zo betrouwbaar als wat dan ook, met als bonus bleeding-edge packages en bekende tooling.

Kinderen gaven me minder tijd om te prutsen, maar het antwoord was niet om alles naar NixOS te verplaatsen. Het was om slimmer te worden over recovery. Snapshots, dotfiles in git, package lists en backups zijn de dingen die de rolling-release angst laten verdwijnen.

Als je naar Arch lonkt maar bezorgd bent over stabiliteit, bouw eerst de recovery infrastructuur. Btrfs en snapper kosten een middag om op te zetten en zullen je ontelbare uren besparen. Update daarna zonder angst. En voor servers, NixOS all the way: het declaratieve model is precies wat infrastructuur die reproduceerbaar en drift-vrij moet zijn wil.


Beide communities zijn uitstekend, beide distributies worden actief onderhouden, en je kunt eigenlijk niet verkeerd kiezen. De beste Linux distro is degene die je daadwerkelijk gebruikt en onderhoudt, met goede backups.