Nix 데스크탑 파일

Nix 데스크탑 파일

nix를 사용하여 GUI 응용 프로그램을 설치할 때 다음 ~/.nix-profile과 같은 디렉토리에 데스크톱 파일이 끝나는 것을 볼 수 있습니다.

~/.nix-profile/share/applications/firefox.desktop

그러나 내 데스크탑에서는 이러한 파일이 /user/share/applications데스크탑 아이콘을 생성할 수 있기를 원합니다.

/user/share/applications수동으로 이 작업을 수행할 필요가 없도록 nix에 데스크톱 파일을 심볼릭 링크하도록 지시할 수 있는 방법이 있습니까 ?

감사해요

답변1

NixOS가 아닌 다른 배포판을 사용한다고 가정하면 데스크톱 환경 /usr/share/applications~/.nix-profile/share/applications.

심볼릭 링크를 생성하는 대신 /usr/share/applications데스크탑을 볼 위치를 알려줍니다. 다음을 추가하여 이 작업을 수행할 수 있습니다 ~/.profile.

export XDG_DATA_DIRS=$HOME/.nix-profile/share:$HOME/.share:"${XDG_DATA_DIRS:-/usr/local/share/:/usr/share/}"

/usr/share/applications따라서 데스크탑은 Windows와 Windows 모두에서 응용 프로그램을 찾고 ~/.nix-profile/share/applicationsNix를 통해 설치된 응용 프로그램에 우선 순위를 부여합니다.

자세한 내용은,https://nixos.org/wiki/KDE#Using_KDE_outside_NixOS

답변2

$XDG_DATA_DIRS수정 후 .profileUbuntu Gnome 16.10을 사용하여 로그인할 수 없습니다.

대신 심볼릭 링크로 해결했습니다. 아래 명령은 의 모든 링크를 찾아 사용자 이름으로 .nix-profile/share/applications연결 .local/share/applications합니다 .teodorlu

find ~/nix-profile/share/applications -type l -exec ln -s /home/teodorlu/{} ~/.local/share/applications \;

답변3

현재 최고의 답변은 내 Archcraft 시스템을 포함한 많은 시스템을 만족시키지 못하기 때문에 여기에 내 변형이 있습니다. etc/profile.d/nix-xdg-data-dirs.sh콘텐츠 생성을 사용하십시오.

export XDG_DATA_DIRS=${HOME}/.nix-profile/share:${HOME}/.share:"${XDG_DATA_DIRS:-/usr/local/share/:/usr/share/}"

추신: 죄송합니다. 댓글 평판이 너무 낮아서 새로운 답변이 되었습니다.

관련 정보