Actually, this problem disclosed a real issue. We have passwordFile options in many modules, and looks like when someone uses “path” for passwordFile, it get’s copied to /nix/store:
This is often desirable to reduce statefulness. It’s a tradeoff of course, but one that should remain an option IMHO. What would be nice though is having a better way to distinguish “copied-to-store” paths and “verbatim” paths than quotes.
@lheckemann This isn’t desirable for passwordFile-style options and stateDir. So probably we have to make a separate option type for those ones. types.mutablePath sounds ok? It is always possible to convert to immutable store path with builtins.toFile "bla" and builtins.filterSource (_: _: true)