Lobsters | 📄 原文链接 | 2026-08-06 收录

会自我过期的 Nix override:让废弃覆盖自动发出警告

来源:jezenthomas.com — 2026-07-30

📋 概述

Jezen Thomas 分享了一个让 Nix override 在过期时自己宣告「该删了」的模式。他在 nixpkgs 尚未跟上 Hackage 时给 yesod-form 写了 override 引入更新的 1.7.10,但等他后来升级 nixpkgs、override 变成冗余时,Nix 默认不会提醒删除。他用 lib.versionAtLeast 比较当前 nixpkgs 提供的版本与 override 的目标版本,再用 lib.warnIf 在求值阶段打印警告;一旦条件满足(版本已足够新),求值就会提示「可以删除这个 override 了」。这个方法不限于包版本,也能用来清理某个包被解除 broken 标记后的多余 workaround。

🔑 核心要点

💡 金句

当它该被移除时,这个 override 会自己宣布自己的过时。
← 返回 Lobsters 首页