[Haskell-cafe] [ANN] nix-freeze-tree-0.1.0.0 - Freeze a tree using fixed-output derivations

I have just pushed an initial release of nix-freeze-tree[1] to Hackage. `nix-freeze-tree` is a utility that walks a directory tree, and writes out Nix expressions which rebuild that tree. The generated expressions have two important properties: 1. Each file in the tree is built by a separate fixed-output derivation, and 2. Directories are built by derivations that symlink their contents recursively. If you are using `nix copy` to ship a derivation between nix stores, copying the derivation built by evaluating the output of `nix-freeze-tree` can reuse existing files in the destination store, as fixed-output derivations can be checked against a hash before copying. I use this to speed up deploys to my personal website. Running `nix-freeze-tree` on the output from my site generator and importing the result means that `nix copy` only uploads new files, instead of copying a single giant derivation containing every image on the site. The code is on Sourcehut[2]; bug reports[3] and patches[4] are welcome. The repository also has a Nix helper function for running the tool on your own derivations. Best, -- Jack [1]: https://hackage.haskell.org/package/nix-freeze-tree-0.1.0.0 [2]: https://git.sr.ht/~jack/nix-freeze-tree/ [3]: https://todo.sr.ht/~jack/nix-freeze-tree [4]: https://lists.sr.ht/~jack/nix-freeze-tree-discuss