Convate Nix Installer เป็นวิธีที่รวดเร็วเป็นมิตรและเชื่อถือได้ในการติดตั้งและจัดการ NIX ทุกที่รวมถึง MacOS, Linux, ระบบย่อย Windows สำหรับ Linux (WSL), Selinux, สำรับไอน้ำวาล์วและอื่น ๆ มันติดตั้ง nix ด้วย Flakes ที่เปิดใช้งานโดยค่าเริ่มต้นมันให้การสนับสนุนสำหรับการถอนการติดตั้ง Nix อย่างราบรื่นทำให้ Nix สามารถอยู่รอดได้การอัพเกรด MacOS และอีกมากมาย
หนึ่งซับนี้เป็นวิธีที่เร็วที่สุดในการเริ่มต้นในระบบที่รองรับใด ๆ :
curl --proto ' =https ' --tlsv1.2 -sSf -L https://install.determinate.systems/nix |
sh -s -- installเคล็ดลับ
ในการติดตั้งแบบกำหนดโดยใช้ตัวติดตั้งดูคำแนะนำด้านล่าง
Convate Nix Installer เสร็จสมบูรณ์กว่า 7 ล้าน การติดตั้งในสภาพแวดล้อมหลายอย่างรวมถึงการกระทำของ GitHub และ Gitlab:
| แพลตฟอร์ม | ผู้ใช้หลายคน? | root เท่านั้น | วุฒิภาวะ |
|---|---|---|---|
Linux ( x86_64 และ aarch64 ) | ✓ (ผ่าน SystemD) | มั่นคง | |
MacOS ( x86_64 และ aarch64 ) | เสถียร (ดูหมายเหตุ) | ||
| ดาดฟ้าวาล์วไอน้ำ (SteamOS) | มั่นคง | ||
ระบบย่อย Windows สำหรับ Linux 2 (WSL2) ( x86_64 และ aarch64 ) | ✓ (ผ่าน SystemD) | มั่นคง | |
| คอนเทนเนอร์ Podman Linux | ✓ (ผ่าน SystemD) | มั่นคง | |
| คอนเทนเนอร์นักเทียบท่า | มั่นคง |
คุณสามารถติดตั้ง Nix ด้วยตัวเลือกเริ่มต้นและตัวเลือกโดยเรียกใช้สคริปต์นี้:
curl --proto ' =https ' --tlsv1.2 -sSf -L https://install.determinate.systems/nix |
sh -s -- installในการดาวน์โหลดไบนารีติดตั้งเฉพาะแพลตฟอร์มด้วยตัวคุณเอง:
curl -sL -o nix-installer https://install.determinate.systems/nix/nix-installer-x86_64-linux
chmod +x nix-installer
./nix-installer สิ่งนี้จะติดตั้ง nix บนระบบ x86_64-linux แต่คุณสามารถแทนที่ด้วยระบบที่คุณเลือก
หากคุณอยู่ใน MacOS (แต่ไม่ใช่ Nix-Darwin) หรือ Linux (แต่ไม่ใช่ Nixos) คุณสามารถติดตั้งการกำหนดโดยใช้ตัวติดตั้งแบบกำหนด NIX โดยเพิ่ม-กำหนดค่าสถานะ --determinate กำหนด:
curl --proto ' =https ' --tlsv1.2 -sSf -L https://install.determinate.systems/nix |
sh -s -- install --determinateเคล็ดลับ
หากคุณใช้ Nix-Darwin หรือ Nixos เราขอแนะนำให้ติดตั้งการกำหนดโดยใช้โมดูลที่จัดทำโดยเกล็ด determinate
กำหนดคือ:
กำหนดค่าติดตั้ง NIX ติดตั้ง NIX โดยทำตาม แผน ของ ผู้วางแผน เพื่อตรวจสอบนักวางแผนที่มีอยู่:
/nix/nix-installer install --helpนักวางแผนมีตัวเลือกและค่าเริ่มต้นของตัวเองแบ่งปันส่วนใหญ่เหมือนกัน หากต้องการดูตัวเลือกสำหรับ Linux ตัวอย่างเช่น:
/nix/nix-installer install linux --helpคุณสามารถกำหนดค่านักวางแผนโดยใช้ตัวแปรสภาพแวดล้อมหรืออาร์กิวเมนต์คำสั่ง:
curl --proto ' =https ' --tlsv1.2 -sSf -L https://install.determinate.systems/nix |
NIX_BUILD_GROUP_NAME=nixbuilder sh -s -- install --nix-build-group-id 4000
# Alternatively:
NIX_BUILD_GROUP_NAME=nixbuilder ./nix-installer install --nix-build-group-id 4000ดูการตั้งค่าตัวติดตั้งด้านล่างสำหรับรายการตัวเลือกทั้งหมด
มีปัญหากับตัวติดตั้ง? ปรึกษาคู่มือการแก้ไขปัญหาของเราเพื่อดูว่าปัญหาของคุณครอบคลุมหรือไม่
คุณสามารถอัพเกรด Nix เป็น NIX เวอร์ชันที่แนะนำในปัจจุบันของเราโดย Running:
sudo -i nix upgrade-nixอีกทางเลือกหนึ่งคุณสามารถถอนการติดตั้งและติดตั้งใหม่ด้วยตัวติดตั้งที่กำหนดไว้ในรุ่นอื่น
คุณสามารถลบ Nix ที่ติดตั้งโดย Invinate Nix Installer โดยรัน:
/nix/nix-installer uninstall คุณสามารถติดตั้ง nix บนการกระทำของ GitHub โดยใช้ nix-installer-action นี่คือตัวอย่างการกำหนดค่า:
on :
pull_request :
push :
branches : [main]
jobs :
build :
name : Build
runs-on : ubuntu-22.04
steps :
- uses : actions/checkout@v4
- name : Install Nix
uses : DeterminateSystems/nix-installer-action@main
- name : Run `nix build`
run : nix build . โดยทั่วไปแล้วนักวิ่ง Gitlab CI จะใช้ Docker และทำงานเป็นผู้ใช้ root ซึ่งหมายความว่า systemd ไม่มีอยู่ดังนั้นคุณต้องผ่านตัวเลือก --init none ตัวเลือกไปยัง Linux Planner
ในเครื่องรัน Gitlab เริ่มต้นคุณสามารถติดตั้ง NIX ได้โดยใช้การกำหนดค่านี้:
test :
script :
- curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install linux --no-confirm --init none
- . /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
- nix run nixpkgs#hello
- nix profile install nixpkgs#hello
- helloหากคุณใช้นักวิ่งที่แตกต่างกันตัวอย่างข้างต้นอาจต้องปรับเปลี่ยน
คำเตือน
เมื่อ --init none การใช้งาน เฉพาะ root หรือผู้ใช้ที่สามารถยกระดับเป็นสิทธิ์ root เท่านั้นที่สามารถเรียกใช้ Nix:
sudo -i nix run nixpkgs#hello หากคุณไม่ได้ใช้ SystemD คุณยังสามารถติดตั้ง NIX ได้โดยระบุแผน linux อย่างชัดเจนและ --init none :
curl --proto ' =https ' --tlsv1.2 -sSf -L https://install.determinate.systems/nix |
sh -s -- install linux --init none ในคอนเทนเนอร์ Docker/Podman หรืออินสแตนซ์ WSL2 ที่ไม่มี init (เช่น systemd ) --init none
สำหรับคอนเทนเนอร์ (ไม่มี init):
คำเตือน
เมื่อ --init none การใช้งาน เฉพาะ root หรือผู้ใช้ที่สามารถยกระดับเป็นสิทธิ์ root เท่านั้นที่สามารถเรียกใช้ Nix:
sudo -i nix run nixpkgs#hello # Dockerfile
FROM ubuntu:latest
RUN apt update -y
RUN apt install curl -y
RUN curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install linux
--extra-conf "sandbox = false"
--init none
--no-confirm
ENV PATH= "${PATH}:/nix/var/nix/profiles/default/bin"
RUN nix run nixpkgs#hellodocker build -t ubuntu-with-nix .
docker run --rm -ti ubuntu-with-nix
docker rmi ubuntu-with-nix
# or
podman build -t ubuntu-with-nix .
podman run --rm -ti ubuntu-with-nix
podman rmi ubuntu-with-nixสำหรับคอนเทนเนอร์ที่มี systemd init:
# Dockerfile
FROM ubuntu:latest
RUN apt update -y
RUN apt install curl systemd -y
RUN curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install linux
--extra-conf "sandbox = false"
--no-start-daemon
--no-confirm
ENV PATH= "${PATH}:/nix/var/nix/profiles/default/bin"
RUN nix run nixpkgs#hello
CMD [ "/bin/systemd" ]podman build -t ubuntu-systemd-with-nix .
IMAGE= $( podman create ubuntu-systemd-with-nix )
CONTAINER= $( podman start $IMAGE )
podman exec -ti $CONTAINER /bin/bash
podman rm -f $CONTAINER
podman rmi $IMAGE ด้วยเครื่องมือคอนเทนเนอร์บางอย่างเช่น Docker คุณสามารถละเว้น sandbox = false การละเว้นสิ่งนี้จะส่งผลเสียต่อความเข้ากันได้กับเครื่องมือคอนเทนเนอร์เช่น Podman
เรา ขอแนะนำ ให้เปิดใช้งาน SystemD ก่อนแล้วจึงติดตั้ง nix ตามปกติ:
curl --proto ' =https ' --tlsv1.2 -sSf -L https://install.determinate.systems/nix |
sh -s -- installหากเปิดใช้งาน WSLG คุณสามารถทำสิ่งต่าง ๆ เช่นเปิด Linux Firefox จาก Windows บน PowerShell:
wsl nix run nixpkgs # firefox หากต้องการใช้แอปพลิเคชัน OpenGL บางอย่างคุณสามารถใช้ nixGL (โปรดทราบว่าแอปพลิเคชันบางตัวเช่น blender อาจไม่ทำงาน):
wsl nix run -- impure github:guibou / nixGL nix run nixpkgs # obs-studio หากการเปิดใช้งาน SystemD ไม่ใช่ตัวเลือก Pass --init none ในตอนท้ายของคำสั่ง:
คำเตือน
เมื่อ --init none การใช้งาน เฉพาะ root หรือผู้ใช้ที่สามารถยกระดับเป็นสิทธิ์ root เท่านั้นที่สามารถเรียกใช้ Nix:
sudo -i nix run nixpkgs#hellocurl --proto ' =https ' --tlsv1.2 -sSf -L https://install.determinate.systems/nix |
sh -s -- install linux --init none หากคุณต้องการหลีกเลี่ยงขั้นตอนการยืนยันคุณสามารถใช้ธง --no-confirm :
curl --proto ' =https ' --tlsv1.2 -sSf -L https://install.determinate.systems/nix |
sh -s -- install --no-confirmสิ่งนี้มีประโยชน์อย่างยิ่งเมื่อใช้ตัวติดตั้งในสคริปต์ที่ไม่โต้ตอบ
สคริปต์การติดตั้ง Nix ที่มีอยู่ทำงานได้ดี แต่ยากที่จะรักษา
ความแตกต่างเล็กน้อยในการใช้งานเชลล์และเครื่องมือที่ใช้ในสคริปต์ทำให้ยากที่จะทำการเปลี่ยนแปลงที่มีความหมายกับตัวติดตั้ง
Convate Nix Installer มีข้อได้เปรียบมากมายมากกว่าตัวเลือกเหล่านี้:
useradd ) เมื่อจำเป็นPATH มันยอดเยี่ยมมากที่ได้ร่วมมือกับผู้เข้าร่วมคนอื่น ๆ ในคณะทำงานของ Nix Installer และสมาชิกของชุมชนที่กว้างขึ้น คณะทำงานรักษาส้อมที่เป็นเจ้าของรากฐานของผู้ติดตั้ง
ในขณะที่ตัวติดตั้งที่กำหนด NIX พยายามที่จะให้ประสบการณ์ที่ครอบคลุมและไม่คึกคัก แต่ก็มีปัญหาบางอย่างที่อาจต้องใช้การแทรกแซงด้วยตนเองหรือตัวเลือกผู้ประกอบการ
หาก NIX ถูกถอนการติดตั้งก่อนหน้านี้โดยไม่ต้องถอนการติดตั้ง Nix-Darwin ก่อนคุณอาจพบข้อผิดพลาดคล้ายกับนี้:
nix shell nixpkgs#curl
error: unable to download ' https://cache.nixos.org/g8bqlgmpa4yg601w561qy2n576i6g0vh.narinfo ' : Problem with the SSL CA cert (path ? access rights ? ) (77) สิ่งนี้เกิดขึ้นเนื่องจาก nix-darwin ให้บริการ org.nixos.activate-system ซึ่งยังคงอยู่หลังจากยกเลิกการติดตั้ง Nix บริการ org.nixos.activate-system ในสถานะนี้โต้ตอบกับ NIX ที่ติดตั้งใหม่และเปลี่ยนใบรับรอง SSL ที่ใช้เป็น symlink ที่เสีย
ls -lah /etc/ssl/certs
total 0
drwxr-xr-x 3 root wheel 96B Oct 17 08:26 .
drwxr-xr-x 6 root wheel 192B Sep 16 06:28 ..
lrwxr-xr-x 1 root wheel 41B Oct 17 08:26 ca-certificates.crt - > /etc/static/ssl/certs/ca-certificates.crt ปัญหาเกิดขึ้นจากเรื่องที่ว่า nix-darwin ถอนการติดตั้งจะไม่ทำงานหลังจากถอนการติดตั้ง NIX เนื่องจากใช้ NIX และต้องมีการเชื่อมต่อเครือข่าย
เป็นไปได้ที่จะแก้ไขสถานการณ์นี้โดยการลบบริการ org.nixos.activate-system และ ca-certificates :
sudo rm /Library/LaunchDaemons/org.nixos.activate-system.plist
sudo launchctl bootout system/org.nixos.activate-system
/nix/nix-installer uninstall
sudo rm /etc/ssl/certs/ca-certificates.crtเรียกใช้ตัวติดตั้งอีกครั้งและควรใช้งานได้
ตัวติดตั้งรุ่นทันสมัยจะปฏิเสธที่จะถอนการติดตั้งจนกว่า Nix-Darwin จะถอนการติดตั้งก่อนช่วยบรรเทาปัญหานี้
เนื่องจากคุณจะใช้ตัวติดตั้งเพื่อติดตั้ง nix บนระบบที่ไม่มี NIX การสร้างเริ่มต้นจึงเป็นไบนารีแบบคงที่
ในการสร้างไบนารี Linux แบบพกพาบนระบบที่มี NIX:
# to build a local copy
nix build -L " .#nix-installer-static "
# to build the remote main development branch
nix build -L " github:determinatesystems/nix-installer#nix-installer-static "
# for a specific version of the installer:
export NIX_INSTALLER_TAG= " v0.6.0 "
nix build -L " github:determinatesystems/nix-installer/ $NIX_INSTALLER_TAG #nix-installer-static "บน macOS:
# to build a local copy
nix build -L " .#nix-installer "
# to build the remote main development branch
nix build -L " github:determinatesystems/nix-installer#nix-installer "
# for a specific version of the installer:
export NIX_INSTALLER_TAG= " v0.6.0 "
nix build -L " github:determinatesystems/nix-installer/ $NIX_INSTALLER_TAG #nix-installer " จากนั้นคัดลอก result/bin/nix-installer ไปยังเครื่องที่คุณต้องการเรียกใช้ นอกจากนี้คุณยังสามารถเพิ่มตัวติดตั้งลงในระบบโดยไม่ต้องใช้ค่าขนส่งสินค้าเนื่องจากไม่มีการพึ่งพาระบบที่ต้องกังวล:
# to build and run a local copy
RUSTFLAGS= " --cfg tokio_unstable " cargo run -- --help
# to build the remote main development branch
RUSTFLAGS= " --cfg tokio_unstable " cargo install --git https://github.com/DeterminateSystems/nix-installer
nix-installer --help
# for a specific version of the installer:
export NIX_INSTALLER_TAG= " v0.6.0 "
RUSTFLAGS= " --cfg tokio_unstable " cargo install --git https://github.com/DeterminateSystems/nix-installer --tag $NIX_INSTALLER_TAG
nix-installer --help ในการสร้างแบบพกพานี้ให้ผ่านตัวเลือก --target x86_64-unknown-linux-musl
บันทึก
ขณะนี้เราต้องการ --cfg tokio_unstable ในขณะที่เราใช้กลุ่มกระบวนการของ TOKIO ซึ่งห่อ std API ที่มีเสถียรภาพ แต่ไม่เสถียรเนื่องจากต้องใช้ MSRV ชน
คำเตือน
การใช้ตัวติดตั้งแบบกำหนด NIX เป็นไลบรารีสนิมยังคงทดลองอยู่ คุณลักษณะนี้มีแนวโน้มที่จะถูกลบออกในอนาคตโดยไม่มีการสนับสนุน หากคุณใช้สิ่งนี้โปรดแจ้งให้เราทราบและเราสามารถให้เส้นทางสู่การรักษาเสถียรภาพ
เพิ่มไลบรารี nix-installer ลงในการพึ่งพาของคุณ:
cargo add nix-installer หากคุณกำลังสร้าง CLI ให้ตรวจสอบการตั้งค่าสถานะ cli สำหรับการรวม clap
คุณจะต้องแก้ไข .cargo/config.toml ของคุณเพื่อใช้ tokio_unstable ในขณะที่เราใช้กลุ่มกระบวนการของ Tokio ซึ่งห่อ std API ที่มีเสถียรภาพ แต่ไม่เสถียรเนื่องจากต้องใช้ MSRV Bump:
# .cargo/config.toml
[ build ]
rustflags =[ " --cfg " , " tokio_unstable " ] คุณจะต้องตั้งค่าตัวแปรสภาพแวดล้อม NIX_INSTALLER_TARBALL_PATH เพื่อชี้ไปที่การติดตั้ง NIX ที่เหมาะสมกับเป้าหมายเช่น NIX-2.21.2-AARCH64-DARWIN.TAR.XZ เนื้อหาจะถูกฝังอยู่ในไบนารีผลลัพธ์แทนที่จะดาวน์โหลดในเวลาติดตั้ง
จากนั้นเป็นไปได้ที่จะตรวจสอบเอกสาร:
cargo doc --open -p nix-installer นอกจากนี้ยังมีเอกสารผ่าน nix build :
nix build github:DeterminateSystems/nix-installer#nix-installer.doc
firefox result-doc/nix-installer/index.htmlคุณสามารถปักหมุดไปยังตัวติดตั้งแบบกำหนด NIX เวอร์ชันเฉพาะได้โดยการแก้ไข URL ดาวน์โหลด นี่คือตัวอย่าง:
VERSION= " v0.6.0 "
curl --proto ' =https ' --tlsv1.2 -sSf -L https://install.determinate.systems/nix/tag/ ${VERSION} |
sh -s -- installหากต้องการค้นพบเวอร์ชันใดที่มีอยู่หรือดาวน์โหลดไบนารีสำหรับการเปิดตัวใด ๆ ให้ตรวจสอบรุ่น GitHub
คุณสามารถดาวน์โหลดและใช้รุ่นเหล่านี้ได้โดยตรง นี่คือตัวอย่าง:
VERSION= " v0.6.0 "
ARCH= " aarch64-linux "
curl -sSf -L https://github.com/DeterminateSystems/nix-installer/releases/download/ ${VERSION} /nix-installer- ${ARCH} -o nix-installer
./nix-installer installแต่ละเวอร์ชันติดตั้งมีเวอร์ชัน NIX ที่รองรับที่เกี่ยวข้อง - หากคุณตรึงเวอร์ชันตัวติดตั้งคุณจะต้องพินทางอ้อมกับเวอร์ชัน NIX ที่เกี่ยวข้อง
นอกจากนี้คุณยังสามารถแทนที่เวอร์ชัน NIX โดยใช้ --nix-package-url หรือ NIX_INSTALLER_NIX_PACKAGE_URL= แต่ไม่แนะนำให้ทำเช่นนี้เนื่องจากเรายังไม่ได้ทดสอบชุดค่าผสมนั้น นี่คือตัวอย่างบางส่วน URL Package ของ Nix รวมถึงเวอร์ชัน NIX, OS และสถาปัตยกรรม:
แตกต่างจากสคริปต์ตัวติดตั้ง upstream nix:
nix.conf :nix-command and flakesbash-prompt-prefix ถูกตั้งค่าauto-optimise-store ถูกตั้งค่าเป็น true (บน Linux เท่านั้น)always-allow-substitutes ให้ตั้งค่าเป็น trueextra-nix-path ถูกตั้งค่าเป็น nixpkgs=flake:nixpkgsmax-jobs ถูกตั้งค่าเป็น autoupgrade-nix-store-path-url ถูกตั้งค่าเป็น https://install.determinate.systems/nix-upgrade/stable/universal เพื่อป้องกันการลดลงโดยไม่ตั้งใจ/nix/receipt.json รวมถึงสำเนาของการติดตั้งไบนารี AT /nix/nix-installernix-channel --update ไม่ทำงาน ~/.nix-channels ไม่ได้จัดเตรียมไว้ssl-cert-file ถูกตั้งค่าใน /etc/nix/nix.conf หากใช้อาร์กิวเมนต์ ssl-cert-file Convate Nix Installer มีการตั้งค่าการกำหนดค่าที่หลากหลายบางส่วนทั่วไปและบางส่วนตามคำสั่งต่อรอง การตั้งค่าทั้งหมดมีให้ผ่านธงหรือผ่านตัวแปร NIX_INSTALLER_* ตัวแปรสภาพแวดล้อม
การตั้งค่าเหล่านี้มีให้สำหรับคำสั่งทั้งหมด
| ธง | คำอธิบาย | ค่าเริ่มต้น (ถ้ามี) | ตัวแปรสภาพแวดล้อม |
|---|---|---|---|
--log-directives | คำสั่งการติดตามคั่นด้วยเครื่องหมายจุลภาค | NIX_INSTALLER_LOG_DIRECTIVES | |
--logger | เครื่องบันทึกใดที่จะใช้ (ตัวเลือกมี compact full pretty และ json ) | compact | NIX_INSTALLER_LOGGER |
--verbose | เปิดใช้งานบันทึกการดีบัก ( -vv สำหรับการติดตาม) | false | NIX_INSTALLER_VERBOSITY |
nix-installer install )| ธง | คำอธิบาย | ค่าเริ่มต้น (ถ้ามี) | ตัวแปรสภาพแวดล้อม |
|---|---|---|---|
--determinate | การติดตั้งที่กำหนด | NIX_INSTALLER_DETERMINATE | |
--diagnostic-attribution | เชื่อมโยงการวินิจฉัยการติดตั้งกับค่าที่เฉพาะเจาะจง | NIX_INSTALLER_DIAGNOSTIC_ATTRIBUTION | |
--diagnostic-endpoint | เส้นทาง URL หรือไฟล์สำหรับการวินิจฉัยการติดตั้งที่จะส่ง | https://install.determinate.systems/nix/diagnostic | NIX_INSTALLER_DIAGNOSTIC_ENDPOINT |
--explain | ให้คำอธิบายเกี่ยวกับการเปลี่ยนแปลงกระบวนการติดตั้งจะทำกับระบบของคุณ | false | NIX_INSTALLER_EXPLAIN |
--extra-conf | สายการกำหนดค่าพิเศษสำหรับ /etc/nix.conf | NIX_INSTALLER_EXTRA_CONF | |
--force | ไม่ว่าตัวติดตั้งควรจะสร้างไฟล์ใหม่หรือไม่ | false | NIX_INSTALLER_FORCE |
--init | ระบบ init ใดที่จะกำหนดค่า (ถ้า --init none nix จะเป็นรูทเท่านั้น) | launchd (MacOS), systemd (Linux) | NIX_INSTALLER_INIT |
--nix-build-group-id | GID กลุ่ม Nix Build | 350 (MacOS), 30000 (Linux) | NIX_INSTALLER_NIX_BUILD_GROUP_ID |
--nix-build-group-name | ชื่อกลุ่ม Nix Build | nixbld | NIX_INSTALLER_NIX_BUILD_GROUP_NAME |
--nix-build-user-count | จำนวนผู้ใช้งานสร้างที่จะสร้าง | 32 | NIX_INSTALLER_NIX_BUILD_USER_COUNT |
--nix-build-user-id-base | ฐานผู้ใช้ Nix Build UID (จากน้อยไปมาก) (หมายเหตุ: UID แรกจะเป็นฐานนี้ + 1) | 350 (MacOS), 30000 (Linux) | NIX_INSTALLER_NIX_BUILD_USER_ID_BASE |
--nix-build-user-prefix | คำนำหน้าผู้ใช้ NIX Build (หมายเลขผู้ใช้จะถูก postfixed) | _nixbld (macOS), nixbld (linux) | NIX_INSTALLER_NIX_BUILD_USER_PREFIX |
--nix-package-url | URL แพ็คเกจ Nix | NIX_INSTALLER_NIX_PACKAGE_URL | |
--no-confirm | เรียกใช้การติดตั้งโดยไม่ต้องมีการยืนยันผู้ใช้อย่างชัดเจน | false | NIX_INSTALLER_NO_CONFIRM |
--no-modify-profile | แก้ไขโปรไฟล์ผู้ใช้เพื่อโหลด Nix โดยอัตโนมัติ | true | NIX_INSTALLER_MODIFY_PROFILE |
--proxy | พร็อกซีที่จะใช้ (ถ้ามี); ฐานพร็อกซีที่ถูกต้องคือ https://$URL , http://$URL และ socks5://$URL | NIX_INSTALLER_PROXY | |
--ssl-cert-file | ใบรับรอง SSL ที่จะใช้ (ถ้ามี); ใช้สำหรับการดึง nix และตั้งค่า ssl-cert-file ใน /etc/nix/nix.conf | NIX_INSTALLER_SSL_CERT_FILE | |
--no-start-daemon | เริ่ม daemon (ถ้าไม่ --init none ) | true | NIX_INSTALLER_START_DAEMON |
นอกจากนี้คุณยังสามารถระบุผู้วางแผนด้วยอาร์กิวเมนต์แรก:
nix-installer install < plan > หรือคุณสามารถใช้ตัวแปรสภาพแวดล้อม NIX_INSTALLER_PLAN :
NIX_INSTALLER_PLAN= < plan > nix-installer installnix-installer uninstall )| ธง | คำอธิบาย | ค่าเริ่มต้น (ถ้ามี) | ตัวแปรสภาพแวดล้อม |
|---|---|---|---|
--explain | ให้คำอธิบายเกี่ยวกับการเปลี่ยนแปลงกระบวนการติดตั้งจะทำกับระบบของคุณ | false | NIX_INSTALLER_EXPLAIN |
--no-confirm | เรียกใช้การติดตั้งโดยไม่ต้องมีการยืนยันผู้ใช้อย่างชัดเจน | false | NIX_INSTALLER_NO_CONFIRM |
นอกจากนี้คุณยังสามารถระบุใบเสร็จรับเงินการติดตั้งเป็นอาร์กิวเมนต์แรก (ค่าเริ่มต้นคือ /nix/receipt.json ):
nix-installer uninstall /path/to/receipt.jsonnix-installer plan )| ธง | คำอธิบาย | ค่าเริ่มต้น (ถ้ามี) | ตัวแปรสภาพแวดล้อม |
|---|---|---|---|
--out-file | สถานที่เขียนแผนการสร้าง (ในรูปแบบ JSON) | /dev/stdout | NIX_INSTALLER_PLAN_OUT_FILE |
nix-installer repair )| ธง | คำอธิบาย | ค่าเริ่มต้น (ถ้ามี) | ตัวแปรสภาพแวดล้อม |
|---|---|---|---|
--no-confirm | เรียกใช้การติดตั้งโดยไม่ต้องมีการยืนยันผู้ใช้อย่างชัดเจน | false | NIX_INSTALLER_NO_CONFIRM |
nix-installer self-test ) nix-installer self-test ใช้การตั้งค่าทั่วไปเท่านั้น
เป้าหมายของการกำหนดตัวติดตั้ง NIX ที่กำหนดคือการติดตั้ง NIX ให้สำเร็จและถูกต้อง curl | sh Pipeline และผู้ติดตั้งรวบรวมข้อมูลการวินิจฉัยเล็กน้อยเพื่อช่วยให้เราทำให้เป็นจริง
นี่คือตารางข้อมูลการวินิจฉัยที่เรารวบรวม:
| สนาม | ใช้ |
|---|---|
version | เวอร์ชันของตัวติดตั้งที่กำหนดไว้แล้ว |
planner | วิธีการติดตั้ง Nix ( linux , macos , steam-deck ) |
configured_settings | ชื่อของการตั้งค่านักวางแผนซึ่งเปลี่ยนจากค่าเริ่มต้น ไม่ รวมค่า |
os_name | ระบบปฏิบัติการที่ทำงาน |
os_version | รุ่นของระบบปฏิบัติการ |
triple | สถาปัตยกรรม/ระบบปฏิบัติการ/รูปแบบไบนารีของระบบของคุณ |
is_ci | ไม่ว่าจะใช้ตัวติดตั้งใน CI (เช่นการกระทำของ GitHub) |
action | Install หรือ Uninstall |
status | หนึ่งใน Success Failure Pending หรือ Cancelled |
attribution | ผู้ใช้ที่กำหนดโดยทางเลือกให้เชื่อมโยงการวินิจฉัยของการเรียกใช้นี้กับค่าที่ให้ไว้ |
failure_chain | คำอธิบายระดับสูงของความล้มเหลวคืออะไรถ้ามี ตัวอย่างเช่น: Command("diskutil") หาก diskutil list คำสั่งล้มเหลว |
หากต้องการปิดใช้งานการรายงานการวินิจฉัยให้ตั้งค่า URL การวินิจฉัยเป็นสตริงที่ว่างเปล่าโดยผ่าน --diagnostic-endpoint="" หรือการตั้งค่า NIX_INSTALLER_DIAGNOSTIC_ENDPOINT=""
คุณสามารถอ่านนโยบายความเป็นส่วนตัวอย่างเต็มรูปแบบสำหรับระบบที่กำหนดผู้สร้างตัวติดตั้งที่กำหนดโดยกำหนดได้ที่นี่