DEV Community

Cover image for NixOS for government: why the Netherlands is leaving Microsoft

NixOS for government: why the Netherlands is leaving Microsoft

The Dutch government is building its own desktop workplace on NixOS, and the reason it gives is a mailbox. After the US sanctioned the International Criminal Court in The Hague, the court's chief prosecutor reportedly lost his Microsoft email, and the Netherlands concluded that a foreign government can switch its office off. The project is called DAWO, it is public code on Codeberg, and it is the most interesting NixOS deployment I have read about this year, partly because of a comment at the top of its own build file.

TL;DR

  • DAWO ("Digitaal Autonome Werkomgeving Overheid", digitally autonomous workplace for government) is a Dutch government blueprint for a full workplace: operating system, office suite, collaboration apps, cloud services and admin tools, built on NixOS. Tweakers broke the story on September 24.
  • Eight municipalities are piloting it on old laptops the government had already written off, the kind Windows 11 will not install on.
  • The trigger: in May 2025 AP reported, citing court staff, that Microsoft cancelled the ICC prosecutor's email after US sanctions. Microsoft's president Brad Smith says Microsoft never ceased or suspended services to the court.
  • The developers say 80 to 90 percent of the Nix code carries over from one deployment to the next. For a government with thousands of desks, that reuse is the business case.
  • The build file itself admits that every input is still fetched from github.com, which Microsoft has owned since 2018. The plan to mirror them to the government's own forge is written right there in the comment.

What is DAWO, the Dutch government's NixOS workplace?

Tweakers, the Dutch tech site, describes DAWO as the government's own digital workplace "on the basis of the Dutch Linux distribution NixOS." It became official in July, when the ICBR, the interdepartmental committee that runs the civil service's operations, ordered a standardised and more sovereign digital workplace. Three government IT providers, SSC-ICT, DICTU and DUO-ICT, carry it out. The blueprint comes from the Ministry of the Interior and Kingdom Relations (BZK).

The pilots started small. Eight municipalities take part through VNG, the association of Dutch municipalities; back in April 's-Hertogenbosch, Zaanstad, Ede and Amsterdam were already named. The core team behind the shared code, DAWO-Core, is Victor Gevers (an innovation manager at BZK, known from the Dutch Institute for Vulnerability Disclosure), Rutger Putter and Bram Buijs, who runs the VNG pilots.

Two details from the Tweakers piece tell you who this is for. Buijs, who by his own account is "no GUI guy", built a point-and-click admin panel for NixOS so ordinary Windows admins can come along. And Putter's line on the team's attitude: "Wij zijn geen hardliners." We are not hardliners.

The code is public. The main repository is DAWO-Core on Codeberg, with copies on the government forge at code.overheid.nl and on GitHub. It's FOSS and Tom's Hardware relay the Tweakers reporting in English. On Hacker News the first thread about the project passed a thousand points and today's second one is on the front page again.

How the ICC lost its email: the part everyone disputes

In February 2025 the White House sanctioned the International Criminal Court and its chief prosecutor, Karim Khan. According to AP, the order threatens any person or company that gives him "financial, material, or technological support" with fines and prison time.

In May 2025 AP reported that the prosecutor "has lost access to his email," and that "Microsoft, for example, cancelled Khan's email address, forcing the prosecutor to move to Proton Mail, a Swiss email provider, ICC staffers said." Microsoft did not answer AP's request for comment.

Microsoft tells it differently. In June 2025 its president, Brad Smith, told reporters that "at no point did Microsoft cease or suspend its services to the ICC," as reported by Politico Europe and quoted later by The Register. The company also told The Register it is "convinced that nothing impedes our ability to continue providing services to the ICC in the future."

I can't settle who is right about that mailbox, and neither can the Dutch government. What it could settle is its own exposure. Tweakers puts the origin of DAWO in exactly this moment: the concerns flared up in early 2025, when the US imposed targeted sanctions on the court in The Hague. Whoever you believe, a foreign government's order was enough to put a court's email in question, and the court sits in the same city as the ministries that now run DAWO.

Why NixOS? openSUSE out, Fedora out

The team did not start with NixOS. Tweakers reports they tried openSUSE first, then Fedora, and dropped both over ownership. openSUSE is tied to SUSE, which has changed hands before and could be sold again. Fedora is tied to Red Hat, which belongs to IBM. NixOS has no commercial owner, and it happens to be Dutch: Nix started as Eelco Dolstra's research at Utrecht University, written up in his 2006 PhD thesis, The Purely Functional Software Deployment Model.

Ownership got it on the shortlist. The technical reason it stays there is reproducibility.

How NixOS works, explained for Windows admins

On a normal machine, installing software writes files into shared folders. Two laptops that start out identical drift apart after a few weeks of updates and "just this once" fixes.

Nix keeps every package in its own directory in the Nix store. The contents never change after they are built, and the directory is named after a hash of everything that went into the build, so two machines that ask for the same package get the same package. NixOS extends that to the whole operating system: the machine is described in configuration files, the system is built from them, and a bad update can be rolled back to the previous generation.

For DAWO, that means a workplace is a text file. Here is a real module from the repository, modules/programs/chromium.nix, verbatim:

