about summary refs log tree commit diff
path: root/users/edef/depot-scan/wrap.nix
blob: dcb557a24b1e8c9647667eb822c3883958bc6b12 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 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