* Scroll conventions ** Deno Each Deno scroll: - is an immediate subdirectory of ~./deno~ - contains a Deno lockfile Unless you're trying to shoot yourself or downstream dep maintainers in the foot. - contains a ~scroll.nix~ file - does not use JSR dependencies They have heavily timestamped metadata and therefore do not support reproducible builds. - can use NPM dependencies *** scroll.nix - ~name~ - ~build~ + ~cacheCommand~ The cache command triggers Deno cache build, putting cache in ~$DENO_DIR~. + ~hashFiles~ These files are hashed to determine if the cache will be updated. In that case a new entry needs to be added in knownHashes. + ~knownHashes~ An object that maps ~hashFiles~ hashes to this scroll's incremental cache derivation's hash. The starting value is just ~{}~, see build logs to determine what needs to be added. All scrolls currently are to use the same Deno version defined by the flake. Scrolls are automatically discovered by scanning subdirectories of ~./deno~ for those containing a ~scroll.nix~ file. Directories without ~scroll.nix~ will generate warnings during build.