# this wraps import to override readFile and readDir to trace the files it touches # technique inspired by lorri let global = { import = global.scopedImport { }; scopedImport = x: builtins.scopedImport (global // x); builtins = builtins // { inherit (global) import scopedImport; readFile = path: builtins.trace "depot-scan '${toString path}'" (builtins.readFile path); readDir = path: builtins.trace "depot-scan '${toString path}'" (builtins.readDir path); }; }; in global.import