I enjoy that they supply a nix install/environment, similar to the main tailscale/tailscale repo. Is nix widespread or the standard dev environment at tailscale, or is it like a 10% option and most people just use Docker or whatever?
A lot of them, instead of learning the usual linuxii you'll be using in containers at work dive headfirst into nix.
And it might be because it is easy to provide and maintain compared to a .deb package.
By "infinite branches" you probably mean that a nix derivation / flake is a recipe that can build any version of the project?
nix run github:tailscale/tailcat
Gets you the default branch. Tailcat doesn't yet have any tags, but if you want a build of the main tailscale repo at a particular tag, it's just: nix build github:tailscale/tailscale/v1.102.3
But because this can be any ref, you can specify an arbitrary branch or tag, so like if you're trying to get a colleague to check out your work it's as easy as: nix run github:tailscale/tailcat/my-fancy-branch
And obviously a flake can reference other flakes with the same flexibility, so your home manager config or your company's private app flakes can transparently pull the not-yet-merged version of a change you're proposing upstream without having to make special internal "patched" releases with tortured 1.2.3~actually.1.4.6 type version numbers like in Debian. And of course that same flake reference policy applies all the way down, so you also don't need to worry about the private apt repo as a big piece of shared state that's going rev forward and break your older code branches or Dockerfiles, since each branch of your app flake has its own flake.nix and accompanying lockfile controlling which deps it is pinned to.It really is an awfully nice system, and shockingly modern in its sensibilities considering how old the Nix fundamentals are.