Misalkan saya mencari paket untuk menginstal menggunakan nix-env's --queryoperasi:
$ nix-env -qa 'aspell.*en'
aspell-dict-en-7.1-0
Saya menulis nama paket ini di /etc/nixos/configuration.nix, file konfigurasi utama NixOS :
environment.systemPackages = with pkgs; [
aspell-dict-en
];
Namun jika saya menjalankan sudo nixos-rebuild switch, perintah NixOS untuk memperbarui konfigurasi dan menginstal semua paket seluruh sistem yang ditentukan oleh deklaratif , itu dibatalkan dengan kesalahan:
error: undefined variable ‘aspell-dict-en’ at /etc/nixos/configuration.nix:44:5
Saya tahu bahwa untuk banyak paket, walaupun tidak semua, nama yang nix-envkembali dan nama yang harus ditentukan dalam environment.systemPackagesopsi konfigurasi berbeda, tetapi saya tidak mengerti logikanya. Bagaimana cara saya menginstal paket yang saya temukan nix-env?
-Ppilihan tidak bekerja dengan--installed, seperti dapat dilihat dengannix-env -q --installed -P | grep terminusyang mencetakterminus-fontbukanterminus_font. Solusinya adalah menggunakannix-env -qaP | grep terminus-font, tetapi itu berarti bahwa Anda tidak dapat dengan mudah membuang outputnix-env -q --installedke dalamconfiguration.nix.