NixOS에 일회성 패키지를 설치하는 방법은 무엇입니까?

NixOS에 일회성 패키지를 설치하는 방법은 무엇입니까?

채널에 NixOS 상자가 있습니다 nixos-16.03. 나는 기계가 대부분 안정된 상태를 유지하기를 원하므로 채널 전환을 피하고 싶습니다 nixos-unstable.

하지만 해당 채널에서 사용 가능한 패키지보다 최신 버전을 설치해야 합니다( nodejs-6_x이 경우). 설명서에는 설명하는 부분이 있습니다.주요 설치, 언뜻보기에 정확히 나에게 필요한 것 같습니다. 그러나 Hydra 서버는 다음 위치에 있습니다.http://Hydra.nixos.org이 섹션에 설명된 도구 .nixpkg의 사용을 위해 제공된 문서 는 없는 것 같습니다.nix-install-package

위키는 또한 패키지를 사용자 정의할 수 있는 프로세스를 문서화합니다(페이지 이름은패키지 수정), 비록 도구 대신에 싸우는 것처럼 보이지만 내 목적에 적합할 수 있다고 생각합니다.사용그것.

IRC에도 이 질문을 올렸는데( M-Ralith무식한 질문에 인내심을 갖고 답변해 주셔서 감사합니다!) 어떻게 적용해야 할지 잘 모르겠습니다. 제안 사항은 "nixpkgs 구성에서 src 및 버전을 재정의"하는 것입니다. 이는 .nixpkgs/configuration.nix제가 구독하는 채널()에 nix 표현식을 작성하고 패키지에 대한 이러한 속성을 재정의 할 수 있는 것처럼 들립니다 nixos-16.03. 채널에 존재하지 않는 패키지에 대해 물었을 때 "src와 버전만 재정의하는 대신 전체 패키지를 지정"하라는 제안이 있었습니다. 이는 패키지에 대한 전체 nix 표현식을 복사해야 한다는 의미라고 생각했습니다. 관심이 있었습니다. nix-env이는 안정적인 채널이 내가 덮어쓰는 데 사용하는 버전을 따라잡거나 초과하는 경우 패키지가 업데이트되는 것을 방지하는 효과가 있는 것 같습니다 .

패키지의 경우다른 채널에 존재합니다설치하고 싶지만 현재 채널을 유지하고 싶은데, 더 좋은 방법이 있나요? 나도 비슷한 일을 할 수 있을 것 같은 느낌이 든다 nix-build <url> | nix-env -i. 이상적으로는 설치되지만 구성하지 않으면 나중에 업그레이드되지 않을 수 있습니다(현재 채널이 따라잡을 경우).

답변1

nix-env도구를 사용할 수 있습니다

% nix-env -f https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz -iA tig

아니면 nix-build도구를 사용하거나

% nix-build -I nixpkgs=https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz -A tig

이것이 어떻게 도움이 됩니까?

관련 정보