home-manager
저는 방금 NixOS를 사용하기 시작했으며, 설치한 패키지를 선언적으로 제어하고 해당 구성을 홈 디렉터리에 배포하려고 합니다 .
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
시스템 vim 등을 추가하라는 programs.vim.enable = true
지침이 있기 때문에 이것이 충돌하는 것 같아요 .home-manager
이를 제거하면 enable = true
오류가 제거되지만 구성 설정이 통과되지 않아 지정된 programs.vim
블록이 무의미해집니다.
내가 뭐 잘못 했어요? 이것이 작동해야 합니까, 아니면 이 구성에서 업데이트를 통해 패키지를 설치해야 합니까 /etc/nixos/configuration.nix
?
답변1
문제는 접근 방식을 선택해야 한다는 것입니다. vim/vim_configurable을 직접 설치하거나 홈 관리자에게 설치하도록 요청하는 것입니다.