mirror of
https://github.com/outbackdingo/hyprcosmic.git
synced 2026-08-25 14:53:21 +00:00
Compare commits
29
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6169da68ca | ||
|
|
d103b64024 | ||
|
|
9af2199729 | ||
|
|
9e8ac99bcb | ||
|
|
efe2c51b53 | ||
|
|
9b0e61c54b | ||
|
|
f5fa41194e | ||
|
|
f9abdc105d | ||
|
|
dee71b6f25 | ||
|
|
d955da69d4 | ||
|
|
5dcb211692 | ||
|
|
e13e24b54e | ||
|
|
dafb7bb1fa | ||
|
|
13ea973991 | ||
|
|
8722d5507c | ||
|
|
e4edeeca3f | ||
|
|
7106172bcd | ||
|
|
0972aa1396 | ||
|
|
8f98c11b8c | ||
|
|
da3cf5ee1e | ||
|
|
508b7fe8e6 | ||
|
|
39c24b0b4e | ||
|
|
cb3fce4635 | ||
|
|
366bf74f49 | ||
|
|
3c128a6c52 | ||
|
|
ce6bcdb54d | ||
|
|
87391a426f | ||
|
|
8cd00decac | ||
|
|
221a9856f3 |
@@ -0,0 +1,8 @@
|
||||
- [ ] I have disclosed use of any AI generated code in my commit messages.
|
||||
- If you are using an LLM, and do not fully understand the changes it is making to the code base, do not create a PR.
|
||||
- In our experience, AI generated code often results in overly complex code that lacks enough context for a proper fix or feature inclusion. This results in considerably longer code reviews. Due to this, AI authored or partially authored PRs may be closed without comment.
|
||||
- [ ] I understand these changes in full and will be able to respond to review comments.
|
||||
- [ ] My change is accurately described in the commit message.
|
||||
- [ ] My contribution is tested and working as described.
|
||||
- [ ] I have read the [Developer Certificate of Origin](https://developercertificate.org/) and certify my contribution under its conditions.
|
||||
|
||||
@@ -17,13 +17,12 @@ jobs:
|
||||
Test:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: archlinux:latest
|
||||
image: archlinux:base-devel
|
||||
volumes:
|
||||
- /:/host
|
||||
steps:
|
||||
- run: >
|
||||
pacman --noconfirm -Syu
|
||||
base-devel
|
||||
pacman --noconfirm --needed -Syu
|
||||
cargo
|
||||
clang
|
||||
desktop-file-utils
|
||||
@@ -31,6 +30,7 @@ jobs:
|
||||
gtk3
|
||||
gtk4
|
||||
just
|
||||
libdisplay-info
|
||||
libinput
|
||||
libxkbcommon
|
||||
llvm
|
||||
@@ -47,7 +47,7 @@ jobs:
|
||||
flatpak
|
||||
nasm
|
||||
- run: rm -rf /host/usr/local/lib/android # Free space
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
submodules: recursive
|
||||
# Safe directory behavior seems to have issues with `container:`
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# COSMIC Desktop
|
||||
|
||||
Currently in **beta** for Epoch 1 (the first release), which is nearly feature-complete and in the final bug fixing stage. Testing instructions for various distributions are below.
|
||||
[COSMIC](https://system76.com/cosmic) is a desktop environment offering performance, efficiency, and personalization to empower a wide variety of use cases.
|
||||
|
||||
## Components of COSMIC Desktop
|
||||
* [cosmic-applets](https://github.com/pop-os/cosmic-applets)
|
||||
@@ -43,17 +43,15 @@ Currently in **beta** for Epoch 1 (the first release), which is nearly feature-c
|
||||
|
||||
## Installing on Pop!\_OS
|
||||
|
||||
COSMIC DE is in its first beta release. We're in a bug fixing stage of development with features largely complete for the first release. Using and testing the beta is welcome.
|
||||
### Pop!\_OS 24.04
|
||||
|
||||
### Pop!\_OS 24.04 Beta
|
||||
COSMIC DE's first release (Epoch 1) is included in Pop!\_OS 24.04. There are two ways to get the 24.04 release:
|
||||
|
||||
The recommended way to test COSMIC Epoch on Pop!\_OS is by using the Pop!\_OS 24.04 LTS Beta release. There are two ways to get the 24.04 Beta:
|
||||
|
||||
- Install it from the [latest Beta release ISO](https://system76.com/cosmic/).
|
||||
- Install it from the [latest release ISO](https://system76.com/cosmic/).
|
||||
- Upgrade an existing Pop!\_OS 22.04 installation using the following command: `pop-upgrade release upgrade -f`
|
||||
- If you experience problems during the upgrade, please open an issue in the [pop-upgrade GitHub repository](https://github.com/pop-os/upgrade) or join the [Pop!\_OS Mattermost chat server](https://chat.pop-os.org) for assistance.
|
||||
|
||||
Pop!\_OS 24.04 Beta installations will be upgradable to the final 24.04 release, but some manual interventions may occasionally be required during development. If you're using Pop!\_OS 24.04 Beta, then it's recommended to join the [Pop!\_OS Mattermost chat server](https://chat.pop-os.org) to receive news about the 24.04 development cycle. Join the COSMIC Epoch channel.
|
||||
COSMIC users, including Pop!_OS users, are welcome to join the [Pop!\_OS Mattermost chat server](https://chat.pop-os.org) to receive news about development. Join the [COSMIC Epoch channel](https://chat.pop-os.org/pop-os/channels/cosmic-epoch) for COSMIC user discussion, or the [Development channel](https://chat.pop-os.org/pop-os/channels/development) for developer-oriented discussion.
|
||||
|
||||
### Pop!\_OS 22.04
|
||||
|
||||
@@ -118,31 +116,39 @@ Then log out, click on your user, and a sprocket at the bottom right shows an ad
|
||||
For a more detailed discussion, consider the [relevant section in the Arch wiki](https://wiki.archlinux.org/title/COSMIC).
|
||||
|
||||
## Installing on Fedora Linux
|
||||
Cosmic may be installed via a Fedora COPR repository.
|
||||
|
||||
COSMIC can be installed from the built-in repositories on Fedora 41+:
|
||||
|
||||
```
|
||||
dnf copr enable ryanabx/cosmic-epoch
|
||||
dnf install cosmic-desktop
|
||||
sudo dnf install @cosmic-desktop-environment
|
||||
```
|
||||
|
||||
Then log out, click on your user, and a sprocket at the bottom right shows an additional entry alongside your desktop environments. Change to COSMIC and proceed with log in.
|
||||
For further information, you may check the [COPR page](https://copr.fedorainfracloud.org/coprs/ryanabx/cosmic-epoch/).
|
||||
Alternatively, for more up-to-date COSMIC packages (but less quality control), you can use the nightly COPR builds:
|
||||
|
||||
```
|
||||
sudo dnf copr enable ryanabx/cosmic-epoch && sudo dnf install cosmic-desktop
|
||||
```
|
||||
|
||||
After installing, log out, click on your user, and use the sprocket in the bottom right to select the COSMIC desktop environment before logging in.
|
||||
For more information, check the [Fedora Wiki COSMIC SIG page](https://fedoraproject.org/wiki/SIGs/COSMIC) or the [COPR page](https://copr.fedorainfracloud.org/coprs/ryanabx/cosmic-epoch/).
|
||||
|
||||
## Installing on NixOS
|
||||
The COSMIC module on NixOS can be enabled by adding the following lines to
|
||||
your NixOS configuration file (`configuration.nix` or in your Flake):
|
||||
```nix
|
||||
# Enable the login manager
|
||||
{
|
||||
# Enable the COSMIC login manager
|
||||
services.displayManager.cosmic-greeter.enable = true;
|
||||
# Enable the COSMIC DE itself
|
||||
|
||||
# Enable the COSMIC desktop environment
|
||||
services.desktopManager.cosmic.enable = true;
|
||||
# Enable XWayland support in COSMIC
|
||||
services.desktopManager.cosmic.xwayland.enable = true;
|
||||
}
|
||||
```
|
||||
|
||||
While some packages like `cosmic-session` might be present in prior versions,
|
||||
the modules that add full support for COSMIC were added in **NixOS 25.05**.
|
||||
|
||||
You can find more details in the [NixOS 25.05 release notes](https://nixos.org/manual/nixos/unstable/release-notes#sec-release-25.05).
|
||||
You can find more details on the [NixOS Wiki](https://wiki.nixos.org/wiki/COSMIC).
|
||||
|
||||
|
||||
## Installing on openSUSE tumbleweed
|
||||
@@ -158,22 +164,31 @@ For further information, you may check the [OBS page](https://build.opensuse.org
|
||||
## Installing on Gentoo Linux
|
||||
COSMIC can be installed on Gentoo via a custom overlay. Add the overlay using your preferred overlay manager (such as eselect), and then install the desktop environment:
|
||||
|
||||
`eselect repository add cosmic-overlay git https://github.com/fsvm88/cosmic-overlay.git`
|
||||
`eselect repository add cosmic-overlay git https://github.com/fsvm88/cosmic-overlay.git`
|
||||
|
||||
Next, install the COSMIC desktop environment and its associated themes:
|
||||
Next, synchronize the repository with
|
||||
`emaint sync -r cosmic-overlay`
|
||||
|
||||
`emerge cosmic-meta pop-theme-meta`
|
||||
and install the COSMIC desktop environment and its associated themes:
|
||||
|
||||
Then log out, click on your user, and a sprocket at the bottom right shows an additional entry alongside your desktop environments. Change to COSMIC and proceed with log in.
|
||||
`emerge cosmic-meta pop-theme-meta -av`
|
||||
|
||||
Please note that the ebuilds have testing keywords and need to unmasked on stable systems for successful installation.
|
||||
|
||||
Then log out, and switch the desktop environment to COSMIC, the procedure depends on your login manager.
|
||||
For further information, you may check the [Gentoo Wiki](https://wiki.gentoo.org/wiki/COSMIC) or [Overlay Repository](https://github.com/fsvm88/cosmic-overlay).
|
||||
|
||||
## Setup on distributions without packaging of COSMIC components
|
||||
|
||||
The COSMIC desktop environment requires a few dependencies:
|
||||
The COSMIC desktop environment requires a few dependencies. The rustc and just packages of your distro may be too old, so we recommend installing rustc and cargo with rustup, and installing just with cargo.
|
||||
(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)
|
||||
- rustc
|
||||
- cargo
|
||||
- c compiler (cc)
|
||||
- make
|
||||
- git
|
||||
- libwayland
|
||||
- mesa (or third-party libEGL/libGL implementations, though interfacing with mesa's libglvnd is generally recommended).
|
||||
- libseat
|
||||
@@ -181,16 +196,17 @@ The COSMIC desktop environment requires a few dependencies:
|
||||
- libinput
|
||||
- udev
|
||||
- dbus
|
||||
- libdisplay-info-dev
|
||||
- libgstreamer1.0-dev
|
||||
- libgstreamer-plugins-base1.0-dev
|
||||
|
||||
optionally (though the build-system might currently require these libraries):
|
||||
- libsystem
|
||||
- libpulse
|
||||
- pop-launcher
|
||||
- libexpat1
|
||||
- libfontconfig
|
||||
- libfreetype
|
||||
- lld
|
||||
- cargo
|
||||
- libgbm-dev
|
||||
- libclang-dev
|
||||
- libpipewire-0.3-dev
|
||||
@@ -199,17 +215,79 @@ Note: `libfontconfig`, `libfreetype`, and `lld` are packages specific to Linux d
|
||||
|
||||
The required ones can be installed with:
|
||||
```
|
||||
sudo apt install just rustc libglvnd-dev libwayland-dev libseat-dev libxkbcommon-dev libinput-dev udev dbus libdbus-1-dev libpam0g-dev libpixman-1-dev libssl-dev libflatpak-dev -y
|
||||
sudo apt install -y \
|
||||
build-essential \
|
||||
dbus \
|
||||
git \
|
||||
libdbus-1-dev \
|
||||
libdisplay-info-dev \
|
||||
libflatpak-dev \
|
||||
libglvnd-dev \
|
||||
libgstreamer-plugins-base1.0-dev \
|
||||
libgstreamer1.0-dev \
|
||||
libinput-dev \
|
||||
libpam0g-dev \
|
||||
libpixman-1-dev \
|
||||
libseat-dev \
|
||||
libssl-dev \
|
||||
libwayland-dev \
|
||||
libxkbcommon-dev \
|
||||
rustup \
|
||||
udev
|
||||
|
||||
rustup toolchain install stable
|
||||
cargo install just
|
||||
```
|
||||
|
||||
and the optional ones with:
|
||||
```
|
||||
sudo apt install libsystemd-dev libpulse-dev pop-launcher libexpat1-dev libfontconfig-dev libfreetype-dev mold cargo libgbm-dev libclang-dev libpipewire-0.3-dev -y
|
||||
sudo apt install -y \
|
||||
libclang-dev \
|
||||
libexpat1-dev \
|
||||
libfontconfig-dev \
|
||||
libfreetype-dev \
|
||||
libgbm-dev \
|
||||
libpipewire-0.3-dev \
|
||||
libpulse-dev \
|
||||
libsystemd-dev \
|
||||
lld \
|
||||
mold
|
||||
```
|
||||
|
||||
They can be installed all at once with:
|
||||
```
|
||||
sudo apt install just rustc libglvnd-dev libwayland-dev libseat-dev libxkbcommon-dev libinput-dev udev dbus libdbus-1-dev libsystemd-dev libpixman-1-dev libssl-dev libflatpak-dev libpulse-dev pop-launcher libexpat1-dev libfontconfig-dev libfreetype-dev mold cargo libgbm-dev libclang-dev libpipewire-0.3-dev libpam0g-dev -y
|
||||
sudo apt install -y \
|
||||
build-essential \
|
||||
dbus \
|
||||
git \
|
||||
libclang-dev \
|
||||
libdbus-1-dev \
|
||||
libdisplay-info-dev \
|
||||
libexpat1-dev \
|
||||
libflatpak-dev \
|
||||
libfontconfig-dev \
|
||||
libfreetype-dev \
|
||||
libgbm-dev \
|
||||
libglvnd-dev \
|
||||
libgstreamer-plugins-base1.0-dev \
|
||||
libgstreamer1.0-dev \
|
||||
libinput-dev \
|
||||
libpam0g-dev \
|
||||
libpipewire-0.3-dev \
|
||||
libpixman-1-dev \
|
||||
libpulse-dev \
|
||||
libseat-dev \
|
||||
libssl-dev \
|
||||
libsystemd-dev \
|
||||
libwayland-dev \
|
||||
libxkbcommon-dev \
|
||||
lld \
|
||||
mold \
|
||||
rustup \
|
||||
udev
|
||||
|
||||
rustup toolchain install stable
|
||||
cargo install just
|
||||
```
|
||||
|
||||
### Testing
|
||||
@@ -249,9 +327,12 @@ These and the `justfile` inside this repository may be used as references on how
|
||||
|
||||
### Versioning
|
||||
|
||||
COSMIC DE is still a work-in-progress and thus does not follow a versioning scheme yet.
|
||||
COSMIC DE is a work in progress with many moving pieces.
|
||||
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).
|
||||
The commits corresponding with the current beta release are tagged `epoch-1.0.0-beta.X.Y`, where `X` is the beta release and `Y` is the minor release.
|
||||
|
||||
The commits corresponding with the current release are tagged `epoch-X.Y.Z`, where `X` is the major release and the last two numbers denote incremental minor releases. (During development of new major versions, an additional `-alpha.Y.Z` or `-beta.Y.Z` may be appended.)
|
||||
|
||||
COSMIC Epoch version numbers are mainly for the benefit of non-Pop!_OS distributions; Pop!_OS uses its own build system, and typically receives updates to individual submodules before they're tagged as part of a COSMIC Epoch release.
|
||||
|
||||
## Translating
|
||||
|
||||
|
||||
+1
-1
Submodule cosmic-applets updated: abf5eedb5e...1d0e662365
+1
-1
Submodule cosmic-applibrary updated: 89046fc568...e80ab7383a
+1
-1
Submodule cosmic-bg updated: a198a51442...06970d5945
+1
-1
Submodule cosmic-comp updated: 6025f483d6...21679f215a
+1
-1
Submodule cosmic-edit updated: 10f1b8db00...5f96f6191b
+1
-1
Submodule cosmic-files updated: e053db3bf9...b3af8bf211
+1
-1
Submodule cosmic-greeter updated: 201d8a1bc4...619910c5cc
+1
-1
Submodule cosmic-icons updated: 70b07582e2...6fafded5ed
+1
-1
Submodule cosmic-idle updated: 983d34ad96...c95d066b5b
+1
-1
Submodule cosmic-initial-setup updated: 0dcf117adb...67496c56ea
+1
-1
Submodule cosmic-launcher updated: 0b966061e1...2bdac133e5
+1
-1
Submodule cosmic-notifications updated: 592c6ace2a...dbd0658f0d
+1
-1
Submodule cosmic-osd updated: d89e0cad91...dc63e00f26
+1
-1
Submodule cosmic-panel updated: 8f445a4ce9...d518c7d25e
+1
-1
Submodule cosmic-player updated: 7c9ec8b423...a8d9416754
+1
-1
Submodule cosmic-randr updated: c39fe3fe35...6e8e795970
+1
-1
Submodule cosmic-screenshot updated: 8e5a554834...2a8f809577
+1
-1
Submodule cosmic-session updated: 472db42330...9a55864e81
+1
-1
Submodule cosmic-settings updated: 6ebc2208ed...48eae39858
+1
-1
Submodule cosmic-settings-daemon updated: d67de203ce...716da6d6af
+1
-1
Submodule cosmic-store updated: 853503af7b...964373c9fe
+1
-1
Submodule cosmic-term updated: ff5fb1ac31...18f5f30673
+1
-1
Submodule cosmic-wallpapers updated: 189c2c63d3...3c59953e7e
+1
-1
Submodule cosmic-workspaces-epoch updated: db5f41e88b...4e9c902ee2
@@ -22,7 +22,7 @@ build:
|
||||
{{ just }} cosmic-screenshot/build-release
|
||||
{{ just }} cosmic-settings/build-release
|
||||
{{ make }} -C cosmic-settings-daemon all
|
||||
{{ just }} cosmic-session/all
|
||||
{{ just }} cosmic-session/build-release
|
||||
{{ just }} cosmic-store/build-release
|
||||
{{ just }} cosmic-term/build-release
|
||||
{{ make }} -C cosmic-wallpapers all
|
||||
|
||||
+1
-1
Submodule pop-launcher updated: eead361cca...5b86851071
+7
-6
@@ -2,14 +2,15 @@
|
||||
|
||||
set -e
|
||||
|
||||
TAG="$1"
|
||||
|
||||
if [ -z "$TAG" ]
|
||||
if [ -z "$1" ]
|
||||
then
|
||||
echo "$0 [tag]" >&2
|
||||
echo "$0 [epoch version]" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
VERSION="$1"
|
||||
TAG="epoch-$1"
|
||||
|
||||
echo "Do you want to tag the current state of cosmic-epoch with the tag $TAG? (y/N)"
|
||||
read answer
|
||||
if [ "$answer" != "y" ]
|
||||
@@ -22,8 +23,8 @@ set -x
|
||||
|
||||
git fetch --recurse-submodules
|
||||
|
||||
git tag --force "$TAG"
|
||||
git submodule foreach git tag --force "$TAG"
|
||||
git tag --force --annotate "$TAG" --message "Epoch ${VERSION}"
|
||||
git submodule foreach git tag --force --annotate "$TAG" --message "Epoch ${VERSION}"
|
||||
|
||||
git push --force origin tag "$TAG"
|
||||
git submodule foreach git push --force origin tag "$TAG"
|
||||
|
||||
Executable
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
# This should be the _next_ epoch version
|
||||
version=1.0.11
|
||||
subject="Epoch ${version} version update"
|
||||
description="Generated by cosmic-epoch scripts/version-update.sh"
|
||||
|
||||
repos=(
|
||||
cosmic-edit
|
||||
cosmic-files
|
||||
cosmic-player
|
||||
cosmic-store
|
||||
cosmic-term
|
||||
)
|
||||
|
||||
for repo in "${repos[@]}"
|
||||
do
|
||||
git submodule update --recursive "${repo}"
|
||||
pushd "${repo}"
|
||||
git fetch origin
|
||||
git checkout -B epoch-update origin/master
|
||||
git reset --hard
|
||||
if [ "$(dpkg-parsechangelog --show-field Version)" != "${version}" ]
|
||||
then
|
||||
dch --newversion "${version}" --distribution noble "${subject}"
|
||||
fi
|
||||
cargo set-version "${version}"
|
||||
cargo update
|
||||
git commit -a -m "${subject}" -m "${description}"
|
||||
git push -f -u origin epoch-update
|
||||
pr_url="$(gh pr list --head epoch-update --state open --json url --jq '.[].url')"
|
||||
if [ -n "${pr_url}" ]
|
||||
then
|
||||
echo "PR already open: ${pr_url}"
|
||||
else
|
||||
gh pr create \
|
||||
--title "${subject}" \
|
||||
--body "${description}" \
|
||||
--assignee "@me" \
|
||||
--reviewer "pop-os/engineering" \
|
||||
--reviewer "pop-os/quality-assurance"
|
||||
fi
|
||||
popd
|
||||
done
|
||||
Submodule xdg-desktop-portal-cosmic updated: 31b7a1aa36...0917743118
Reference in New Issue
Block a user