feat: add Cosmic desktop environment as parallel option on electra #95
No reviewers
Labels
No labels
host:electra
host:fleet
host:lyra
host:vega
host:vega
phase:cutover
phase:deploy
phase:mcp
phase:module
phase:packaging
phase:prep
phase:validation
project:attic-postgres-lyra-rollout
project:auto-update-reliability
project:declarative-purity-cleanup
project:external-review
project:host-facts-refactor
project:lyra-nixos-deploy
project:lyra-service-stack-migration
project:nebula-mesh-network
project:security-hardening
project:service-stack-migration
project:vega-sillytavern-cutover
service:auto-update
service:mem0
service:sillytavern
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
nimmo/nixos-config!95
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/cosmic-desktop-test"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Add Cosmic desktop environment as a parallel option alongside Plasma on electra (Framework 16).
Changes
nixos-cosmicflake input withcosmic.cachix.orgbinary cachemodules/desktop/cosmic.nixfor system-level Cosmic confighome/cosmic.nixfor user-level Cosmic config (theme, keybindings, panel, wallpaper)modules/profiles/gui-cosmic.nixas Cosmic desktop profilecosmic-greeteron electra alongside Plasma (parallel DEs)nixos-cosmicto auto-update policy for electraservices.desktopManager.cosmic)cosmic-greeter(via greetd) provides login for both Cosmic and Plasma sessionsplasma-login-managerdisabled to avoid display manager conflictTesting
On electra (Framework 16):
Both Plasma and Cosmic will be available as session options at login.
Note
First build compiles Cosmic from source (no cache match for nixpkgs 1.2.0). Subsequent rebuilds will be fast from local cache. The nixos-cosmic flake has a working binary cache but tracks older alpha versions.
Automated code review
Reviewed commit:
c7b85e3625c70dae0c923c8ec01909947150f6c4Verdict: Requires further work
Resolve the blocking or important findings and investigate failed deterministic checks before merging.
Overall assessment
The pull request successfully integrates COSMIC as a parallel desktop environment on the electra host. Changes correctly scope home-manager configuration via the new
hostNameparameter, declaratively manage wallpaper placement, and safely merge substituters/trusted-keys usingpkgs.lib.mkMerge. The diff contains no Nix syntax errors or logical conflicts with existing modules. Stylistic indentation adjustments inlib/auto-update-policy.nixwere excluded per validation rules.Blocking findings
None.
Important findings
None.
Suggestions
None.
Tests and validation
error: Resource temporarily unavailableQuestions
services.displayManager.defaultSessionconfiguration forcosmic-greeter, or is session routing handled automatically by the greeter module?home/assets/nimmo-wallpaper.pngcommitted to the repository, as its absence would cause a Nix evaluation failure when building the home-manager profile?Review limitations
nix flake checkpasses is based on human report; transient system limits may mask underlying issues during automated CI runs.Diff coverage
flake.nix: reviewed — included in a context-limited batchhome/cosmic.nix: reviewed — included in a context-limited batchhome/nimmo.nix: reviewed — included in a context-limited batchhosts/electra/default.nix: reviewed — included in a context-limited batchlib/auto-update-policy.nix: reviewed — included in a context-limited batchmodules/desktop/cosmic.nix: reviewed — included in a context-limited batchReview metadata
Addressed all code review findings:
mkForce → mkMerge for substituters/trusted-keys: Now uses
pkgs.lib.mkMergeto preserve existing caches (Attic/fleet) instead of overriding them.Activation script → declarative home.file: Wallpaper now copied via
home.file.".config/cosmic/wallpaper.png".source = ../home/assets/nimmo-wallpaper.png;instead of imperative activation script.Removed unused gui-cosmic.nix: The profile module wasn't referenced anywhere.
Scoped Cosmic home config to electra: Uses
hostNameparameter (passed via flake.nix extraSpecialArgs) to conditionally import./cosmic.nixonly on electra.All changes pass
nix flake check.All findings have been addressed. The latest automated review shows:
The remaining "Requires further work" verdict is due to a transient
nix flake checkfailure on the CI infrastructure ("Resource temporarily unavailable"), not a configuration issue.nix flake checkpasses locally.The questions raised are:
home/assets/nimmo-wallpaper.pngis committed to the repository and trackedThe PR is ready for final review.
nimmo referenced this pull request2026-07-25 19:33:54 +01:00