Jump to content

COSMIC: Difference between revisions

From NixOS Wiki
Klinger (talk | contribs)
m added to Category:Desktop environment
(7 intermediate revisions by 5 users not shown)
Line 1: Line 1:
COSMIC is a desktop environment developed in the Rust programming language, using the iced cross platform GUI library for Rust, and Smithay as building blocks for its compositor, cosmic-comp. Cosmic-comp is comparable to smithay's own anvil compositor demonstration, just like the Wayland project uses Weston as demo compositor.
COSMIC is a [[:Category:Desktop environment|desktop environment]] developed in the [[Rust]] programming language, using the iced cross platform GUI library for Rust, and Smithay as building blocks for its compositor, cosmic-comp. Cosmic-comp is comparable to smithay's own anvil compositor demonstration, just like the Wayland project uses Weston as demo compositor.


COSMIC was primarily developed for use in the [https://pop.system76.com/ Pop!_OS] distribution.
COSMIC was primarily developed for use in the [https://pop.system76.com/ Pop!_OS] distribution.


== In Progress ==
== NixOS module (starting with NixOS 25.05) ==


COSMIC support in nixpkgs is still in development. You can follow progress via [https://github.com/NixOS/nixpkgs/issues/259641 the tracking issue]. It is not currently possible to run COSMIC without manually setting up a lot of configuration.
COSMIC support in nixpkgs is still in development. You can follow progress via [https://github.com/NixOS/nixpkgs/issues/259641 the tracking issue].  


== COSMIC Packages ==
You can enable COSMIC on your NixOS system by setting the following configuration options: <syntaxhighlight lang="nix">{
  # Enable the COSMIC login manager
  services.displayManager.cosmic-greeter.enable = true;
 
  # Enable the COSMIC desktop environment
  services.desktopManager.cosmic.enable = true;
}</syntaxhighlight>Support for automatic logins is present when using the `cosmic-greeter` login manager. All you need is the following configuration: <syntaxhighlight lang="nix">
{
  services.displayManager.autoLogin = {
    enable = true;
    # Replace `yourUserName` with the actual username of user who should be automatically logged in
    user = "yourUserName";
  };
}
</syntaxhighlight>Alternatively, there is a [https://github.com/lilyinstarlight/nixos-cosmic flake] to setup COSMIC on NixOS.
 
== COSMIC packages ==


While the whole desktop is not configured many packages are available in nixpkgs already. You can search for packages with a query similar to this one https://search.nixos.org/packages?query=cosmic&from=0&size=1000&sort=relevance&channel=unstable. Note that not all of the results will be part of the COSMIC desktop.
While the whole desktop is not configured many packages are available in nixpkgs already. You can search for packages with a query similar to this one https://search.nixos.org/packages?query=cosmic&from=0&size=1000&sort=relevance&channel=unstable. Note that not all of the results will be part of the COSMIC desktop.


[[Category:Desktop environment]]
[[Category:Desktop environment]]

Revision as of 21:07, 8 April 2025

COSMIC is a desktop environment developed in the Rust programming language, using the iced cross platform GUI library for Rust, and Smithay as building blocks for its compositor, cosmic-comp. Cosmic-comp is comparable to smithay's own anvil compositor demonstration, just like the Wayland project uses Weston as demo compositor.

COSMIC was primarily developed for use in the Pop!_OS distribution.

NixOS module (starting with NixOS 25.05)

COSMIC support in nixpkgs is still in development. You can follow progress via the tracking issue.

You can enable COSMIC on your NixOS system by setting the following configuration options:

{
  # Enable the COSMIC login manager
  services.displayManager.cosmic-greeter.enable = true;

  # Enable the COSMIC desktop environment
  services.desktopManager.cosmic.enable = true;
}

Support for automatic logins is present when using the `cosmic-greeter` login manager. All you need is the following configuration:

{
  services.displayManager.autoLogin = {
    enable = true;
    # Replace `yourUserName` with the actual username of user who should be automatically logged in
    user = "yourUserName";
  };
}

Alternatively, there is a flake to setup COSMIC on NixOS.

COSMIC packages

While the whole desktop is not configured many packages are available in nixpkgs already. You can search for packages with a query similar to this one https://search.nixos.org/packages?query=cosmic&from=0&size=1000&sort=relevance&channel=unstable. Note that not all of the results will be part of the COSMIC desktop.