Ik heb de Linux-appstore gevonden waar niemand het over heeft en het heeft meer pakketten dan Flathub
Flathub is verreweg een van de meest populaire appstores die je op Linux zult vinden, met beweringen dat het misschien het beste van Linux is. Het is overzichtelijk, het is eenvoudig, en het werkt op vrijwel elke distro die je zult vinden. Je vindt er ruim 2.800 apps, honderden miljoenen keren gedownload. Dat zijn geweldige cijfers voor elke appstore, maar ze maken het niet per se beter.
Omdat in de wereld van Linux geen enkel programma of platform per se beter is dan zijn concurrenten. En wanneer je pakketbeheerders vergelijkt, kan Nixpkgs het veld gemakkelijk overtreffen met zijn meer dan 140.000 softwarepakketten.
De grootste Linux-appwinkel die je nog nooit hebt gebruikt
Wat Nixpkgs is en waarom het aantal pakketten absurd is
Nixpkgs is de grootste repository van Nix-pakketten en NixOS-modules, gehost op GitHub en onderhouden door een mondiale open-source gemeenschap met ondersteuning van de NixOS Foundation. Het lijkt minder op een app store en meer op een enorm, door de gemeenschap samengestelde receptenboek. Elke vermelding is geen vooraf verpakte binaire in een eigen geïsoleerde sandbox—het is een reproduceerbare set instructies voor het bouwen van een stuk software uit de broncode, waarbij elke afhankelijkheid, elke build-vlag en elke vereiste patch wordt beschreven.
De NixOS 250.05-release heeft alleen al 7.840 nieuwe pakketten toegevoegd, 28.054 bestaande bijgewerkt en 1.694 verouderde vermeldingen verwijderd om de collectie schoon, bijgewerkt en veilig te houden. Het is het soort onderhoudstempo waar de meeste projecten alleen maar van kunnen dromen. Nixpkgs is een van de grootste en meest bijgewerkte pakketrepositories die je ooit zult vinden.
De meeste Linux-gebruikers horen er nooit over
Waarom Nix’ ecosysteem verrassend niche blijft
De belangrijkste reden waarom je nog nooit van Nixpkgs hebt gehoord, vooral tijdens vergelijkingen van package managers, is dat het in een volledig ander deel van de Linux-wereld leeft: NixOS. NixOS is een Linux-distributie die volledig is gebouwd rond de Nix package manager en het declaratieve configuratiemodel ervan. Als je NixOS nog nooit hebt gebruikt, ben je waarschijnlijk ook nooit Nixpkgs tegengekomen. Flathub daarentegen werkt op vrijwel elke Linux-distributie die je vandaag kunt downloaden met één enkele opdracht.
Er is ook de leercurve. NixOS dwong me om mijn besturingssysteem te declareren in plaats van het te bouwen, en dat is een fundamenteel verschil in hoe we computers gebruiken. Nix gebruikt ook zijn eigen configuratie-instellingen om pakketten en systeemenstanden te definiëren. Vergeleken met het klikken op installeren op een Flathub-pagina, is het schrijven van een Nix-expressie veel ingewikkelder, om nog maar te zwijgen van het feit dat het alleen compatibel is met de terminal.
Dit introduceert een hoop frictie bij het onboarden van nieuwe gebruikers, waarbij ze hun volledige begrip moeten veranderen van hoe apps op hun systemen installeren en werken. De opbrengst is echter enorm. In ruil voor de aanvankelijke complexiteit krijg je volledig reproduceerbare omgevingen, atomische upgrades, moeiteloze terugdraaiingen en de mogelijkheid om meerdere versies van dezelfde software te draaien zonder afhankelijkheidsconflicten. Zodra de Nix-manier van werken voor jou klik maakt, is het moeilijk om terug te gaan.
Je hebt NixOS niet nodig om ervan te profiteren
Nix-pakketten naar vrijwel elke Linux-distributie brengen
Als je het idee van Nixpkgs leuk vindt maar niet wilt overstappen op NixOS om het te gebruiken, hoef je dat niet te doen. Je kunt de Nix package manager op elke Linux-distributie installeren, net zoals Flathub. Eén curl-commando zorgt dat Nix op je systeem draait, en vanaf daar kun je pakketten installeren zonder dat ze ooit je systeem's native package manager aanraken. Alles bevindt zich in /nix/store, volledig geïsoleerd, dus er is geen enkel conflict met apt of andere package managers.
curl --proto '=https' --tlsv1.2 -L https://nixos.org/nix/install --daemonDe betere manier om dit te doen, is echter het gebruik van Home Manager, een hulpmiddel waarmee je je gebruikersomgeving declaratief kunt beheren met Nix op elk Linux-systeem. Je geeft aan wat je wilt—pakketten, dotfiles, omgevingsvariabelen—en Home Manager bouwt het. Je kunt ook een tijdelijke shell openen met elk pakket dat je nodig hebt met nix shell nixpkgs#package-name, het testen, en weer afsluiten zonder je systeem te rommelen.
Het aantal pakketten is niet het echte verhaal
Reproduceerbaarheid en consistentie zijn de werkelijke voordelen
De omvang van Nixpkgs is indrukwekkend, maar het echte voordeel is niet het aantal pakketten dat je krijgt. Omdat elk pakket is gedefinieerd in dezelfde gemeenschappelijke Nix-taal, kan elke bijdrager elk pakket bekijken en bijwerken, zelfs degene die ze zelf niet onderhouden. Daarom schaalt de repository zoals hij dat doet. Er zijn duizenden bijdragers die de meer dan 140.000 pakketten actueel houden. Geen enkel ander Linux-pakketecosysteem komt in de buurt.
En omdat Nix pakketten volledig geïsoleerd bouwt, waarbij een unieke hash wordt berekend van elke afhankelijkheid, bronbestand en bouwinstructie, kan het installeren of upgraden van één pakket letterlijk niets van een ander pakket breken. Dat is een garantie die de meeste pakketbeheerders niet kunnen geven. Je krijgt ook ingebouwde terugdraaiingen op elk niveau, zodat als een upgrade iets breekt, teruggaan slechts één commando is in plaats van het herstellen van een back-up.
Flathub is een prima app store, en het zal blijven doen waar het goed in is. Maar als je de werkelijke breedte van Linux-software op één plek wilt—obsessievelijk onderhouden, constant bijgewerkt en beschikbaar op je huidige distributie—dan is Nixpkgs de weg om te gaan. Het kan in het begin lastig zijn om te gebruiken, maar het legt de wereld van Linux-software binnen handbereik, zonder enige van de problemen.







