@@ -24,9 +24,8 @@ dnf5 -y install fd-find
2424# Remove extra things
2525# TODO: Figure out what we don't need from solopasha/hyprland
2626
27- # Application Launcher - Walker / Elephant (build from source)
28- /ctx/packages/walker/build.sh
29- /ctx/packages/elephant/build.sh
27+ # Application Launcher - Eww (from solopasha/hyprland COPR)
28+ dnf5 -y install eww-git
3029
3130# On Screen Display
3231dnf5 -y copr enable codelovr/swayosd
@@ -72,85 +71,95 @@ install -Dm644 /ctx/60-hypercube-xdg.conf /usr/lib/environment.d/60-hypercube-xd
7271# ## Install Hypercube branding assets
7372# Install logo files to standard locations if they exist
7473if [ -d /ctx/branding ]; then
75- # Install to pixmaps for system-wide use
76- mkdir -p /usr/share/pixmaps
77- cp -f /ctx/branding/hypercube-logo.png /usr/share/pixmaps/ 2> /dev/null || true
78- cp -f /ctx/branding/hypercube-logo.svg /usr/share/pixmaps/ 2> /dev/null || true
79-
80- # Install icons to hicolor theme
81- for size in 48 64 128 256; do
82- if [ -f " /ctx/branding/hypercube-icon-${size} .png" ]; then
83- mkdir -p " /usr/share/icons/hicolor/${size} x${size} /apps"
84- cp -f " /ctx/branding/hypercube-icon-${size} .png" " /usr/share/icons/hicolor/${size} x${size} /apps/hypercube.png"
85- fi
86- done
87-
88- # Install SVG icon if available
89- if [ -f " /ctx/branding/hypercube-logo.svg" ]; then
90- mkdir -p /usr/share/icons/hicolor/scalable/apps
91- cp -f /ctx/branding/hypercube-logo.svg /usr/share/icons/hicolor/scalable/apps/hypercube.svg
74+ # Install to pixmaps for system-wide use
75+ mkdir -p /usr/share/pixmaps
76+ cp -f /ctx/branding/hypercube-logo.png /usr/share/pixmaps/ 2> /dev/null || true
77+ cp -f /ctx/branding/hypercube-logo.svg /usr/share/pixmaps/ 2> /dev/null || true
78+
79+ # Install icons to hicolor theme
80+ for size in 48 64 128 256; do
81+ if [ -f " /ctx/branding/hypercube-icon-${size} .png" ]; then
82+ mkdir -p " /usr/share/icons/hicolor/${size} x${size} /apps"
83+ cp -f " /ctx/branding/hypercube-icon-${size} .png" " /usr/share/icons/hicolor/${size} x${size} /apps/hypercube.png"
9284 fi
85+ done
86+
87+ # Install SVG icon if available
88+ if [ -f " /ctx/branding/hypercube-logo.svg" ]; then
89+ mkdir -p /usr/share/icons/hicolor/scalable/apps
90+ cp -f /ctx/branding/hypercube-logo.svg /usr/share/icons/hicolor/scalable/apps/hypercube.svg
91+ fi
9392fi
9493
9594# ## Install Hypercube Plymouth theme
9695if [ -d /ctx/branding/plymouth/hypercube ]; then
97- echo " Installing Hypercube Plymouth theme..."
96+ echo " Installing Hypercube Plymouth theme..."
9897
99- # Install plymouth-plugin-script (required for script-based themes)
100- dnf5 -y clean all
101- dnf5 -y install plymouth-plugin-script
98+ # Install plymouth-plugin-script (required for script-based themes)
99+ dnf5 -y clean all
100+ dnf5 -y install plymouth-plugin-script
102101
103- # Create theme directory
104- mkdir -p /usr/share/plymouth/themes/hypercube
102+ # Create theme directory
103+ mkdir -p /usr/share/plymouth/themes/hypercube
105104
106- # Copy all theme files
107- cp -r /ctx/branding/plymouth/hypercube/* /usr/share/plymouth/themes/hypercube/
105+ # Copy all theme files
106+ cp -r /ctx/branding/plymouth/hypercube/* /usr/share/plymouth/themes/hypercube/
108107
109- # Set correct permissions
110- chmod 644 /usr/share/plymouth/themes/hypercube/*
111- chmod 755 /usr/share/plymouth/themes/hypercube
108+ # Set correct permissions
109+ chmod 644 /usr/share/plymouth/themes/hypercube/*
110+ chmod 755 /usr/share/plymouth/themes/hypercube
112111
113- # Set Hypercube as the default Plymouth theme
114- plymouth-set-default-theme hypercube
112+ # Set Hypercube as the default Plymouth theme
113+ plymouth-set-default-theme hypercube
115114
116- # Update initramfs to include the new theme
117- # Note: This is handled by bootc/ostree during deployment, but we set the config
118- if [ -f /etc/plymouth/plymouthd.conf ]; then
119- sed -i ' s/^Theme=.*/Theme=hypercube/' /etc/plymouth/plymouthd.conf
120- else
121- mkdir -p /etc/plymouth
122- cat > /etc/plymouth/plymouthd.conf << EOF
115+ # Update initramfs to include the new theme
116+ # Note: This is handled by bootc/ostree during deployment, but we set the config
117+ if [ -f /etc/plymouth/plymouthd.conf ]; then
118+ sed -i ' s/^Theme=.*/Theme=hypercube/' /etc/plymouth/plymouthd.conf
119+ else
120+ mkdir -p /etc/plymouth
121+ cat > /etc/plymouth/plymouthd.conf << EOF
123122[Daemon]
124123Theme=hypercube
125124ShowDelay=0
126125DeviceTimeout=8
127126EOF
128- fi
127+ fi
129128
130- # Rebuild initramfs to include Plymouth theme
131- # This is required for the theme to be available during early boot
132- echo " Rebuilding initramfs with Plymouth theme..."
133- dracut --force --regenerate-all
129+ # Rebuild initramfs to include Plymouth theme
130+ # This is required for the theme to be available during early boot
131+ # --no-xattr: Container filesystems don't support xattrs, suppress warnings
132+ echo " Rebuilding initramfs with Plymouth theme..."
133+ dracut --force --regenerate-all --no-xattr
134+
135+ echo " Hypercube Plymouth theme installed successfully"
136+ fi
134137
135- echo " Hypercube Plymouth theme installed successfully"
138+ # ## Install Eww config
139+ # Install eww launcher configuration to system-wide location
140+ if [ -d /usr/share/hypercube/config/eww ]; then
141+ echo " Installing Eww launcher configuration..."
142+ mkdir -p /etc/skel/.config/eww
143+ cp -r /usr/share/hypercube/config/eww/* /etc/skel/.config/eww/
144+ echo " Eww configuration installed successfully"
136145fi
137146
138147# ## Install GDM branding (login screen customization)
139148if [ -d /usr/share/hypercube/config/gdm/dconf ]; then
140- echo " Installing GDM branding..."
149+ echo " Installing GDM branding..."
141150
142- # Install dconf profile for GDM
143- mkdir -p /etc/dconf/profile
144- cp -f /usr/share/hypercube/config/gdm/dconf/profile /etc/dconf/profile/gdm
151+ # Install dconf profile for GDM
152+ mkdir -p /etc/dconf/profile
153+ cp -f /usr/share/hypercube/config/gdm/dconf/profile /etc/dconf/profile/gdm
145154
146- # Create dconf database directory
147- mkdir -p /etc/dconf/db/hypercube-gdm.d
155+ # Create dconf database directory
156+ mkdir -p /etc/dconf/db/hypercube-gdm.d
148157
149- # Copy the GDM settings file
150- cp -f /usr/share/hypercube/config/gdm/dconf/hypercube-gdm /etc/dconf/db/hypercube-gdm.d/00-hypercube
158+ # Copy the GDM settings file
159+ cp -f /usr/share/hypercube/config/gdm/dconf/hypercube-gdm /etc/dconf/db/hypercube-gdm.d/00-hypercube
151160
152- # Compile the dconf database
153- dconf update
161+ # Compile the dconf database
162+ dconf update
154163
155- echo " GDM branding installed successfully"
164+ echo " GDM branding installed successfully"
156165fi
0 commit comments