Làm thế nào để bạn cài đặt gói một lần trong NixOS?


9

Tôi đã có một hộp NixOS mà tôi giữ trên nixos-16.03kênh. Tôi muốn máy ở trạng thái ổn định, và vì vậy tôi muốn tránh chuyển sang nixos-unstablekênh.

Tuy nhiên, tôi cần cài đặt phiên bản mới hơn của gói hơn là có sẵn trong kênh đó ( nodejs-6_xtrong trường hợp này). Trong hướng dẫn sử dụng, có một phần mô tả Cài đặt bằng một lần nhấp , thoạt nhìn giống như chính xác những gì tôi cần. Tuy nhiên, máy chủ Hydra tại http://hydra.nixos.org dường như không phục vụ bất kỳ .nixpkgtệp nào được sử dụng bởi nix-install-packagecông cụ được mô tả trong phần đó.

Wiki cũng ghi lại một quá trình mà người ta có thể tùy chỉnh một gói (trang được gọi là Gói sửa đổi ), mà tôi cho rằng có thể được sử dụng cho mục đích của mình, mặc dù có vẻ như tôi đang chiến đấu với công cụ thay vì sử dụng nó.

Tôi cũng đã hỏi về vấn đề này ở IRC (cảm ơn M-Ralithvì đã kiên nhẫn trả lời những câu hỏi thiếu hiểu biết của tôi!), Nhưng tôi không hiểu lắm về cách áp dụng nó. Lời khuyên là "ghi đè src và phiên bản trong cấu hình nixpkgs của bạn", có vẻ như tôi có thể viết biểu thức nix vào .nixpkgs/configuration.nixvà ghi đè các thuộc tính đó cho gói trong kênh đã đăng ký của tôi ( nixos-16.03). Khi tôi hỏi về các gói không tồn tại trong kênh, lời khuyên là "chỉ định toàn bộ gói thay vì chỉ ghi đè src và phiên bản", điều này có nghĩa là tôi sẽ cần sao chép toàn bộ biểu thức nix cho gói Tôi quan tâm đến.nix-env

Đối với các gói tồn tại trong một kênh khác mà tôi muốn cài đặt, nhưng vẫn ở trên kênh hiện tại của tôi, có cách nào tốt hơn không? Nó gần như cảm thấy tôi có thể làm một cái gì đó như thế nix-build <url> | nix-env -i. Điều lý tưởng là cài đặt cái này đi, nhưng không có cấu hình có thể ngăn nó được nâng cấp sau này nếu kênh hiện tại của tôi bắt kịp.

Câu trả lời:


8

bạn có thể sử dụng nix-envcông cụ

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

hoặc sử dụng nix-buildcông cụ

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

Làm thế nào mà giúp!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.