nixos에 Google 크롬을 설치하는 방법은 무엇입니까?

nixos에 Google 크롬을 설치하는 방법은 무엇입니까?

nixos에 Google 크롬을 설치하는 방법은 무엇입니까? 나는 열심히 노력했다

nix-env -i google-chrome
nix-env -i google-chrome-stable
...

이것은 작동하지 않는 것 같습니다. 나는 또한 불안정한 지점을 사용해 보았습니다.

nix-channel --add https://nixos.org/channels/nixpkgs-unstable
nix-channel --update

그런 다음

nix-env -i unstable.google-chrome-stable
nix-env -i unstable.google-chrome
...

하지만 이 패키지는 어딘가에 존재해야 할 것 같습니다. https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/networking/browsers/google-chrome

내가 여기서 무엇을 놓치고 있는지 아는 사람 있나요?

답변1

이 NixOS FAQ나를 도와 주었다:

독점 또는 비자유 소프트웨어 패키지를 설치하는 방법은 무엇입니까?

다음을 수행하지 않는 한 사용자로서 무료가 아닌 패키지를 설치하거나 검색할 수 없습니다.~/.config/nixpkgs/config.nix(파일과 폴더를 만들어야 할 수도 있습니다):

{ # [...] Unfree 허용 =
진짜; }

NixOS를 사용하는 경우 시스템 전체와 다음에서 무료가 아닌 패키지를 활성화할 수 있습니다 /etc/nixos/configuration.nix.

{ # [...] nixpkgs.config.allowUnfree = true }

이것만으로는 nix-env를 사용하여 패키지를 검색하거나 설치할 수 없습니다.

무료가 아닌 패키지를 일시적으로 허용하려면 환경 변수를 설정할 수 있습니다.NIXPKGS_ALLOW_UNFREE,예를 들어

NIXPKGS_ALLOW_UNFREE=1 nix-env

정책상의 이유로 Hydra에서는 비자유 소프트웨어를 테스트하거나 구축할 수 없습니다. 대부분의 무료 라이선스는 당사가 소프트웨어를 실행하거나 배포하는 것을 금지합니다.

콘솔에서 nix-env:

$ NIXPKGS_ALLOW_UNFREE=1 nix-env -qa | grep google-chrome
google-chrome-63.0.3239.132
google-chrome-beta-64.0.3282.71
google-chrome-dev-65.0.3311.3

"6장 전역 구성"세부 사항(특히 부품)을 자세히 살펴보세요.6.3. 비자유 소프트웨어 패키지 설치).

찾았어요르노-린덱/NixSetup.md수많은 추가 리소스와 의견이 포함된 중요 항목은 매우 유용합니다.


편집하다: 은(는) nix-env얼마 전에 폐기되었으며 대신 사용합니다 . 예를 들어 추가 구성이 필요한 nix-shell곳에만 설치 가능합니다 . 이렇게 하면 채널에 크게 의존하지 않습니다(어느 시점에서 플레이크에 대해 배울 수 있기를 바랍니다...)./etc/nixos/configuration.nixvim

그래서 도구가 필요할 peek때 (예:google-chrometreesheets

$ NIXPKGS_COMMIT="dc849ffbcd93c2a23e99dcc94efb0962594b8b5f"
$ NIXPKGS_TARBALL="https://github.com/NixOS/nixpkgs/tarball/${NIXPKGS_COMMIT}"
$ PKGS="(callPackage (fetchTarball ${NIXPKGS_TARBALL}) {})"

$ NIXPKGS_ALLOW_UNFREE=1 nix-shell -v -p "${PKGS}.google-chrome"

$ nohup google-chrome-stable & > ~/.nohup.out # or /dev/null
$ disown

(이 훌륭한 답변을 참조하십시오nohup그리고disown.)


편집 2:Nix 쉘은 터미널에서 즉석에서 만들 수도 있습니다:

NIXPKGS_ALLOW_UNFREE=1                                  \
nix-shell -v -E                                         \
"let                                                    \
   pkgs = import (fetchTarball ${NIXPKGS_TARBALL}) {};  \
 in                                                     \
   pkgs.mkShell {                                       \
     buildInputs = with pkgs; [ google-chrome elixir ]; \
   }"

답변2

기본적으로 먼저 채널 이름을 확인해야 합니다.

$ nix-channel --list
nixpkgs https://nixos.org/channels/nixpkgs-unstable

채널 이름(이 경우)을 알고 나면 nixpkgs설치를 계속할 수 있습니다.

$ nix-env -iA nixpkgs.google-chrome
installing ‘google-chrome-64.0.3282.186’
..................

또는 설치를 수행하기 전에 정규화된 이름을 검색할 수 있습니다.

$ nix-env -qaP google-chrome                                                                                                                               
nixpkgs.google-chrome  google-chrome-64.0.3282.186

관련 정보