如何检测多余的 Nix 包?

如何检测多余的 Nix 包?

说我有services.foo.enable = true; environment.systemPackages包含“foo”。后者通常是多余的,因为 foo 服务需要“foo”包。在启用程序或服务而无需包条目的情况下,如何检测此类重复项?

在微不足道的情况下,文本匹配可以很好地指示重复项,但是启用例如service.xserver.desktopManager.xfce会安装一堆软件包,其中任何一个我可能已在environment.systemPackages.是否也可以检测到此类重复项?


主要目标是简化配置。极端的情况是,我在启用它们之前将所需的每个包添加到包列表中,从而导致配置比所需的大得多。

第二个目标是简化调试。我启用了某个程序或服务,但系统没有按照我的预期执行操作(例如,与该程序或服务相关的工具在 上不可用$PATH)。现在,如果我有某种方式告诉我启用 X 会导致安装包 Y,那么这是我可以立即排除的一种调试途径。

相关内容