+ Fossil is a snapshot-based software configuration management, bug tracking system, & wiki software server all rolled into one self-hostable unit. +At the time of writing, Nix flakes does not & cannot support Fossil input pinning requiring an input pinner like Nixtamal to automate it. +
++ How to pin a Fossil repository with Nix + Nixtamal +
++ What better way to test our Fossil support than download Fossil itself? +
++ Latest check-in on trunk +
+// manifest.kdl +inputs { + fossil-src { + fossil { + repository "https://fossil-scm.org/home" + branch trunk + } + // Since this is just a canary, we can kinda use cURL⦠it seems + // Fossil is trying to really put up guards/honeypots, but we are + // actually trying to save them unnecessary fetches. :( In this case + // we use htmlq to echo an entire table row as the fresh value since + // without putting in a fake user agent & looking for + trimming + // data-href we canât get the real, full check-in ID. The JSON API + // seems to be disabled as well. + fresh-cmd { + $ curl -sL "https://fossil-scm.org/home/info/trunk" + | htmlq -t -w "table.timelineTable tr.timelineDateRow:first-of-type + tr" + } + } +}+