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