ill*_*out 7 command-line configuration package-management nixos nix
是否有一个命令可用于确定在 NixOS 中系统范围内安装了哪些软件包?
例如,我可以列出为当前用户安装的软件包nix-env -q
。我不知道有什么方法可以从/etx/nixos/configuration.nix
.
我想使用两个单独的实例:
假设我向/etc/nixos/configuration.nix
in添加了一个包environment.systemPackages
,但我忘记了我是否已经运行nixos-rebuild switch
了。如果有一个我可以运行的命令来检查包是否在系统环境中,那就太好了。
我已经programs.bash.enableCompletion
设置为true
in /etc/nixos/configuration.nix
。不看nixpkgs中的选项,我猜这个选项会设置bash-completion
要安装的包。如果有一个我可以运行的命令来检查bash-completion
包是否确实在系统环境中,那就太好了。
没有专门的工具可以做到这一点。您可能喜欢这个system.copySystemConfiguration
选项(请参阅文档中的“注意事项”)。
您将相对接近nix-store -q --references /run/current-system/sw
– 直接包含在 中的 nix 存储路径列表systemPackages
,但请注意,各种 NixOS 选项可能会在其中添加包。