From 0c03092481ec1ef6d6bc171d8a96e015614ce03b Mon Sep 17 00:00:00 2001 From: Licia Date: Fri, 20 Mar 2026 01:22:07 +0000 Subject: [PATCH 1/3] add cosmic desktop add cosmic aarch64 workaround --- .github/actions/config/action.yml | 2 +- .github/workflows/reusable-build.yml | 4 +++- files/scripts/20-desktop.sh | 14 ++++++++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/.github/actions/config/action.yml b/.github/actions/config/action.yml index ed10df1..03d32ac 100644 --- a/.github/actions/config/action.yml +++ b/.github/actions/config/action.yml @@ -57,7 +57,7 @@ runs: IMAGE_PATH="almalinuxorg" IMAGE_NAME="atomic-desktop" PLATFORMS="arm64,amd64,amd64/v2" - VARIANTS="gnome,kde" + VARIANTS="gnome,kde,cosmic" echo "REGISTRY=${REGISTRY}" >> $GITHUB_OUTPUT echo "REGISTRY_USER=${REGISTRY_USER}" >> $GITHUB_OUTPUT diff --git a/.github/workflows/reusable-build.yml b/.github/workflows/reusable-build.yml index dd17f87..4f8225c 100644 --- a/.github/workflows/reusable-build.yml +++ b/.github/workflows/reusable-build.yml @@ -107,7 +107,9 @@ jobs: - Systemd: - Glibc: - Bootc: - - ${{ inputs.variant == 'gnome' && 'GNOME: ' || 'KDE: ' }} + - ${{ inputs.variant == 'gnome' && 'GNOME: ' + || inputs.variant == 'kde' && 'KDE: ' + || inputs.variant == 'cosmic' && 'COSMIC: ' }} KMS_KEY_ALIAS: ${{ inputs.KMS_KEY_ALIAS }} AWS_REGION: ${{ inputs.AWS_REGION }} generate-sbom: true diff --git a/files/scripts/20-desktop.sh b/files/scripts/20-desktop.sh index 66f07c7..881b1c9 100755 --- a/files/scripts/20-desktop.sh +++ b/files/scripts/20-desktop.sh @@ -31,6 +31,20 @@ elif [[ "${VARIANT}" == "kde" ]]; then systemctl enable sddm +elif [[ "${VARIANT}" == "cosmic" ]]; then + # workaround: cosmic-greeter requires fprintd-pam but for aarch64 it's only in devel repo + if [[ "${TARGETARCH}" == "arm64" && ! $(dnf repoinfo devel -q | grep enabled) ]]; then + dnf install -y almalinux-release-devel + dnf config-manager --set-disabled devel + dnf install -y fprintd-pam --enablerepo=devel + fi + + dnf copr enable -y "ligenix/enterprise-cosmic" "rhel+epel-10-$(uname -m)" + dnf install -y \ + cosmic-desktop + + systemctl enable cosmic-greeter + else true From ec460a2802c41b53ee42f4bb273cfd95ba7cd1dd Mon Sep 17 00:00:00 2001 From: Licia Date: Fri, 20 Mar 2026 07:24:21 +0000 Subject: [PATCH 2/3] add cosmic to build-iso and README --- .github/workflows/build-iso.yml | 1 + README.md | 2 ++ 2 files changed, 3 insertions(+) diff --git a/.github/workflows/build-iso.yml b/.github/workflows/build-iso.yml index cf2b303..3d33d09 100644 --- a/.github/workflows/build-iso.yml +++ b/.github/workflows/build-iso.yml @@ -11,6 +11,7 @@ on: options: - 'gnome' - 'kde' + - 'cosmic' - 'ALL' concurrency: diff --git a/README.md b/README.md index 10a2102..02c9e57 100644 --- a/README.md +++ b/README.md @@ -13,10 +13,12 @@ to get you started. Create your own Atomic AlmaLinux respin in minutes! Download and install from the ISOs: * [atomic-desktop-gnome-amd64.iso](https://almalinux-atomic.s3-accelerate.dualstack.amazonaws.com/atomic-desktop/latest/atomic-desktop-gnome-amd64.iso) * [atomic-desktop-kde-amd64.iso](https://almalinux-atomic.s3-accelerate.dualstack.amazonaws.com/atomic-desktop/latest/atomic-desktop-kde-amd64.iso) +* [atomic-desktop-cosmic-amd64.iso](https://almalinux-atomic.s3-accelerate.dualstack.amazonaws.com/atomic-desktop/latest/atomic-desktop-cosmic-amd64.iso) Bootc images: * `quay.io/almalinuxorg/atomic-desktop-gnome` * `quay.io/almalinuxorg/atomic-desktop-kde` +* `quay.io/almalinuxorg/atomic-desktop-cosmic` * Cosign public key: [cosign.pub](/cosign.pub) # Contributing From ed28c2b799dc5df9a1e47ef20a7599f5cc785e9e Mon Sep 17 00:00:00 2001 From: Licia Date: Sun, 22 Mar 2026 05:54:40 +0000 Subject: [PATCH 3/3] preinstall common subgroups belongs to each environment groups --- files/scripts/20-desktop.sh | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/files/scripts/20-desktop.sh b/files/scripts/20-desktop.sh index 881b1c9..71d2cf5 100755 --- a/files/scripts/20-desktop.sh +++ b/files/scripts/20-desktop.sh @@ -2,20 +2,23 @@ set -xeuo pipefail +dnf install -y \ + @core \ + @fonts \ + @guest-desktop-agents \ + @hardware-support \ + @input-methods \ + @multimedia \ + @networkmanager-submodules \ + @print-client \ + @standard + if [[ "${VARIANT}" == "gnome" ]]; then # aarch64 doesn't have @workstation group if [[ "${TARGETARCH}" == "arm64" ]]; then dnf install -y \ - @core \ - @fonts \ @gnome-desktop \ - @guest-desktop-agents \ - @hardware-support \ @internet-browser \ - @multimedia \ - @networkmanager-submodules \ - @print-client \ - @standard \ @workstation-product else dnf install -y \