COSMIC: Difference between revisions

From NixOS Wiki
imported>Ahoneybun
fix code blocks
Ahoneybun (talk | contribs)
No edit summary
 
(4 intermediate revisions by 3 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 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].


{ config, pkgs, ...}:
There is a [https://github.com/lilyinstarlight/nixos-cosmic flake] to setup COSMIC on NixOS.


let
== COSMIC Packages ==
  unstable = import
    (builtins.fetchTarball https://github.com/nixos/nixpkgs/tarball/master)
    # reuse the current configuration
    { config = config.nixpkgs.config; };
in


{
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.
  environment.systemPackages = with pkgs; [
    unstable.rustc
    unstable.just
    unstable.cosmic-icons
    unstable.cosmic-settings
  ];
}


</syntaxhighlight>
[[Category:Desktop environment]]
 
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

Latest revision as of 12:40, 26 June 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.

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.