COSMIC: Difference between revisions

From NixOS Wiki
imported>Ahoneybun
fix code blocks
imported>Kevincox
Clean up page to indicate in progress. Remove outdated instructions. Provide a bit more context.
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 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.


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


Currently packaged in nixpkgs master/unstable are below, one way to install them is to use a configuration file like this:
== In Progress ==


<syntaxhighlight lang="nix">
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.


{ config, pkgs, ...}:
== COSMIC Packages ==


let
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.
  unstable = import
    (builtins.fetchTarball https://github.com/nixos/nixpkgs/tarball/master)
    # reuse the current configuration
    { config = config.nixpkgs.config; };
in
 
{
  environment.systemPackages = with pkgs; [
    unstable.rustc
    unstable.just
    unstable.cosmic-icons
    unstable.cosmic-settings
  ];
}
 
</syntaxhighlight>
 
You would add it to your main configuration.nix file in /etc/nixos/ like this:
 
<syntaxhighlight lang="nix">
 
  imports =
      [
          ./hardware-configuration.nix
          ./unstable.nix
      ];
 
</syntaxhighlight>
 
then rebuild:
 
<code>
sudo nixos-rebuild switch
</code>
 
=== COSMIC Comp ===
 
https://github.com/NixOS/nixpkgs/tree/nixos-unstable/pkgs/applications/window-managers/cosmic/comp
 
=== COSMIC Panel ===
 
This also includes the Dock:
 
https://github.com/NixOS/nixpkgs/tree/nixos-unstable/pkgs/applications/window-managers/cosmic/panel
 
=== COSMIC Applet ===
 
https://github.com/NixOS/nixpkgs/tree/nixos-unstable/pkgs/applications/window-managers/cosmic/applets
 
=== COSMIC Settings ===
 
https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/window-managers/cosmic/settings
 
=== COSMIC Icons ===
 
https://github.com/NixOS/nixpkgs/tree/a10c1225467f721dedbaaa260c006d6d15c8c40b/pkgs/by-name/co/cosmic-icons

Revision as of 16:48, 25 January 2024

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.

In Progress

COSMIC support in nixpkgs is still in development. You can follow progress via the tracking issue. It is not currently possible to run COSMIC without manually setting up a lot of configuration.

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.