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/applications
Nix를 통해 설치된 응용 프로그램에 우선 순위를 부여합니다.
답변2
$XDG_DATA_DIRS
수정 후 .profile
Ubuntu 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/}"
추신: 죄송합니다. 댓글 평판이 너무 낮아서 새로운 답변이 되었습니다.