# Danish Road Traffic Authority switches from Microsoft to Linux

**URL:** https://discourse.nixos.org/t/danish-road-traffic-authority-switches-from-microsoft-to-linux/74117
**Category:** Announcements
**Created:** [January 9, 2026, 9:22pm UTC](https://discourse.nixos.org/t/danish-road-traffic-authority-switches-from-microsoft-to-linux/74117 "2026-01-09T21:22:41Z")
**Posts on this page:** 9
**Page:** 2

<div class="post-metadata">

### Author: ![twoolie](https://discourse.nixos.org/user_avatar/discourse.nixos.org/twoolie/32/2544_2.png) [@twoolie](https://discourse.nixos.org/u/twoolie)
#### Post date: [February 9, 2026, 1:36am UTC](https://discourse.nixos.org/t/danish-road-traffic-authority-switches-from-microsoft-to-linux/74117/21 "2026-02-09T01:36:41Z")

</div>

> [@TLATER](#):
>
> I think AWS backing hydra is way bigger of a risk. Without hydra neither the channels nor binaries get produced, _nor_ do we cache third party repos, and the load on hydra is even larger than GitHub.

I’ll bet a lot of us are sitting on under-utilized computing resources. Should we be looking for ways for community members to donate build services? We could have a policy where multiple systems build the package, and it is only accepted if all agree on the build output hash?

> [@7c6f434c](#):
>
> cache is what needs actual migration and has historical sources that are not always easy to find again now.

Is there a mechanism to replicate just historical sources into long-term/durable storage?

---

<div class="post-metadata">

### Author: ![peterc-s](https://discourse.nixos.org/letter_avatar_proxy/v4/letter/p/43a26b/32.png) [@peterc-s](https://discourse.nixos.org/u/peterc-s)
#### Post date: [February 9, 2026, 8:43am UTC](https://discourse.nixos.org/t/danish-road-traffic-authority-switches-from-microsoft-to-linux/74117/23 "2026-02-09T08:43:47Z")

</div>

> [@TLATER](#):
>
> Just because people have been writing `github:` in their flakes doesn’t mean alternatives don’t exist.

I would like to know where these alternatives live and how to use them, is it documented anywhere? Is it possible to set a mirror up as a fallback?

> [@TLATER](#):
>
> but I think people are just more aware of that risk (and I think it is already mitigated significantly better).

I certainly didn’t know Hydra was backed by AWS. With all the talk about tech sovereignty recently, this does not inspire confidence. I only originally pointed out GitHub because the irony in the title.

> [@twoolie](#):
>
> Should we be looking for ways for community members to donate build services? We could have a policy where multiple systems build the package, and it is only accepted if all agree on the build output hash?

Doing majority voting on builds when I’m not certain enough people would volunteer compute to replace Hydra would probably be less than ideal. I also don’t know what Hydra costs nor how much it would cost with another provider (+ all the work associated with migration), but swapping providers would probably be the better solution.

---

<div class="post-metadata">

### Author: ![TLATER](https://discourse.nixos.org/user_avatar/discourse.nixos.org/tlater/32/4257_2.png) [@TLATER](https://discourse.nixos.org/u/TLATER)
#### Post date: [February 9, 2026, 10:38am UTC](https://discourse.nixos.org/t/danish-road-traffic-authority-switches-from-microsoft-to-linux/74117/24 "2026-02-09T10:38:53Z")

</div>

> [@peterc-s](#):
>
> I would like to know where these alternatives live and how to use them, is it documented anywhere?

You can use any of the protocols defined by the flake [types](https://nix.dev/manual/nix/2.33/command-ref/new-cli/nix3-flake.html#types). Only one of them is `github`.

In the context of nixpkgs, technically I would say that there currently are no official mirrors. The only official source are the channel tarballs, which live under `https://channels.nixos.org/$channel/nixexprs.tar.xz`.

If you use channels, you already know how to use this (and your system is set to use it by default). If you use flakes, just replace your `github:` URL with that `https` URL.

When flakes entered the scene, the github repo was used as a crutch because at the time there was no reasonable way to update tarballs. Nix got the [lockable tarball](https://nix.dev/manual/nix/2.33/protocols/tarball-fetcher#lockable-http-tarball-protocol) protocol since, though, so now we can use the tarballs that hydra produces again.

These tarballs in fact contain a bit of extra data that you cannot get from the branches, and the branches are only moved ahead for development reasons after the tarballs are successfully published.

So, the GitHub branches have organically grown to become “mirrors” that don’t actually properly mirror the tarballs. It isn’t their _intended_ use, they’ve just been abused for this for so long that that has been forgotten.

That said, unofficial mirrors do exist. There’s a [university in China](https://mirrors.ustc.edu.cn/help/nix-channels.html) that runs one, for example (though I don’t know if it implements the lockable tarball protocol yet), and [detsys’ flakehub](https://flakehub.com/) also contains one.

IMO if our goal is to further derisk our use of GitHub as a platform, we should just aggressively update all documentation that we can reasonably update, and generally spread awareness of this mis-practice.

> [@sshine](#):
>
> It mentions half a dozen examples, nixpkgs being one

I’d also like to add that, for this precise reason, that article is inaccurate. I agree with the general premise, but the author is clearly _also_ under the false impression that nixpkgs uses git for versioning.

There are proper, detached versions, which are published via CI jobs. For historic reasons the community has just started using an experimental feature which didn’t use the proper distribution method at one point, and instead explicitly clones the git repo.

Now doc/usage lag (note that the _nixpkgs_ manual, against which the complaint is levied, says nothing about how to use it with flakes, with a single exception that clearly snuck in accidentally) means that few people are even aware that this isn’t the intended way to use nixpkgs.

Also, to be completely fair, nixpkgs is a Linux distro. Distro versioning is very different from project versioning. Including nixpkgs in this article just doesn’t make sense to me.

---

<div class="post-metadata">

### Author: ![peterc-s](https://discourse.nixos.org/letter_avatar_proxy/v4/letter/p/43a26b/32.png) [@peterc-s](https://discourse.nixos.org/u/peterc-s)
#### Post date: [February 9, 2026, 2:33pm UTC](https://discourse.nixos.org/t/danish-road-traffic-authority-switches-from-microsoft-to-linux/74117/25 "2026-02-09T14:33:16Z")

</div>

> [@TLATER](#):
>
> IMO if our goal is to further derisk our use of GitHub as a platform, we should just aggressively update all documentation that we can reasonably update, and generally spread awareness of this mis-practice.

Someone really needs to update [the wiki](https://wiki.nixos.org/wiki/Flakes) if using the channel tarballs is the better option…

I’m sure a lot of the people installing NixOS or using Nix come from YouTube or similar. Being one of those people, I saw this in basically every video.

It might also come from the [flake templates](https://github.com/NixOS/templates/blob/2557dc639215476df149ae6842a1ae94d60a884c/trivial/flake.nix) which also use `github:`, if it is good practice to use the tarballs, it may be worth a PR?

RE: derisk use of GitHub: how is `https://channels.nixos.org/$channel/nixexprs.tar.xz` hosted? Is it reliant on AWS like Hydra?

---

<div class="post-metadata">

### Author: ![sshine](https://discourse.nixos.org/user_avatar/discourse.nixos.org/sshine/32/26806_2.png) [@sshine](https://discourse.nixos.org/u/sshine)
#### Post date: [February 9, 2026, 3:40pm UTC](https://discourse.nixos.org/t/danish-road-traffic-authority-switches-from-microsoft-to-linux/74117/26 "2026-02-09T15:40:27Z")

</div>

> [@TLATER](#):
>
> IMO if our goal is to further derisk our use of GitHub as a platform, we should just aggressively update all documentation that we can reasonably update, and generally spread awareness of this mis-practice.

> [@peterc-s](#):
>
> if it is good practice to use the tarballs, it may be worth a PR

Sounds like a well-defined documentation task. I’ll create a tracking issue.

---

<div class="post-metadata">

### Author: ![peterc-s](https://discourse.nixos.org/letter_avatar_proxy/v4/letter/p/43a26b/32.png) [@peterc-s](https://discourse.nixos.org/u/peterc-s)
#### Post date: [February 9, 2026, 4:12pm UTC](https://discourse.nixos.org/t/danish-road-traffic-authority-switches-from-microsoft-to-linux/74117/27 "2026-02-09T16:12:54Z")

</div>

> [@sshine](#):
>
> Sounds like a well-defined documentation task. I’ll create a tracking issue.

I will also note, the flake registry maps `nixpkgs` to `github:nixos/nixpkgs/nixpkgs-unstable` (at least according to the [README](https://github.com/NixOS/flake-registry?tab=readme-ov-file), I can’t load the `flake-registry.json` because GitHub is borked?).

edit: cloned and checked `flake-registry.json` and the README is correct.

edit 2: also looks like the templates repo hasn’t been updated in a few months and there are outstanding issues from a few years ago.

---

<div class="post-metadata">

### Author: ![cafkafk](https://discourse.nixos.org/user_avatar/discourse.nixos.org/cafkafk/32/32427_2.png) [@cafkafk](https://discourse.nixos.org/u/cafkafk)
#### Post date: [February 9, 2026, 6:24pm UTC](https://discourse.nixos.org/t/danish-road-traffic-authority-switches-from-microsoft-to-linux/74117/28 "2026-02-09T18:24:37Z")

</div>

> [@7c6f434c](#):
>
> It seems untenable to do any non-negligible amount of development work on Nixpkgs without a private clone of all the main branches!

Note clone != mirror in this context, as a local clone doesn’t automatically pull from [GitHub - NixOS/nixpkgs: Nix Packages collection & NixOS](https://github.com/nixos/nixpkgs) every some minutes like [forgejo repository mirrors](https://forgejo.org/docs/next/user/repo-mirror/) do.

And likewise, the common pattern of having a GitHub fork of nixpkgs that automatically pulls does serve as a mirrored repository, but doesn’t provide any redundancy against GitHub!

---

<div class="post-metadata">

### Author: ![arianvp](https://discourse.nixos.org/user_avatar/discourse.nixos.org/arianvp/32/602_2.png) [@arianvp](https://discourse.nixos.org/u/arianvp)
#### Post date: [February 9, 2026, 6:37pm UTC](https://discourse.nixos.org/t/danish-road-traffic-authority-switches-from-microsoft-to-linux/74117/29 "2026-02-09T18:37:34Z")

</div>

Hosted on AWS S3, Frontend by Fastly.

---

<div class="post-metadata">

### Author: ![7c6f434c](https://discourse.nixos.org/letter_avatar_proxy/v4/letter/7/8e7dd6/32.png) [@7c6f434c](https://discourse.nixos.org/u/7c6f434c)
#### Post date: [February 9, 2026, 7:11pm UTC](https://discourse.nixos.org/t/danish-road-traffic-authority-switches-from-microsoft-to-linux/74117/30 "2026-02-09T19:11:06Z")

</div>

> [@cafkafk](#):
>
> local clone doesn’t automatically pull from Nixpkgs every some minutes

You are right, I simply perceive «git remote update approximately daily» as a lower-quality code mirror (and in a pinch a few of those would be enough to bound the losses), but of course mirrors tracking more closely are better as mirrors.

[Previous page](https://discourse.nixos.org/t/danish-road-traffic-authority-switches-from-microsoft-to-linux/74117.md?page=1)
