คำถามติดแท็ก nixos

NixOS เป็นการแจกจ่าย Linux ที่ใช้ Nix ต้องขอบคุณ Nix ที่สนับสนุนการอัปเกรดอะตอมการย้อนกลับและการจัดการแพ็คเกจสำหรับผู้ใช้หลายคนและมีวิธีการที่เปิดเผยในการจัดการการกำหนดค่าระบบที่ทำให้ง่ายต่อการสร้างการกำหนดค่าบนเครื่องอื่น

4
จะค้นหาชื่อของแพ็คเกจ Nix เพื่อติดตั้งใน configuration.nix ได้อย่างไร?
สมมติว่าฉันค้นหาสำหรับแพคเกจการติดตั้งโดยใช้nix-env's --queryการดำเนินงาน: $ nix-env -qa 'aspell.*en' aspell-dict-en-7.1-0 ฉันเขียนชื่อแพ็คเกจนี้ในไฟล์กำหนดค่า/etc/nixos/configuration.nixหลักของ NixOS : environment.systemPackages = with pkgs; [ aspell-dict-en ]; แต่ถ้าฉันเรียกใช้sudo nixos-rebuild switchคำสั่ง NixOS เพื่ออัปเดตการกำหนดค่าและติดตั้งแพ็กเกจทั้งระบบที่ระบุโดยประกาศมันจะยกเลิกข้อผิดพลาด: error: undefined variable ‘aspell-dict-en’ at /etc/nixos/configuration.nix:44:5 ฉันรู้ว่าสำหรับแพ็คเกจจำนวนมากถึงแม้ว่าจะไม่ได้ทั้งหมดชื่อที่nix-envส่งคืนและชื่อที่ควรระบุในenvironment.systemPackagesตัวเลือกการกำหนดค่าจะแตกต่างกัน แต่ฉันไม่เข้าใจตรรกะ ฉันจะติดตั้งแพ็กเกจที่พบได้nix-envอย่างไร
21 nixos  nix 

3
ฉันจะสร้างที่เก็บโลคัลสำหรับ NixOS / nixpkgs ได้อย่างไร?
คำแนะนำทั้งหมดที่ฉันค้นหาเพื่อสร้างที่เก็บโลคัลของแพ็กเกจ Nix เกี่ยวข้องกับการสร้างโคลนโลคัลของที่nixpkgsเก็บหลักและเพิ่มลงในนั้น มีวิธีที่ฉันสามารถสร้างพื้นที่เก็บข้อมูลขนาดเล็กเพียงแค่มีแพคเกจ Add-on ท้องถิ่นของฉัน?

1
วิธีแยก /etc/nixos/configuration.nix เป็นโมดูลแยกกันได้อย่างไร
สมมติว่าฉันมีไฟล์กำหนดค่า NixOSง่ายมาก: { config, pkgs, ... }: { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix ]; # SOME STUFF environment.systemPackages = with pkgs; [ emacs gitFull ]; # SOME STUFF } ฉันรู้ว่า NixOS ใช้ระบบโมดูลและโมดูลเป็น.nixไฟล์ ทุก.nixไฟล์ควรมีนิพจน์ห้ามที่ถูกต้อง(เช่นฟังก์ชั่นหรือชุด) นี่หมายความว่าไฟล์กำหนดค่า NixOS /etc/nixos/configuration.nixเป็นโมดูลซึ่งมีนิพจน์ Nix ฉันก็รู้ว่าเพื่อให้นิพจน์ห้ามในโมดูลอื่นมองเห็นโมดูลที่ฉันทำงานด้วยฉันสามารถใช้importฟังก์ชั่นในตัว ฉันต้องการที่จะแยกการประกาศของแพคเกจระบบ (รายการที่มีemacsและgitFull) packages.nixออกเป็นไฟล์ ฉันจะแบ่งไฟล์คอนฟิกูเรชัน NixOS …
14 nixos  nix 

2
จะค้นหาไฟล์ที่ไม่ได้ติดตั้งในแพ็คเกจบน NixOS ได้อย่างไร?
ผมใช้แพคเกจผู้จัดการห้ามบนNixOS libgtk-x11-2.0.so.0สมมติว่าผมต้องการที่จะติดตั้งแพคเกจที่ให้แฟ้ม ฉันจะหาแพ็คเกจที่ให้ไฟล์นี้คล้ายกับการกระจาย GNU / Linux อื่น ๆ ได้อย่างไร ขณะนี้ฉันต้อง google ไฟล์และหาแพคเกจที่มันอาจเป็นและหาแพคเกจที่สอดคล้องกันบนที่เก็บห้าม แต่ฉันต้องการวิธีการสำนวนมากขึ้น

