External Publication
Visit Post

[ANN] A piece of flake nix repository

Haskell Community [Unofficial] March 20, 2026
Source
Jappie: > Why is nixpkgs being big is a problem, github eats the hosting cost after all. Why do we care how much MS has to pay for it? I keep a nixkpgs git repo on my PC and I noticed that GH just throttles download speed to 0 in case of pulling changes after long period. So I had to setup a “cron job” to pull changes every night. It is terrible for doing occasional contributions. From a user perspective fetching a nixpkgs snapshot in form of a tar file takes lot of traffic and time. I have to worry about minimizing number of roots and keep in sync nixpkgs across my projects. To mitigate loads of PRs - nix discourse has the endless thread for asking help with merging PRs. Repo size is not only a problem by itself, but a sign that flakes are not working well. It is like having a repo with /etc/hosts for the whole world instead of DNS. Central repo at early stages helped nix to consolidate efforts, but it is an obstacle on the way to mainstream technology. Mandatory PR make nixkpkgs less inclusive than it could be. Pet projects are grass root. Jappie: > How flake solve the issues with nixpkgs being big? as far as I can tell, every flake I’ve seen uses nixpkgs. You’d need some way to bootsrap a nix ecosystem without nixpkgs. An indexing site doesn’t do this (although it may help with discoverability) Flakes can reference other flakes. Nixpkgs is just a flake, but a very big one. So e.g. a flake of a Haskell program could reference just a flake with Haskell packages instead of the whole nixpkgs. Jappie: > How flakes compose? As far as I can tell they don’t. An example of flake composition would be nice. Composition is the fundemental problem you need to solve to split up a big thing (nixpkgs) into smaller parts. Flakes are pure functions with default arguments. Flake can override an argument of a flake it depends on. The composition problem for flakes is there not much reusable flakes and there is no convenient mechanism for flake discovery and the wheel has turned full circle.

Discussion in the ATmosphere

Loading comments...