nixspkgs中心和discover软件中心

结论

同一台机器上装软件有六条路线,定位不同:日常装软件走声明式配置(一次声明、重装可复现);逛和尝鲜走 Discover / 临时运行;仓库里没有的才走外部包,且要认清代价(升级、回滚、垃圾回收是否还管用)。

路线管什么一句话定位
1. 声明式配置仓库内软件主力:写进系统配置,重建即生效
2. DiscoverFlatpak 应用图形逛店,只管 Flatpak,不管系统包
3. 临时运行任意仓库包不装只跑,尝鲜验证用
4. 命令行安装仓库内软件同声明式,只是操作面不同
5. 外部 release 包仓库外软件仓库没有时的补充,有代价
6. 其他方式特殊场景容器 / 自打包 / 旧版兼容

路线 1:仓库声明式安装(主力)

在系统配置里声明要装的包,重建后生效。特点是可复现:换机器把同一份配置拿过去即得同一套软件;回滚跟系统世代走。

  • 检索:在包检索站按名或类别搜,确认包属性名与版本
  • 安装:配置里加一行,执行系统重建
  • 回滚:回退到上一个系统世代即可

路线 2:Discover 软件中心

桌面自带的图形商店。在该系统上它没有系统包后端,能浏览和安装的只有 Flatpak 应用(另带固件与主题插件)。远端只能手工增减,不能写进声明式配置。

  • 适用:逛应用、装 Flatpak 打包的桌面软件
  • 不适用:装系统包、装仓库原生包
  • 国内加速:把远端地址换成国内镜像后验证可达

路线 3:临时运行(不装只跑)

只跑一次、不进系统,适合尝鲜和验证:先跑起来看是否合用,合用再收进声明式配置。

nix-shell -p 软件名 --run 软件名
nix run 仓库地址#软件名

路线 4:命令行安装

与声明式安装是同一仓库的不同操作面:命令行适合单次快速装、写脚本批量装;声明式适合长期持有。要可复现的机器优先声明式。

nix search 仓库别名 关键词
nix profile install 仓库别名#软件名

路线 5:代码托管站发布的 Linux 包

仓库里没有、上游只发了压缩包或安装包时的补充路线,常见形态有三类:解压即用、需手工放路径、提供安装脚本。代价是升级、卸载、回滚都要手工管。

  • 先确认仓库真没有,再考虑外部包
  • 优先选上游提供的免安装压缩包,落到用户目录自管
  • 记下版本与来源,升级时可追溯

路线 6:其他方式

  • 容器化运行:需隔离或与系统依赖冲突的软件,用容器跑
  • 自打包:长期用的外部软件,写一份自有打包声明收进配置
  • 兼容层:只在上游提供旧格式包时用,注意沙箱权限

管理命令

用途命令
搜仓库包nix search 仓库别名 关键词 search.nixos.org/packages
临时跑一次nix-shell -p 软件名 --run 软件名
列 Flatpak 远端flatpak remotes --show-details
换 Flatpak 镜像源flatpak remote-modify --url=镜像地址/远端名

边界

  • Discover 装不了系统包:搜不到系统软件是机制限制,不是源没配够
  • 国内镜像地址待实测:逐个验证可达与速度后再定,不拼 URL
  • 外部包不在系统世代管理内:重装需手工补