+

+ GitHub is a U.S.-based closed-source, proprietary Git forge & social media platform owned by Microsoft. +There is a gratis tier for repositories (terms apply). +When you write an input of this kind, you will substitute the owner & project slugs. +

+
+

+ How to pin a Micosoft GitHub repository with Nix + Nixtamal +

+

+ Let’s show the way using the Movim repository. +When you do this, you will substitute the owner & project slugs. +In most cases, you will want to prefer fetching the archive (Microsoft GitHub supports gzip) over the Git input kind. +git ls-remote is preferred by us for being more generic & anecdotally having less issues with throttling. +

+

+ Latest revision +

+
// manifest.kdl
+inputs {
+	movim {
+		archive {
+			url "https://github.com/movim/movim/archive/{{fresh-value}}.tar.gz"
+		}
+	}
+	fresh-cmd {
+		$ git ls-remote --heads "https://github.com/movim/movim.git"
+		| cut -f1
+	}
+}
+

+ Latest release tag +

+
// manifest.kdl
+inputs {
+	movim {
+		archive {
+			url "https://github.com/movim/movim/archive/{{fresh-value}}.tar.gz"
+		}
+	}
+	fresh-cmd {
+		$ git ls-remote --tags --sort=v:refname "https://github.com/movim/movim.git"
+		| grep -E "'refs/tags/v([0-9]+\\.)+[0-9]+$'"
+		| tail -n1
+		| sed "'s|.*refs/tags/||'"
+	}
+}
+
+