Ergonomic overrides for Nixpkgs

I had not! Thanks for pointing that out. Yeah, it’s very similar :sweat_smile:

From taking a quick look, the main differences that I can see are:

  • infuse.nix lets you add your own setters (what he calls “sugars”) whereas override-utils currently requires them to be built in
  • relatedly, override-utils setters don’t need to be prefixed with __ (they are treated as reserved attributes)
  • override-utils is available as both as a flake input and a default.nix (infuse.nix only provides a default.nix)
  • override-utils supports descending into lists (using "*”) or specific list indices (e.g. "0” to modify only the first element of a list)
  • infuse.nix uses _: to mark where auto-merge stops whereas override-utils uses set
  • override-utils has (in my opinion) a simpler and more elegant implementation
  • override-utils has (in my opinion) better error messages

I also just updated the post to mention infuse.nix

2 Likes