我刚刚开始使用NixOS,我正试图通过home-manager来声明性地控制已安装的包,并将它们的配置部署到我的主目录中。
我告诉home-manager安装vim_configurable
# ~/.config/nixpkgs/home.nix
{ config, pkgs, ... }:
{
home.packages = [
pkgs.vim_configurable
#...
]
#...它工作得很好,但是当我尝试使用program.vim来配置它时遇到了错误:
#...
programs.vim = {
enable = true;
settings = {
expandtab = true;
tabstop = 2;
};
};运行home-manager switch会给我一个错误,原因是gvimdiff版本相互冲突
; home-manager switch
these 3 derivations will be built:
/nix/store/z8imrylbxzmk161gc1jjj2nsjdaiv0ca-home-manager-path.drv
/nix/store/2wwz04y7yqrzizicc160n630a6kja778-activation-script.drv
/nix/store/pyx34c22lz2f6nw2pdjgddsg8sy5wz0c-home-manager-generation.drv
building '/nix/store/z8imrylbxzmk161gc1jjj2nsjdaiv0ca-home-manager-path.drv'...
error: collision between `/nix/store/vvb9a43fpmsijx42k3jvrr1a8l6jq6da-vim_configurable-8.2.5172/bin/gvimdiff' and `/nix/store/xyhfc9g3qk3i42gqmp05r0lsab7nng14-vim/bin/gvimdiff'
error: builder for '/nix/store/z8imrylbxzmk161gc1jjj2nsjdaiv0ca-home-manager-path.drv' failed with exit code 25;
last 1 log lines:
> error: collision between `/nix/store/vvb9a43fpmsijx42k3jvrr1a8l6jq6da-vim_configurable-8.2.5172/bin/gvimdiff' and `/nix/store/xyhfc9g3qk3i42gqmp05r0lsab7nng14-vim/bin/gvimdiff'
For full logs, run 'nix log /nix/store/z8imrylbxzmk161gc1jjj2nsjdaiv0ca-home-manager-path.drv'.
error: 1 dependencies of derivation '/nix/store/pyx34c22lz2f6nw2pdjgddsg8sy5wz0c-home-manager-generation.drv' failed to build我猜这是因为programs.vim.enable = true指示home-manager添加系统vim,或者什么的,这是矛盾的吗?
删除enable = true可以消除错误,但是似乎没有任何配置设置,这使得指定programs.vim块变得毫无意义。
我做错什么了吗?这是应该工作的,还是这种配置期望我通过更新/etc/nixos/configuration.nix来安装软件包?
发布于 2022-10-18 18:36:02
问题是,您需要选择一种方法:要么自己安装vim/vim_configurable,要么让主管理器为您安装。
https://unix.stackexchange.com/questions/715397
复制相似问题