답변1
XDG 사양을 따르는 애플리케이션의 경우
NixOS 21.11 이상부터는 이제 를 설정할 수 있습니다 xdg.mime.defaultApplications
. 예를 들어 Qutebrowser를 기본 웹 브라우저로 설정할 수 있습니다.
xdg.mime.defaultApplications = {
"text/html" = "org.qutebrowser.qutebrowser.desktop";
"x-scheme-handler/http" = "org.qutebrowser.qutebrowser.desktop";
"x-scheme-handler/https" = "org.qutebrowser.qutebrowser.desktop";
"x-scheme-handler/about" = "org.qutebrowser.qutebrowser.desktop";
"x-scheme-handler/unknown" = "org.qutebrowser.qutebrowser.desktop";
}
xdg.mime.enable
is가 true
기본값인지 확인하세요 . 그렇지 않으면 위의 코드 조각이 작동하지 않습니다.
전자 응용 분야의 경우:
Electron 기반 데스크탑 애플리케이션은 기본 브라우저 인스턴스를 가져와서 DEFAULT_BROWSER
환경 변수의 링크를 여는 것처럼 보입니다. 에서 찾을 수 있는 바이너리 PATH
또는 사용할 바이너리의 전체 경로로 설정될 것으로 예상됩니다.
qutebrowser를 다시 설정하는 또 다른 예:
environment.sessionVariables.DEFAULT_BROWSER = "${pkgs.qutebrowser}/bin/qutebrowser"
답변2
NixOS는 사용자별 구성을 관리하지 않습니다. 기간.
구성 대화 상자에서 찾을 수 없는 브라우저의 /etc/nixos/configuration.nix
경우 nix-env
.
힌트
패키지를 선언적 및 명령적으로 설치하는 경우 결국 두 개의 종속성 트리를 관리해야 합니다. 하나는 통과하고 nixos-rebuild --upgrade boot
, 다른 하나는 통과합니다 nix-channel --update && nix-env -u
. 이는 업데이트 절차 중 하나라도 잊어버리면 결국 이전 패키지를 설치하게 된다는 의미입니다.
답변3
홈 관리자의 경우:
nrdxp의 답변에 대한 시스템 전체 설정은 어떤 이유로 무시될 수 있으므로 작동하지 않고 홈 관리자를 사용하는 경우 사용자별로 설정해 보십시오. 이렇게 하려면 기본적으로 비활성화되어 있으므로 mime
로 바꾸고 mimeApps
설정 해야 합니다. enable = true
조각을 조정하면 다음과 같은 결과를 얻을 수 있습니다.
home-manager.users.<YOUR_USER_NAME>.xdg.mimeApps = {
enable = true;
defaultApplications = {
"text/html" = "org.qutebrowser.qutebrowser.desktop";
"x-scheme-handler/http" = "org.qutebrowser.qutebrowser.desktop";
"x-scheme-handler/https" = "org.qutebrowser.qutebrowser.desktop";
"x-scheme-handler/about" = "org.qutebrowser.qutebrowser.desktop";
"x-scheme-handler/unknown" = "org.qutebrowser.qutebrowser.desktop";
};
};
이 기능을 구성해야 하는 각 사용자에 대해 이 작업을 수행해야 합니다.
답변4
@nrdxp의 답변에 철자 오류가 있습니다. s가 너무 많습니다 sessionsVariables
. 해야 할 것: 불행하게도 나는 논평할 만한 평판이 충분하지 않습니다.
environment.sessionVariables.DEFAULT_BROWSER = "${pkgs.qutebrowser}/bin/qutebrowser"