{
  flake.modules.nixos.programs-chromium = {
    programs.chromium = {
      enable = true;
      enablePlasmaBrowserIntegration = true;
    };
  };
}
Enter fullscreen mode Exit fullscreen mode

That is the browser policy for every machine built from this configuration. Copy the file and you have copied the laptop. The office suite is handled the same way: a comment in modules/apps/sets.nix says it is "swappable (libreoffice | collabora) so a deployment can switch with one line."

This is why Putter's number matters. He told Tweakers that eighty to ninety percent of your Nix code is reusable between deployments. A ministry and a municipality can share one core and keep their differences in a few small modules, and an auditor can read what is installed instead of scanning for it. Gevers made a related point to Tweakers with Log4j: when a system is described in code, the list of what is installed where (the software bill of materials) already exists the day the next vulnerable library turns up.

The cost: Nix has its own configuration language and a learning curve that comes up in every Hacker News thread. The GUI admin panel exists because the team knows it.

The comment in DAWO's own build file

Here is the bit that made me laugh. The top of the repository's main build file, flake.nix, opens with this note:

The first lines of DAWO-Core's flake.nix on Codeberg: a sovereignty-roadmap comment saying all inputs are currently fetched from github.com

inputs = {
  # NOTE (sovereignty roadmap): all inputs below are FOSS but currently fetched
  # from github.com. Goal = zero foreign-hosted deps (Dutch digital autonomy) by
  # mirroring these to code.overheid.nl and repinning. 10 dead inputs were pruned
  # (audit); these 15 are load-bearing and next up for the mirror pass.
  nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
Enter fullscreen mode Exit fullscreen mode

GitHub has belonged to Microsoft since 2018. So the Dutch escape from Microsoft currently downloads its ingredients from Microsoft.

To be fair to the team, they found this themselves, wrote it down in public, pruned ten dead inputs, and named the fix: mirror the remaining fifteen to the government's own forge and repin. Most companies could not list their foreign-hosted build dependencies at all.

Linux desktops in European government: Munich, Schleswig-Holstein and the ICC

The cynical reply is Munich, and a commenter on today's HN thread made it: after the next election, "the future government will roll back to Windows at twice the previous cost, which is exactly what happened in Munich." Munich did return to Windows in 2020 after years on Linux, as The Register recounts.

This time the Dutch have company. According to the same Register piece, the German state of Schleswig-Holstein moved 40,000 accounts off Microsoft to Linux and LibreOffice, and the ICC itself confirmed it is moving to openDesk, a German open-source office suite. It's FOSS adds that in France about 80,000 health insurance employees are already moving, and Tom's Hardware lists Germany, Denmark and France as making similar moves.

On timing, the sources disagree. Tom's Hardware says the first stable release is expected by the end of 2027. Tweakers, the original source, says there is no formal timeline and the developers hope for version 1.0 "sometime next year." Gevers still told Tweakers that 2027 will be the year of Linux on the desktop, a prophecy with an excellent track record of being next year.

Also in this episode

Firebase crashed iPhone apps from the server side. On Monday evening, California time, Firebase served a bad config and iOS apps using the SDK crashed less than a second after fetching it, including builds that had already shipped. The GitHub issue collected over a thousand reactions; the Firebase team rolled the change back in under two hours and marked it fully resolved at 23:52 Pacific. Gergely Orosz called it amateur. The line I keep is from the HN thread: "pinning versions doesn't save you when the config comes from their server." Same lesson as DAWO, smaller scale.

Gergely Orosz's post about the Firebase iOS SDK crashing apps

London's face-scanning trial: half a million faces, one alert, wrong person. A six-month British Transport Police trial of live facial recognition at London railway stations scanned more than half a million faces, cost £320,786 across 18 deployments and produced one watchlist alert, which was an incorrect identification, according to FOI documents reported by the Guardian. The trial has been extended by four months, now including London Underground stations. (HN thread.)

Verdict: SHIP IT

I stamped DAWO SHIP IT. The risk it answers is real whoever you believe about that mailbox, and a laptop described in one public file is a better deal for taxpayers than a laptop described in a licence agreement. The condition is in their own comment: finish the mirror, so the sovereign workplace stops fetching its inputs from github.com.

FAQ

What is DAWO?
The Dutch government's blueprint for its own digital workplace, from the operating system to the office apps, built on NixOS and run by three government IT providers under the Ministry of the Interior.

Why did the Netherlands choose NixOS over openSUSE or Fedora?
Per Tweakers, openSUSE and Fedora were dropped over their corporate owners. NixOS has no commercial owner, is Dutch in origin, and makes thousands of machines reproducible from shared code.

Did Microsoft cut off the ICC prosecutor's email?
AP reported in May 2025, citing ICC staff, that Microsoft cancelled Karim Khan's email address and he moved to Proton Mail. Microsoft's president Brad Smith said in June 2025 that Microsoft never ceased or suspended its services to the ICC. Both claims are on the record.

When will DAWO be ready?
There is no formal timeline. The developers told Tweakers they hope for version 1.0 sometime next year; Tom's Hardware reports a first stable release by the end of 2027. Eight municipalities are piloting it now.

Sources


This article expands on an episode of **The Daily Diff, a five-minute daily video on what shipped and what broke in tech.
Watch the episode · Subscribe on YouTube · the written diff lands in your inbox every morning at thedailydiff.dev.

Top comments (0)