31 Mar 2025

Previous: 24 Mar 2025 Next: 7 Apr 2025
  1. X Wrote Caledonia, a Command-line Calendar Client

  2. X There’s been renewed interest in upstreaming my NixOS depext mechanism for Opam, which creates a Nix environment which Opam manages to provide system dependencies, and was one of the original ideas behind Enki, so I’ve been polishing that up this week.

  3. X I deployed the repology database locally and got some queries working on it. It’s a great data source, and will hopefully be useful in ‘unifying’ packages present in multiple ecosystems using repology’s deduplication rules.

    It doesn’t contain rich metadata for packages, though. It scrapes sources of data for package names and versions (e.g. Opam’s https://opam.ocaml.org/json/stats.json, Nix’s https://channels.nixos.org, and Debian’s https://ftp.debian.org/debian/dists/, through https://github.com/repology/repology-updater/). So it doesn’t have metadata like Opam package authors (nevermind dependency constraints).

  4. X While looking into repology I found their Rust libversion implementation, which could be useful to replace my version implementation, but I’m not sure if it’s

  5. X I read Nix by Hand, which got my thinking about how Enki could interact with the Nix store without going through Nix expressions.

    The Nix ecosystem appears to be experiencing a bit of a cambrian explosion at the moment so this is something to keep an eye on with all the alternative implementations going about. Watch RFC 0134 Carve out a store-only Nix and the Tracking issue for RFC 134. Also see the Haskell Nix Store.`