Bugs / To-Do Nix should automatically remove Berkeley DB logfiles. Unify the concepts of successors and substitutes into a general notion of equivalent expressions. Expressions are equivalent if they have the same target paths with the same identifiers. However, even though they are functionally equivalent, they may differ stronly with respect to their performance characteristics. For example, realising a slice is more efficient that realising the derivation from which that slice was produced. On the other hand, distributing sources may be more efficient (storage- or bandwidth-wise) than distributing binaries. So we need to be able to attach weigths or priorities or performance annotations to expressions; Nix can then choose the most efficient expression dependent on the context. 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.