在我的 Home Manager 配置中,我有以下 pkg:
home.packages = with pkgs; [
# Development
emacs
# Development - Emacs - Base
ripgrep
fd
(nerdfonts.override { fonts = [ "NerdFontsSymbolsOnly" ]; })
# Development - Emacs - Shell script linting
shellcheck-minimal
# Development - Emacs - Web
html-tidy
stylelint
jsbeautifier
...
如您所见,除了 emacs 之外的所有其他包都是我的 emacs 配置需要作为“运行时依赖项”的包。
我想通过将所有这些 pkg 设置为 emacs pkg 运行时依赖项来使事情更加清晰和“范围化”。
我尝试这样做:
# Development
(emacs.overrideAttrs (old: rec {
buildInputs = old.buildInputs ++ [
# Base
ripgrep
fd
(nerdfonts.override { fonts = [ "NerdFontsSymbolsOnly" ]; })
# Shell script linting
shellcheck-minimal
# Web
html-tidy
stylelint
jsbeautifier
];
}))
但这实际上只会构建 emacs,这些依赖项仅在构建时可用,然后它们将被“丢弃”,因为(据我所知)生成的二进制文件并不明确依赖于这些 pkg。
我有什么方法可以强制 home manager 将这些 pkg 视为 emacs 运行时依赖项吗?
加密种子:55899a74690d0d20bb2d5826c625f9932e13542b7d4334b1605df310a449070e 加密结果:5c274005d10e2aa0912b2ec28b9eaf6d61d0e87b59c3bd98f6fab6247d332beb