2024-08-21 Nix team meeting minutes #171

On “packages”: Discussions like this one remind me of how everything is still awfully conditioned to think in terms of files, and, by extension derivations.

Apart from maybe performance considerations and backwards compatibility or migration costs, nothing in principle prevents us from thinking of a package as a language-level data structure with some fields being derivations — instead of vice versa as it currently stands. We’re free to design that data structure and the interactions with it as needed for building a software distribution or an operating system. There’s no need to constrain oneself by whatever incidental or conventional file-system-level peculiarities shipped with the software we’re packaging.

Nothing forces us to think that a package without a derivation is in any sense “fake”.