Angenommen, ich suche nach einem Paket, das mithilfe nix-env
der folgenden --query
Operation installiert werden soll :
$ nix-env -qa 'aspell.*en'
aspell-dict-en-7.1-0
Ich schreibe diese Paketnamen in /etc/nixos/configuration.nix
, NixOS Hauptkonfigurationsdatei :
environment.systemPackages = with pkgs; [
aspell-dict-en
];
Wenn ich sudo nixos-rebuild switch
jedoch den Befehl NixOS ausführe, um die Konfiguration zu aktualisieren und alle von deklarativ angegebenen systemweiten Pakete zu installieren , wird der Vorgang mit einem Fehler abgebrochen:
error: undefined variable ‘aspell-dict-en’ at /etc/nixos/configuration.nix:44:5
Ich weiß, dass für viele Pakete, obwohl nicht für alle, der Name, der nix-env
zurückgegeben wird, und der Name, den man in der environment.systemPackages
Konfigurationsoption angeben sollte, unterschiedlich sind, aber ich verstehe die Logik nicht. Wie installiere ich ein Paket, das ich gefunden habe nix-env
?
-P
funktioniert die Option nicht mit--installed
, wie zu sehen ist, mitnix-env -q --installed -P | grep terminus
welchen Ausdruckenterminus-font
stattterminus_font
. Die Problemumgehung ist die Verwendungnix-env -qaP | grep terminus-font
, aber es bedeutet , dass Sie nicht einfach die Ausgabe des Dump kannnix-env -q --installed
in dieconfiguration.nix
.Wenn Sie NixOS for Data Science verwenden:
Python- Module:
oder
ODER wenn Sie speziell nach R- Paketen / Bibliotheken suchen
alternativ bekommst du ig npm pakete mit:
es gibt auch eine website für die suche nach pkgs
quelle
Ich würde das Ergebnis von
nix-env -v -qaP '*'
in einer Datei speichern (wie es normalerweise eine Weile dauert, um zurückzukehren).Denken Sie daran, dass nix-env Dinge unter
haskellPackages
(und möglicherweise auch andere) zu ignorieren scheint .nix-env search ist momentan ziemlich frustrierend, da es mehr als 5 Sekunden dauern wird und dann mit einem
error: regex error
...quelle
Zusätzlich zu Mirzhans Optionen: Sie könnten
/nix/store
gerne überprüfengrep -irw "programm-name" /nix/store
. Dies könnte jedoch etwas verwirrend sein. Auch in Ihrem Home-Verzeichnis können Sie das Verzeichnis.local/share
nach installierten Programmen / Apps durchsuchen.quelle