Bugs / To-Do The man-pages generated from the DocBook documentation are ugly. Generations properly form a tree. E.g., if after switching to generation 39, we perform an installation action, a generation 43 is created which is a descendant of 39, not 42. So a rollback from 43 ought to go back to 39. This is not currently implemented; generations form a linear sequence. Build management. In principle it is already possible to do build management using Nix (by writing builders that perform appropriate build steps), but the Nix expression language is not yet powerful enough to make this pleasant (?). The language should be extended with features from the Maak build manager. Another interesting idea is to write a make implementation that uses Nix as a back-end to support legacy build files. For security, nix-push manifests should be digitally signed, and nix-pull should verify the signatures. The actual NAR archives in the cache do not need to be signed, since the manifest contains cryptographic hashes of these files (and fetchurl.nix checks them). It would be useful to have an option in nix-env --delete-generations to remove non-current generations older than a certain age. There should be a flexible way to change the user environment builder. Currently, you have to replace prefix/share/nix/corepkgs/buildenv/builder.pl, which is hard-coded into nix-env. Also, the default builder should be more powerful. For instance, there should be some way to specify priorities to resolve collisions.