2
วิธีการเมาท์ / เมาท์อุปกรณ์ภายนอกโดยอัตโนมัติบน NixOS
ฉันมีแท่ง USB และพาร์ทิชันฮาร์ดไดรฟ์ NTFS ที่ฉันต้องการใช้ใน NixOS ในการกระจายอื่น ๆ ฉันจะติดมันโดยใช้ ntfs-3g ใน / mnt แต่ใน NixOS ไดเรกทอรีไม่มีอยู่ ฉันคิดว่า NixOS เป็นวิธีมาตรฐานและ / หรือสถานที่อื่น ๆ ใน NixOS ควรตั้งค่าการติดตั้งพาร์ติชันภายนอกโดยอัตโนมัติอย่างไรควรใช้ configuration.nix
12 usb  ntfs  automounting  nixos 

2
ไม่สามารถดำเนินการไบนารีใน NixOS - ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว
ฉันพยายามติดตั้ง oracle jre ปัจจุบันบน VM ที่ใช้ NixOS ต่อไปนี้เกิดขึ้น: [michas@cc:~]$ tar xvzf jre-7u40-linux-x64.tar.gz |grep bin/java jre1.7.0_40/bin/javaws jre1.7.0_40/bin/java_vm jre1.7.0_40/bin/java [michas@cc:~]$ ls -l ./jre1.7.0_40/bin/java -rwxr-xr-x 1 michas nogroup 7750 Aug 27 09:17 ./jre1.7.0_40/bin/java [michas@cc:~]$ ./jre1.7.0_40/bin/java bash: ./jre1.7.0_40/bin/java: No such file or directory WTF? ไฟล์ที่ระบุชื่อนั้นชัดเจน เกิดอะไรขึ้น? พยายามวิเคราะห์เพิ่มเติม: [michas@cc:~]$ strace ./jre1.7.0_40/bin/java execve("./jre1.7.0_40/bin/java", ["./jre1.7.0_40/bin/java"], [/* 53 …

1
วิธีการรวบรวมเอกสารลาเท็กซ์บน NixOS?
ผมปกติใช้pdflatexในการรวบรวมเอกสารน้ำยาง แต่ใน NixOS ฉันไม่เห็นว่าสามารถใช้ได้ในการติดตั้งผ่านทางpdflatex$ nix-env -i pdflatex $ nix-env -qa pdflatex error: selector ‘pdflatex’ matches no derivations ผลลัพธ์สำหรับpdflatexไม่ปรากฏในการค้นหาที่nixos.org/nixos/packages.htmlเช่นกัน แต่ผมไม่ได้แจ้งให้ทราบล่วงหน้ามีแพคเกจrubberซึ่งเห็นได้ชัดว่า wraps โปรแกรมอื่น ๆ pdflatexรวมทั้งน้ำยาง หลังจากติดตั้งrubberและพยายามรวบรวมเอกสารลาเท็กซ์ด้วยฉันได้รับข้อผิดพลาด "pdflatex is not found" ต่อไปนี้ $ rubber --pdf doc.tex compiling doc.tex... pdflatex not found Running pdflatex failed. ฉันจะติดตั้ง pdflatex เพื่อรวบรวมเอกสารลาเท็กซ์บน NixOS ได้อย่างไร ทำไมถึงrubberมีการติดตั้งผ่านnix-envในขณะที่pdflatexการพึ่งพาrubberไม่ได้? จากหมายเหตุด้านข้างส่วน'Tex / Latex' …

3
จะติดตั้งแพ็คเกจ npm ใน NixOS ได้อย่างไร?
ใน NixOS ผมติดตั้งแพคเกจได้ตามปกติโดยการเรียกใช้yarn $ nix-env -i yarnตอนนี้ผมกำลังพยายามที่จะวิ่งผ่านyarn $ yarn startแต่นี่ทำให้ฉันเกิดข้อผิดพลาดดังต่อไปนี้ $ yarn start yarn start v0.20.3 $ webpack-dev-server --env dev sh: webpack-dev-server: command not found error Command failed with exit code 127. เมื่อฉันพยายามติดตั้งwebpack-dev-serverใน NixOS ตามปกติของฉันฉันจะได้รับข้อผิดพลาด $ nix-env -i webpack-dev-server error: selector ‘webpack-dev-server’ matches no derivations ฉันอ่านนั่นwebpack-dev-serverคือแพ็คเกจ npm และฉันไม่แน่ใจเกี่ยวกับคำถามสองสามข้อเกี่ยวกับความเกี่ยวข้องของสิ่งนั้นในกรณีนี้ มันสมเหตุสมผลหรือไม่ที่จะใช้ NPM …
10 nixos  npm 

1
วิธีการเปลี่ยนเปลือกเริ่มต้นใน NixOS?
ในขณะที่ฉันต้องตั้งเปลือกปลาที่จะเริ่มต้นเปลือกของฉันใน NixOS และไม่มีเอกสารอย่างเป็นทางการเกี่ยวกับวิธีการทำที่declaratively (ไม่ได้โดยการทำงานchsh) ใน NixOS
10 shell  fish  nixos 

1
คุณจะติดตั้งแพ็คเกจแบบใช้ครั้งเดียวใน NixOS ได้อย่างไร
ฉันมีกล่อง NixOS ที่ฉันเก็บไว้ในnixos-16.03ช่อง ฉันต้องการให้เครื่องอยู่ในสถานะที่เสถียรเป็นส่วนใหญ่และดังนั้นฉันจึงต้องการหลีกเลี่ยงการเปลี่ยนไปใช้nixos-unstableช่อง อย่างไรก็ตามฉันต้องติดตั้งแพ็คเกจรุ่นใหม่กว่าที่มีอยู่ในช่องนั้น ( nodejs-6_xในอินสแตนซ์นี้) ในคู่มือมีส่วนที่อธิบายการติดตั้ง One-Clickซึ่งดูเหมือนในตอนแรกเหมือนกับสิ่งที่ฉันต้องการ อย่างไรก็ตามเซิร์ฟเวอร์ Hydra ที่http://hydra.nixos.orgดูเหมือนจะไม่สามารถให้บริการ.nixpkgไฟล์ใด ๆที่nix-install-packageเครื่องมือใช้อธิบายไว้ในส่วนนั้น วิกิยังบันทึกกระบวนการที่สามารถปรับแต่งแพ็กเกจได้ (หน้านี้เรียกว่าModifying Packages ) ซึ่งฉันคิดว่าสามารถใช้เพื่อจุดประสงค์ของฉันได้แม้ว่ามันจะดูเหมือนว่าฉันกำลังต่อสู้กับเครื่องมือแทนที่จะใช้มัน ฉันถามเกี่ยวกับเรื่องนี้ใน IRC ด้วย (ขอบคุณM-Ralithสำหรับการตอบคำถามที่ไม่รู้ของฉันอย่างอดทน!) แต่ฉันก็ไม่เข้าใจเลยว่าจะใช้มันอย่างไร คำแนะนำคือ "แทนที่ src และเวอร์ชันใน nixpkgs config ของคุณ" ซึ่งดูเหมือนว่าฉันสามารถเขียนนิพจน์ใน.nixpkgs/configuration.nixและแทนที่คุณสมบัติเหล่านั้นสำหรับแพ็คเกจในช่องที่สมัครรับข้อมูลของฉัน ( nixos-16.03) เมื่อฉันถามเกี่ยวกับแพคเกจที่ไม่มีอยู่ในช่องทางคำแนะนำคือ "เพื่อระบุแพคเกจทั้งหมดแทนที่จะเขียนทับ src และเวอร์ชั่น" ซึ่งฉันใช้หมายความว่าฉันจะต้องทำซ้ำนิพจน์ทั้งนิพจน์สำหรับแพ็คเกจ ฉันสนใจใน.nix-env สำหรับแพ็คเกจที่มีอยู่ในช่องอื่นที่ฉันต้องการติดตั้ง แต่อยู่ในช่องปัจจุบันของฉันจะมีวิธีที่ดีกว่านี้ไหม? nix-build <url> | nix-env -iมันเกือบจะรู้สึกเหมือนฉันควรจะสามารถที่จะทำสิ่งที่ชอบ สิ่งที่เหมาะสมที่สุดคือการติดตั้งตัวเลือกนี้ออกไป แต่ไม่มีการกำหนดค่าที่อาจป้องกันไม่ให้อัปเกรดภายหลังในกรณีที่ช่องสัญญาณปัจจุบันของฉันถูกติดตาม
9 nixos  nix  nixpkgs 

1
cabal ตายบน NixOS ใน KVM
ฉันตั้งค่าระบบ NixOS บน KVM และติดตั้งแพคเกจ haskelPlatform ทุกอย่างทำงานได้ดี ghci ทำงานได้ดี แต่ cabal ตายโดยไม่มีข้อความแสดงข้อผิดพลาดที่เป็นประโยชน์: [michas@nix:~]$ type -a cabal cabal is /run/current-system/sw/bin/cabal [michas@nix:~]$ cabal --version cabal-install version 1.16.0.2 using version 1.16.0 of the Cabal library [michas@nix:~]$ cabal update Downloading the latest package list from hackage.haskell.org Aborted [michas@nix:~]$ cabal update -v3 Downloading the latest …
9 linux  kill  haskell  nixos  cabal 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.