Cộng đồng NixOS có ba hướng dẫn, luôn tham khảo ý kiến trước, nếu bạn gặp khó khăn:
Mỗi gói trên Nix được chỉ định bởi biểu thức Nix. Biểu thức Nix là một số văn bản, được viết bằng ngôn ngữ Nix, thường nằm trong một tệp có phần mở rộng .nix
.
Mỗi biểu thức đều có cái gọi là tên biểu tượng của người Hồi giáo, một tên dễ đọc được in ra khi bạn sử dụng nix-env
. Xem biểu thức Nix mẫu . Bản thân Nix không sử dụng tên tượng trưng này ở bất cứ đâu trong nội bộ, vì vậy không có vấn đề gì nếu gói của bạn được đặt tên aspell-dict-en
, nó chỉ nhằm mục đích thuận tiện cho con người của bạn.
Điều thực sự quan trọng là cái gọi là đường dẫn thuộc tính của Google. Vì vậy, sự nhầm lẫn của bạn là giữa tên biểu tượng và đường dẫn thuộc tính. Mỗi gói có một đường dẫn thuộc tính, mà bạn có thể sử dụng trong environment.systemPackages
tùy chọn cấu hình để cài đặt toàn hệ thống bằng cách sử dụng quản lý gói khai báo .
Để tìm ra đường dẫn thuộc tính của gói của bạn, hãy thêm một cờ khác -P
vào truy vấn của bạn:
$ nix-env -qaP 'aspell.*en'
nixos.aspellDicts.en aspell-dict-en-7.1-0
Bạn có thể thoải mái sử dụng nix-env
trên một cơ sở hàng ngày, vì vậy thực hành gọi nix-env
với --query
và --install
tùy chọn. Tuy nhiên, bạn cũng có thể duyệt các gói và tìm ra đường dẫn thuộc tính của chúng trực tuyến trên tìm kiếm gói Nix . Nhập aspell
, nhấp vào aspell-dict-en
và bạn sẽ thấy các thuộc tính của gói khác nhau, bao gồm đường dẫn thuộc tính như một phần của lệnh cài đặt:
$ nix-env -iA nixos.pkgs.aspellDicts.en
Bây giờ bạn có thể đặt đường dẫn thuộc tính này vào /etc/nixos/configuration.nix
:
environment.systemPackages = with pkgs; [
aspellDicts.en
];
Sau đó cập nhật hệ thống bằng cách chạy sudo nixos-rebuild switch
.
-P
tùy chọn không hoạt động với--installed
, như có thể được nhìn thấy vớinix-env -q --installed -P | grep terminus
bản interminus-font
thay vìterminus_font
. Cách giải quyết là sử dụngnix-env -qaP | grep terminus-font
, nhưng điều đó có nghĩa là bạn không thể dễ dàng đổ đầu ranix-env -q --installed
vàoconfiguration.nix
.