let
  lock = builtins.fromJSON (builtins.readFile ../flake.lock);
  # we use lix's flake-compat fork here to "lazify" the flake inputs
  node = lock.nodes.root.inputs.__flake-compat;
  inherit (lock.nodes.${node}.locked) narHash rev url;
  flake-compat = builtins.fetchTarball {
    url = "${url}/archive/${rev}.tar.gz";
    sha256 = narHash;
  };
  flake = import flake-compat {
    src = ../.;
    # these options prevent eager store copies
    copySourceTreeToStore = false;
    useBuiltinsFetchTree = true;
  };
in
flake.inputs
