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" } } }