荷兰政府用NixOS攒桌面:用声明式配置替换微软

荷兰政府用NixOS攒桌面:用声明式配置替换微软

NixOS数字主权开源

数据源:HN + web research

2026 年 8 月 15 日,荷兰内政部主导的 DAWO-NixOS 悄然发布了 0.1.2 稳定版。这个旨在替代 Microsoft 办公体系的政府桌面环境,在 Hacker News 上拿到了 254 分与 103 条评论。DAWO 的全称是政府数字自主工作环境,底层系统直接选用极客内核的 NixOS。官方明确把可验证性列为核心目标,通过声明式配置,系统的每一层都能被检查和重新构建。

数字自主通常停留在采购清单的更迭,DAWO 把这个概念变成了工程约束。系统不再是一个由商业公司打包好的黑盒产品,而是由开放可验证的 AI 组件、操作系统、云基础设施和协作工具拼装成的独立积木。这种架构原则将控制权从供应商手里夺回,交给了政府与社区的协作网络。

在传统的政企 IT 环境中,维护数以万计的办公终端往往要与注册表漂移、强制系统更新以及层出不穷的依赖冲突做无尽的斗争。NixOS 的引入改变了这种局面。管理员只需要编写并审查一份描述文件,系统就能在一个确定的状态下启动。一旦遭遇恶意软件攻击或者系统崩溃,运维团队只需通过一条命令重新构建环境,桌面就能恢复到干净的初始状态。

DAWO 官方桌面壁纸 图:DAWO 官方桌面壁纸。来源:MinBZK/DAWO-NixOS 官方仓库

128次提交固化静态基线

截至 2026 年 9 月,DAWO-NixOS 仓库累积了 128 次提交、27 个分支与 5 个标签,代码体积仅为 2.7 MiB。项目的 CI/CD 并没有依托 GitHub,而是使用了 Forgejo,并配合 treefmt、statix、deadnix 构建了严格的格式化与静态检查流水线。这种极简的体积加上严苛的静态检查,消除了传统操作系统中因为环境依赖造成的隐性漏洞。

工程实现上,DAWO-NixOS 贯彻了模块化理念。他们利用 flake-based 构建系统,将配置划分为 boot、desktops、environment、hardware、hardening、hosts、networking、programs、services、users 十大模块。这种划分支持从普通办公桌面到核心服务的多角色部署,每一个角色都能通过声明文件精确重现。

模块分类传统办公系统现状DAWO-NixOS 声明式解法
基础环境 (environment/boot)镜像固化,难以追溯历史状态纯文本配置,每次构建绝对一致
磁盘与硬件 (hardware)手工分区,易产生配置漂移使用 disko 声明式布局,支持手工介入
安全加固 (hardening)依赖第三方杀毒与运行策略建立 rule register 文档,固化安全基线
应用依赖 (programs/services)各自安装,存在复杂的依赖冲突SBOM 独立发布,依赖树透明

深入分析 DAWO-NixOS 的核心模块,可以看到荷兰内政部对系统权限的严格克制。以 disko 为例,这个原本用于声明式磁盘布局的强大工具,其配置被特意从公共模块中移出,支持复杂现场环境下的手工布局介入。这种设计在维持自动化部署的同时,给一线运维保留了必要的灵活性。而在 docs/pitfalls.md 文件中,开发团队详细记录了诸如某些服务配置应用后返回成功状态码,但底层并未生效的边缘情况。这些踩坑文档填补了开源组件在企业级应用中的可靠性鸿沟。

安全基线在这个框架下不再是一纸空文,而是可执行的代码。开发团队在 hardening 模块中引入了 rule register 规则登记文档,并为每个 host 单独发布 SBOM(软件物料清单)。透明可见的代码与物料清单,提供了封闭商业系统无法比拟的安全审计余量。

商业监控引发用脚投票

转向 NixOS 的动力不仅来自政府高层的战略布局,更源于终端用户对商业软件监控的反抗。在 HN 的讨论区中,有开发者翻出了 Microsoft 利用摄像头和麦克风监测用户行为以换取广告投放的专利。当日常使用的协作工具被加上了「一堆垃圾加间谍软件」的标签,政府机构从底层切割商业捆绑就有了现实依据。

即便大学等机构已经购买了企业级的 Teams 订阅,许多研究人员依然选择自掏腰包购买个人版 Zoom。这种用脚投票现象指向一个尴尬现实:商业巨头构建的统一工作台,正在因为过度的数据采集失去用户信任。DAWO 社区试图通过引入 Mijn Bureau 和 Nextcloud 等开源协作组件,重新建立一个不以贩卖隐私为商业模式的工作环境。

DAWO 社区工作会议现场 图:DAWO 社区工作会议现场。来源:dawo.community 官方网站

把数万名习惯了 Microsoft Office 的公务员迁移到 Nextcloud 和 Mijn Bureau 平台上,注定是一场漫长的阵痛。为了方便更广泛的社会力量参与,项目源码已经从原本的 code.overheid.nl 迁移到了 Codeberg,仅在原有平台和 GitHub 上保留镜像。通过采用 NL Design System 构建官方站点,DAWO 正在将开发过程向全社会敞开,让数字工作台的每一个细节都接受检视。

生态迁移成本卡住数字主权边界

尽管技术路线非常清晰,但这套体系想要推行全国甚至全欧洲,依然面临着巨大的生态迁移成本。在社区的争议中,最尖锐的批评来自 @pranxxter 提出的观点:每个欧盟政府都在重新发明同一个操作系统。法国政府在几个月前也宣布了类似的方案,推出了基于 NixOS 的 cloud-gouv/securix 加固系统,以及用于办公部署的 bureautix-example。

这两套同样基于 NixOS、同样面向政府办公场景、同样追求可验证性的系统,却由两个不同的团队在平行的仓库中维护。不同国家的平行开发揭示了欧盟在推行数字主权时的结构性困境。欧盟是 27 个国家的伙伴关系,并不是单一的行政实体,不可能因为一个国家采用了某种方案,就要求全体成员国无条件跟随。这种分散的决策机制导致了各国在开源生态中各自为战,将大量的工程资源消耗在了重复建设基础架构上。

DAWO 把「数字自主」从采购口号改写成工程约束,用 NixOS 的声明式配置把政府桌面变成可描述、可验证、可重建的积木。这套解法的核心价值,在于让系统的每一层都能被检查和替换。但目前的 DAWO-NixOS 依然处于 0.x 阶段,大规模桌面的实测数据依旧缺失。这条独立自主之路的上限,并不取决于配置写得有多优雅,而在于各国政府能否克服重复造轮子的现实,分摊高昂的生态迁移成本。

参考链接:

  • DAWO Community
  • MinBZK/DAWO-NixOS Repo
  • Hacker News Discussion