nixos-cosmic桌面瘦身技巧:用excludePackages移除多余COSMIC应用
【免费下载链接】nixos-cosmicFlake for using COSMIC on NixOS项目地址: https://gitcode.com/gh_mirrors/ni/nixos-cosmic
nixos-cosmic 是一个让你在 NixOS 上畅享 COSMIC 桌面环境的 Flake 项目,它把 System76 出品的现代 Wayland 桌面完整搬进 NixOS,开箱即用。但默认配置会一次性安装十几款 COSMIC 应用——文本编辑器、媒体播放器、截图工具……其中不少你可能根本用不到。这篇教程就来分享 nixos-cosmic 桌面瘦身技巧:用 excludePackages 精准移除多余 COSMIC 应用,让系统更轻、构建更快、应用菜单更清爽。
为什么你的 COSMIC 桌面需要瘦身?
COSMIC 桌面以"全家桶"形式随 nixos-cosmic 默认安装,好处是开箱即用,代价也很明显:
- ⚙️ 构建与安装时间变长:每次
nixos-rebuild都要处理更多软件包 - 💾 磁盘占用更高:编辑器、播放器、商店等大型应用动辄占用上百 MB
- 🧹 应用菜单臃肿:一堆用不上的应用挤在启动器里,找东西费劲
NixOS 的理念是"按需精确声明系统状态",既然配置文件写什么就装什么,为什么不多移除几个用不到的应用呢?
nixos-cosmic 默认安装了哪些 COSMIC 应用?
先看看默认环境到底装了什么。在nixos/cosmic/module.nix的默认安装清单中,主要 COSMIC 应用如下:
| 软件包 | 作用 | 典型使用场景 |
|---|---|---|
| cosmic-files | 文件管理器 | 日常文件操作 |
| cosmic-edit | 文本编辑器 | 写代码、改配置 |
| cosmic-term | 终端模拟器 | 命令行操作 |
| cosmic-player | 媒体播放器 | 看视频、听音乐 |
| cosmic-screenshot | 截图工具 | 截屏、录屏 |
| cosmic-applibrary | 应用库 | 浏览、管理应用 |
| cosmic-store | 软件商店 | 安装 Flatpak 应用 |
| cosmic-launcher | 全局启动器 | 搜索、启动应用 |
| cosmic-panel | 顶部任务栏 | 系统托盘、窗口管理 |
| cosmic-settings | 系统设置 | 桌面各项配置 |
| cosmic-notifications | 通知中心 | 消息提醒 |
其中cosmic-store只有在开启services.flatpak.enable后才会被加入默认安装(见nixos/cosmic/module.nix中的lib.optionals逻辑)。如果你不用 Flatpak,它本来就不会出现,无需手动排除。
excludePackages 是什么?一学就会的瘦身核心技巧
environment.cosmic.excludePackages是 nixos-cosmic 模块专门提供的排除选项,定义于nixos/cosmic/module.nix:它接收一个软件包列表,在安装时通过utils.removePackagesByName从默认集合中精准剔除你不需要的应用,其余部分原样保留。
用法非常简单,比如你从不使用 COSMIC 自带的文本编辑器 cosmic-edit:
environment.cosmic.excludePackages = [ pkgs.cosmic-edit ];执行nixos-rebuild switch后,cosmic-edit 就会从系统中消失,应用菜单里也少一个图标。
实战:一键移除用不到的 COSMIC 应用
下面是一份"精简党"常用配置(前提是你已通过 Flake 引入 nixos-cosmic 并启用 COSMIC 模块,仓库地址:https://gitcode.com/gh_mirrors/ni/nixos-cosmic),把自带、但你大概率会用替代品的应用全部移除:
{ config, pkgs, ... }: { services.desktopManager.cosmic.enable = true; services.displayManager.cosmic-greeter.enable = true; environment.cosmic.excludePackages = [ pkgs.cosmic-edit # 用 VS Code / Helix 替代 pkgs.cosmic-player # 用 mpv / VLC 替代 pkgs.cosmic-screenshot # 用 Flameshot 替代 pkgs.cosmic-store # 不使用 Flatpak 商店 ]; }💡 提示:排除后想反悔也很简单——从列表里删掉对应行,重新nixos-rebuild switch即可。NixOS 的声明式特性让"后悔药"成本几乎为零,可以放心大胆地做减法。
重要提醒:cosmic-files 与 cosmic-session 的连带关系
瘦身时有一个"坑"必须避开:cosmic-files(文件管理器)与cosmic-session(会话管理)存在依赖关系。nixos/cosmic/module.nix中专门内置了诊断警告——如果只排除cosmic-files而不排除cosmic-session,COSMIC 会话可能无法正常初始化,登录后出现黑屏或闪退。
正确的处理方式有两种:
- ✅ 不排除
cosmic-files,保留默认文件管理器(最稳妥); - ⚠️ 把
cosmic-session和cosmic-files一起排除,并自行配置好会话启动方式(适合重度自定义用户)。
瘦身之外:让 nixos-cosmic 更合心意的进阶技巧
- 🎨 连带清理字体:模块会用同一份 excludePackages 列表过滤
fonts.packages中的 Fira、Noto 等字体,一次排除、多处生效; - 🚀 关闭 XWayland:
services.desktopManager.cosmic.xwayland.enable = false可进一步精简运行时依赖(部分旧应用可能无法运行); - 📦 应用交给 Flatpak:开启
services.flatpak.enable = true配合 cosmic-store,把重量级应用全部交给 Flatpak 管理,系统本身保持轻量。
总结
environment.cosmic.excludePackages是每个 NixOS + COSMIC 用户都该掌握的桌面瘦身技巧:一条声明式配置,即可移除多余 COSMIC 应用,换来更快的构建、更小的磁盘占用和更清爽的应用菜单。记住 cosmic-files 的连带警告,大胆做减法,你的 COSMIC 桌面会越用越顺手。😄
【免费下载链接】nixos-cosmicFlake for using COSMIC on NixOS项目地址: https://gitcode.com/gh_mirrors/ni/nixos-cosmic
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考