Utilizes the IceDOS framework. The full bible — module structure, config flow, the
icedos rebuild --buildtest loop,validate.*helpers, dep loading — lives in core: https://github.com/IceDOS/core/blob/main/AGENTS.md — this file only covers what is specific to cosmic.
- Build/test only via the
icedosCLI — neversudo nixos-rebuild. - Never
git commit/stash/reset/pull— the user manages git. - Every option uses a
validate.*/mk*Optionhelper; no untyped options. - A module's
config.tomldefaults must mirror itsicedos.nixdefaults. - Format with
icedos nixf .after editing any.nix. - If a repo or the config root you need isn't checked out locally, ask the user for
its path or permission to
git cloneit — don't guess or clone unprompted.
The COSMIC desktop environment for IceDOS, under the icedos.desktop.cosmic namespace.
- Modules live under
modules/<group>/…/icedos.nix(nested groups):desktop/{appearance,dock,panel,wallpaper,window-management,workspaces},accessibility/{magnifier,mono-sound},applications/{cosmic-files,x11},brightness-control,input,sound,power,time,patches. lib.nixis a repo-local helper. No rooticedos.nix.flake.nixscans the whole repo:icedosLib.scanModules { path = ./.; filename = "icedos.nix"; }.
Standard IceDOS module shape, grouped by area.
In the config root's config.toml, point this repo's overrideUrl at your local
checkout (path:/abs/path/to/cosmic), then icedos rebuild --build (no activation).
patches/carries local patches against upstream COSMIC (pop-os). On a COSMIC bump, check the upstream issue/PR trackers to see whether each local patch is still needed before keeping it (see core memoryreference_cosmic_patch_trackers).- DE/session changes need a
switch+ re-login to take effect — the user's call.