diff --git a/README.md b/README.md index 7a9fa2e..010e9ec 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ -# Cosmic Desktop +# COSMIC Desktop Currently an incomplete **pre-alpha**. -## Components of Cosmic Desktop +## Components of COSMIC Desktop * [cosmic-applets](https://github.com/pop-os/cosmic-applets) * [cosmic-applet-host](https://github.com/pop-os/cosmic-applet-host) * [cosmic-applibrary](https://github.com/pop-os/cosmic-applibrary) @@ -20,32 +20,49 @@ Currently an incomplete **pre-alpha**. ## Setup -The Cosmic desktop environment requires a few dependencies: +The COSMIC desktop environment requires a few dependencies: (This list does not try to be exhaustive, but rather tries to provide a decent starting point. For detailed instructions check out the individual projects): - [just](https://github.com/casey/just) -- rust +- rustc - libwayland - mesa (or third-party libEGL/libGL implementations, though interfacing with mesa's libglvnd is generally recommended). - libseat - libxkbcommon - libinput +- libgtk - udev -- gtk4 - dbus optionally (though the build-system might currently require these libraries): -- libsystemd +- libsystem - libpulse - pop-launcher -- libexpat1-dev, -- libfontconfig-dev, -- libfreetype-dev, -- lld, +- libexpat1 +- libfontconfig +- libfreetype +- lld + +Note: `libfontconfig`, `libfreetype`, and `lld` are packages specific to Linux distributions. You may need to find the equivalent version for your distribution if you are not using Pop!_OS. + +The required ones can be installed with: +``` +sudo apt install just rustc libglvnd-dev libwayland-dev libseat-dev libxkbcommon-dev libinput-dev libgtk-4-1 udev dbus -y +``` + +and the optional ones with: +``` +sudo apt install libsystemd-dev libpulse-dev pop-launcher libexpat1-dev libfontconfig-dev libfreetype-dev lld -y +``` + +They can be installed all at once with: +``` +sudo apt install just rustc libglvnd-dev libwayland-dev libseat-dev libxkbcommon-dev libinput-dev libgtk-4-1 udev dbus libsystemd-dev libpulse-dev pop-launcher libexpat1-dev libfontconfig-dev libfreetype-dev lld -y +``` ### Testing -The easiest way to test Cosmic DE currently is by building a systemd system extension (see `man systemd-sysext`). +The easiest way to test COSMIC DE currently is by building a systemd system extension (see `man systemd-sysext`). ``` git clone --recurse-submodules https://github.com/pop-os/cosmic-epoch cd cosmic-epoch @@ -53,7 +70,7 @@ just sysext ``` This will create a system-extension called `cosmic-sysext`, that you can move (without renaming!) into e.g. `/var/lib/extensions`. -After starting systemd-sysext.service (`sudo systemctl enable --now systemd-sysext`) and refreshing (`sudo systemd-sysext refresh`) or rebooting +After starting systemd-sysext.service (`sudo systemctl enable --now systemd-sysext`) and refreshing (`sudo systemd-sysext refresh`) or rebooting, *COSMIC* will be an available option in your favorite display manager. **Note**: An extension created this way will be linked against specific libraries on your system and will not work on other distributions. @@ -63,12 +80,12 @@ It is thus no proper method for long term deployment. ### Packaging -Cosmic DE is packaged for Pop!_OS for reference look at the `debian` folders in the projects repositories. -These and the `justfile` inside this repository may be used as references on how to package Cosmic DE, though no backwards-compatibility guarantees are provided at this stage. +COSMIC DE is packaged for Pop!_OS. For reference look at the `debian` folders in the projects repositories. +These and the `justfile` inside this repository may be used as references on how to package COSMIC DE, though no backwards-compatibility guarantees are provided at this stage. ### Versioning -Cosmic DE is very much still work-in-progress and thus does not follow a versioning scheme so far. +COSMIC DE is very much still work-in-progress and thus does not follow a versioning scheme so far. We do our best to keep the referenced submodule commits in this repository building and working together, as a consequence they might not contain the latest updates and features from these repositories (yet). -Notes on versioning and packaging all these components together properly will be added at a later stage once Cosmic DE gets its first release. +Notes on versioning and packaging all these components together properly will be added at a later stage once COSMIC DE gets its first release.