Omniflake: Ein einziger Nix-Flake für fast 12.000 Flakes

One Nix flake to rule them all

Omniflake: Ein einziger Nix-Flake für fast 12.000 Flakes

Omniflake bündelt fast 12.000 Nix-Flakes in einem einzigen Input. Statt für jedes Projekt einen eigenen Flake hinzuzufügen, greift man einfach auf omniflake.flakes.<name> zu. Möglich macht das die Lazy Evaluation von Nix: Nur die tatsächlich benötigten Flakes werden geladen. Der Autor erklärt, wie er die zugrunde liegende Performance-Problematik (quadratische Laufzeit beim Locken) durch einen Patch an Nix behoben hat und wie sein Ansatz funktioniert, ohne die Flakes als Inputs zu deklarieren.

Ich liebe die Idee der Föderation, aber ich möchte die Einfachheit der Zentralisierung.
  1. jchw

    Ich bin mir nicht ganz sicher, ob das an sich eine gute Idee ist, aber verdammt, was wäre der Sinn daran, alles ordentlich lazy zu machen, wenn man es nicht könnte. Ich persönlich verwende für große Systemkonfigurationen routinemäßig 20–30 Flake-Inputs und das hat mich noch nie wirklich gestört. Die einzige echte Sorge, die ich habe, ist, dass das Überschreiben von Nixpkgs, um Duplikate zu vermeiden, gelegentlich kaputtgehen kann, da die Abhängigkeit möglicherweise nicht für das neueste Nixpkgs bereit ist, aber das hat mich bisher nur mit nix-vim getroffen, das meiner Meinung nach sowieso in irgendeiner Form in Nixpkgs sein sollte (obwohl ich es schon eine Weile nicht mehr benutzt habe, also bin ich mir nicht sicher, wie der Status ist). Weil ich es muss, habe ich gesucht und festgestellt, dass mindestens einer meiner Flakes dort enthalten ist, nix-binary-ninja, ein Nix-Flake für den proprietären Disassembler/Dekompiler Binary Ninja. Nett. (Übrigens, obwohl ich das nutze, bin ich nicht sicher, ob ich es tatsächlich empfehle; es macht grobe Dinge, um binja zu zwingen, Systembibliotheken für eine bessere Integration zu verwenden, was gerade einige Erweiterungen kaputt macht. Na ja...)

  2. AyanamiKaine

    Wow, das sieht richtig cool aus! Ich werde es auf jeden Fall ausprobieren! Wenn mich etwas nervt, dann ist es immer die Jagd nach der einen gemeinsamen Bibliothek, zum Beispiel wenn man etwas mit SDL3 und seiner GPU-API entwickelt.

  3. digdugdirk

    Das ist großartig und zeigt die unterhaltsame großartig/schreckliche Erfahrung mit der Nutzung von NixOS. Außerdem ist dieser Autor in letzter Zeit auf einer Erfolgswelle! So viele interessante Artikel, ich habe keine Ahnung, wie sie es schaffen, ihr technisches Schreiben mit der Moderation einer regelmäßigen Politiksendung bei CNN unter einen Hut zu bringen.

Mehr von diesem Tag

2026-08-30