Skip to content

Commit fc71619

Browse files
committed
EWW I guess
1 parent 3df9af5 commit fc71619

File tree

10 files changed

+293
-531
lines changed

10 files changed

+293
-531
lines changed

branding/README.md

Lines changed: 0 additions & 67 deletions
This file was deleted.

build_files/build.sh

Lines changed: 66 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -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
3231
dnf5 -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
7473
if [ -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
9392
fi
9493

9594
### Install Hypercube Plymouth theme
9695
if [ -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]
124123
Theme=hypercube
125124
ShowDelay=0
126125
DeviceTimeout=8
127126
EOF
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"
136145
fi
137146

138147
### Install GDM branding (login screen customization)
139148
if [ -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"
156165
fi

dot_files/elephant/elephant.toml

Lines changed: 0 additions & 7 deletions
This file was deleted.

dot_files/eww/eww.scss

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
// Hypercube App Launcher - Tokyo Night Theme
2+
// Color palette from Tokyo Night
3+
4+
$bg: #1a1b26;
5+
$bg-dark: #16161e;
6+
$bg-highlight: #292e42;
7+
$fg: #c0caf5;
8+
$fg-dark: #a9b1d6;
9+
$fg-gutter: #3b4261;
10+
$blue: #7aa2f7;
11+
$cyan: #7dcfff;
12+
$purple: #bb9af7;
13+
$green: #9ece6a;
14+
$red: #f7768e;
15+
$orange: #ff9e64;
16+
$yellow: #e0af68;
17+
$border: #414868;
18+
19+
// Main launcher container
20+
.launcher-container {
21+
background-color: rgba($bg, 0.95);
22+
border: 2px solid $border;
23+
border-radius: 16px;
24+
padding: 20px;
25+
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
26+
}
27+
28+
// Search box styling
29+
.search-container {
30+
background-color: $bg-highlight;
31+
border-radius: 12px;
32+
padding: 12px 16px;
33+
border: 1px solid $border;
34+
35+
&:focus-within {
36+
border-color: $blue;
37+
}
38+
}
39+
40+
.search-icon {
41+
color: $fg-gutter;
42+
font-size: 18px;
43+
min-width: 24px;
44+
}
45+
46+
.search-input {
47+
background: transparent;
48+
border: none;
49+
color: $fg;
50+
font-size: 16px;
51+
font-family: "Inter", "Cantarell", sans-serif;
52+
caret-color: $blue;
53+
54+
&::placeholder {
55+
color: $fg-gutter;
56+
}
57+
}
58+
59+
// App list styling
60+
.app-list-scroll {
61+
border-radius: 8px;
62+
}
63+
64+
.app-list {
65+
padding: 4px;
66+
}
67+
68+
// Individual app entry
69+
.app-entry {
70+
background-color: transparent;
71+
border: none;
72+
border-radius: 10px;
73+
padding: 10px 14px;
74+
transition: background-color 150ms ease;
75+
76+
&:hover {
77+
background-color: $bg-highlight;
78+
}
79+
80+
&:active {
81+
background-color: rgba($blue, 0.2);
82+
}
83+
}
84+
85+
.app-icon {
86+
border-radius: 8px;
87+
min-width: 32px;
88+
min-height: 32px;
89+
}
90+
91+
.app-name {
92+
color: $fg;
93+
font-size: 14px;
94+
font-family: "Inter", "Cantarell", sans-serif;
95+
font-weight: 500;
96+
}
97+
98+
// Scrollbar styling
99+
scrollbar {
100+
background-color: transparent;
101+
102+
slider {
103+
background-color: $fg-gutter;
104+
border-radius: 4px;
105+
min-width: 6px;
106+
min-height: 40px;
107+
108+
&:hover {
109+
background-color: $border;
110+
}
111+
}
112+
}
113+
114+
// Window styling (for layer shell)
115+
window {
116+
background-color: transparent;
117+
}

0 commit comments

Comments
 (0)