【发布时间】:2018-06-05 20:05:35
【问题描述】:
我最近安装了 NixOS,最终获得了 3 个配置文件:
- bruno(用户个人资料),
- 默认(由 root 使用),并且
- 系统(由 NixOS 使用)。
我发现为系统配置文件使用稳定通道和为我使用不稳定通道(布鲁诺配置文件)很方便:
~> nix-channel --list
unstable https://nixos.org/channels/nixos-unstable
~> sudo nix-channel --list
nixos https://nixos.org/channels/nixos-17.09
然后我通过/etc/nixos/configuration.nix 声明性地安装了一些包:
environment.systemPackages = with pkgs; [
firefox
chromium
htop
# ...
];
还有一些命令式:nix-env --install firefox。
现在列出我安装的包,我希望还能看到系统配置文件提供的那些(因为它们在我的用户配置文件中可用):
~> htop --version
htop 2.0.2 - (C) 2004-2016 Hisham Muhammad
Released under the GNU GPL.
~> nix-env -q | grep htop
~> nix-env -q | grep firefox
firefox-57.0
仅列出 Firefox。让我们尝试使用根配置文件:
~> sudo nix-env -q | grep htop
同样的,它实际上是完全空的。 也许使用系统配置文件:
~> sudo nix-env -p /nix/var/nix/profiles/system -q
还是什么都没有。
来自传统的包管理器(Debian、Red Hat),我发现 Nix 被定义为“纯功能包管理器”似乎并没有提供通用查询包的工具 - nix-env 在整个手册中都被提及感觉就像 Debian apt 的另一个自我。
是否有这样的工具,或者这不是一个问题,也就是说,人们通常不会有跨配置文件/环境的所有包的列表吗?
【问题讨论】:
标签: nixos