سنجاق کردن Nixpkgs
مشخص کردن عبارتهای Nix راه دور، مانند آنچه توسط Nixpkgs ارائه شده است، به روشهای مختلفی انجامپذیر است:
- متغیر محیطی
$NIX_PATH - گزینه
-Iدر اکثر دستورات مانندnix-build،nix-shellو غیره. fetchurl،fetchTarball،fetchGitیا دریافتکنندههای Nixpkgs در عبارتهای Nix
مقادیر ممکن URL
- مسیر فایل محلی:
./path/to/expression.nix استفاده از ./. بدین معناست که عبارت در یک فایل default.nix در پوشه جاری قرار دارد.
- سنجاقشده به یک کامیت خاص:
https://github.com/NixOS/nixpkgs/archive/eabc38219184cc3e04a974fe31857d8e0eac098d.tar.gz - استفاده از آخرین نسخه کانال، به این معنا که تمام تستها با موفقیت پشت سر گذاشته شدهاند:
http://nixos.org/channels/nixos-22.11/nixexprs.tar.xz - سینتکس خلاصه برای کانالها:
channel:nixos-22.11 - استفاده از جدیدترین نسخه کانال، میزبانیشده توسط GitHub:
https://github.com/NixOS/nixpkgs/archive/nixos-22.11.tar.gz - استفاده از آخرین کامیت روی شاخهٔ انتشار، اما هنوز آزمایشنشده:
https://github.com/NixOS/nixpkgs/archive/release-21.11.tar.gz مثالها
$ nix-build -I ~/dev $ nix-build -I nixpkgs=http://nixos.org/channels/nixos-22.11/nixexprs.tar.xz $ nix-build -I nixpkgs=channel:nixos-22.11 $ NIX_PATH=nixpkgs=http://nixos.org/channels/nixos-22.11/nixexprs.tar.xz nix-build $ NIX_PATH=nixpkgs=channel:nixos-22.11 nix-build - در زبان Nix:
let
pkgs = import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/nixos-22.11.tar.gz") {};
in pkgs.stdenv.mkDerivation { ... } یافتن کامیتها و نسخههای خاص
سایت status.nixos.org موارد زیر را فراهم میکند:
- آخرین کامیتهای تستشده برای هر نسخه - هنگام سنجاق کردن Nixpkgs به کامیتهای خاص از آن استفاده کنید.
- فهرست کانالهای نسخهٔ فعال - هنگام پیگیری آخرین نسخههای کانال از آن استفاده کنید.
ف فهرست کامل کانالها در nixos.org/channels در دسترس است.
راهنمایی
اطلاعات بیشتر درباره نسخههای Nixpkgs و NixOS: channel-branches