Initial commit
This commit is contained in:
Executable
+92
@@ -0,0 +1,92 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
set -eoux pipefail
|
||||
|
||||
###############################################################################
|
||||
# Example: Swap GNOME Desktop with COSMIC Desktop
|
||||
###############################################################################
|
||||
# This example demonstrates replacing the GNOME desktop environment with
|
||||
# System76's COSMIC desktop from their COPR repository.
|
||||
#
|
||||
# COSMIC is a new desktop environment built in Rust by System76.
|
||||
# https://github.com/pop-os/cosmic-epoch
|
||||
#
|
||||
# To use this script:
|
||||
# 1. Rename to remove .example extension: mv 30-cosmic-desktop.sh.example 30-cosmic-desktop.sh
|
||||
# 2. Build - scripts run in numerical order automatically
|
||||
#
|
||||
# WARNING: This removes GNOME and replaces it with COSMIC. Only use this if
|
||||
# you want COSMIC as your desktop environment instead of GNOME.
|
||||
###############################################################################
|
||||
|
||||
# Source helper functions
|
||||
# shellcheck source=/dev/null
|
||||
source /ctx/build/copr-helpers.sh
|
||||
|
||||
echo "::group:: Remove GNOME Desktop"
|
||||
|
||||
# Remove GNOME Shell and related packages
|
||||
dnf5 remove -y \
|
||||
gnome-shell \
|
||||
gnome-shell-extension* \
|
||||
gnome-terminal \
|
||||
gnome-software \
|
||||
gnome-control-center \
|
||||
nautilus \
|
||||
gdm
|
||||
|
||||
echo "GNOME desktop removed"
|
||||
echo "::endgroup::"
|
||||
|
||||
echo "::group:: Install COSMIC Desktop"
|
||||
|
||||
# Install COSMIC desktop from System76's COPR
|
||||
# Using isolated pattern to prevent COPR from persisting
|
||||
copr_install_isolated "ryanabx/cosmic-epoch" \
|
||||
cosmic-session \
|
||||
cosmic-greeter \
|
||||
cosmic-comp \
|
||||
cosmic-panel \
|
||||
cosmic-launcher \
|
||||
cosmic-applets \
|
||||
cosmic-settings \
|
||||
cosmic-files \
|
||||
cosmic-edit \
|
||||
cosmic-term \
|
||||
cosmic-workspaces
|
||||
|
||||
echo "COSMIC desktop installed successfully"
|
||||
echo "::endgroup::"
|
||||
|
||||
echo "::group:: Configure Display Manager"
|
||||
|
||||
# Enable cosmic-greeter (COSMIC's display manager)
|
||||
systemctl enable cosmic-greeter
|
||||
|
||||
# Set COSMIC as default session
|
||||
mkdir -p /etc/X11/sessions
|
||||
cat > /etc/X11/sessions/cosmic.desktop << 'COSMICDESKTOP'
|
||||
[Desktop Entry]
|
||||
Name=COSMIC
|
||||
Comment=COSMIC Desktop Environment
|
||||
Exec=cosmic-session
|
||||
Type=Application
|
||||
DesktopNames=COSMIC
|
||||
COSMICDESKTOP
|
||||
|
||||
echo "Display manager configured"
|
||||
echo "::endgroup::"
|
||||
|
||||
echo "::group:: Install Additional Utilities"
|
||||
|
||||
# Install additional utilities that work well with COSMIC
|
||||
dnf5 install -y \
|
||||
kitty \
|
||||
flatpak \
|
||||
xdg-desktop-portal-cosmic
|
||||
|
||||
echo "Additional utilities installed"
|
||||
echo "::endgroup::"
|
||||
|
||||
echo "COSMIC desktop installation complete!"
|
||||
echo "After booting, select 'COSMIC' session at the login screen"
|
||||
Reference in New Issue
Block a user