summaryrefslogtreecommitdiff
path: root/raveos-hyprland-theme
diff options
context:
space:
mode:
Diffstat (limited to 'raveos-hyprland-theme')
-rw-r--r--raveos-hyprland-theme/.SRCINFO22
-rw-r--r--raveos-hyprland-theme/PKGBUILD94
-rw-r--r--raveos-hyprland-theme/raveos-hyprland-apply.sh259
-rw-r--r--raveos-hyprland-theme/raveos-hyprland-theme.install13
-rw-r--r--raveos-hyprland-theme/raveos-session-init.sh15
-rw-r--r--raveos-hyprland-theme/theme-data/hypr/config/keybinds.lua4
-rw-r--r--raveos-hyprland-theme/theme-data/hypr/config/windowrules.lua4
-rw-r--r--raveos-hyprland-theme/theme-data/hypr/hyprland.lua41
8 files changed, 259 insertions, 193 deletions
diff --git a/raveos-hyprland-theme/.SRCINFO b/raveos-hyprland-theme/.SRCINFO
index fa1efc3..af8db8f 100644
--- a/raveos-hyprland-theme/.SRCINFO
+++ b/raveos-hyprland-theme/.SRCINFO
@@ -1,11 +1,29 @@
pkgbase = raveos-hyprland-theme
pkgdesc = RaveOS Hyprland theme payload and installer
- pkgver = 0.0.0
- pkgrel = 6
+ pkgver = 1.0.0
+ pkgrel = 1
url = https://raveos.local
install = raveos-hyprland-theme.install
arch = any
license = custom
+ conflicts = raveos-cosmic-theme
+ conflicts = raveos-gnome-theme
+ conflicts = raveos-plasma-theme
+ depends = dms-shell-hyprland
+ depends = matugen
+ depends = socat
+ depends = raveswitch
+ depends = polkit-gnome
+ depends = hyprshot
+ depends = qt6ct
+ depends = kvantum
+ depends = raveos-sddm-theme
depends = fastfetch
+ depends = wl-clipboard
+ depends = cliphist
+ depends = kitty
+ depends = amdgpu_top
+ depends = nvtop
+ depends = intel-gpu-tools
pkgname = raveos-hyprland-theme
diff --git a/raveos-hyprland-theme/PKGBUILD b/raveos-hyprland-theme/PKGBUILD
index a2d004c..a9310cc 100644
--- a/raveos-hyprland-theme/PKGBUILD
+++ b/raveos-hyprland-theme/PKGBUILD
@@ -1,51 +1,38 @@
# Maintainer: nippy <nippy@tuta.io>
-#
-# raveos-hyprland-theme
-# ---------------------
-# Hyprland DE téma csomag: Lua konfig, DankMaterialShell (DMS) shell, raveswitch
-# ablakváltó, kitty, fastfetch, GTK/ikontémák.
-#
-# Az install script (raveos-hyprland-apply.service) egyszer fut boot-kor és
-# bemásolja a theme-data tartalmát /etc/skel-be és minden meglévő user home-jába.
-#
-# Az SDDM login téma külön csomagban van (raveos-sddm-theme), mert korábban
-# mind a négy DE-téma csomag (cosmic/gnome/hyprland/plasma) ugyanazt a
-# byte-azonos SDDM temat csomagolta duplán.
pkgname=raveos-hyprland-theme
-pkgver=0.0.0
-pkgrel=64
-pkgdesc="RaveOS Hyprland theme payload and installer (includes DankMaterialShell)"
+pkgver=1.0.0
+pkgrel=1
+pkgdesc="RaveOS Hyprland theme payload and installer"
arch=('any')
url="https://raveos.local"
license=('custom')
-conflicts=('raveos-cosmic-theme' 'raveos-gnome-theme')
+options=('!debug')
+conflicts=('raveos-cosmic-theme' 'raveos-gnome-theme' 'raveos-plasma-theme')
-# Futáshoz szükséges csomagok
depends=(
- 'dms-shell-hyprland' # DankMaterialShell - a fő panel/shell + wallpaper
- 'matugen' # wallpaper-alapú színséma generátor (matugen image ...)
- 'socat' # raveswitch socket kommunikációhoz (keybinds)
- 'raveswitch' # Alt+Tab ablakváltó overlay (hyprshell utódja)
- 'polkit-gnome' # polkit auth agent (GUI sudo kérések)
- 'hyprshot' # képernyőkép: aktív ablak / kijelölés / teljes képernyő
- 'qt6ct' # Qt6 téma konfiguráció (matugen ezt írja a szín-séma alkalmazásakor)
- 'kvantum' # Qt6 SVG téma-motor (QT_STYLE_OVERRIDE=kvantum ezt igényli)
- 'raveos-sddm-theme' # közös RaveOS SDDM login téma
-)
-
-# Opcionális csomagok
-optdepends=(
- 'fastfetch: terminál üdvözlő (profile.d script indítja)'
- 'wl-clipboard: wl-paste (clipboard pipeline)'
- 'cliphist: clipboard history store'
- 'kitty: alapértelmezett terminál'
+ 'dms-shell-hyprland'
+ 'matugen'
+ 'socat'
+ 'raveswitch'
+ 'polkit-gnome'
+ 'hyprshot'
+ 'qt6ct'
+ 'kvantum'
+ 'raveos-sddm-theme'
+ 'fastfetch'
+ 'wl-clipboard'
+ 'cliphist'
+ 'kitty'
+ 'amdgpu_top'
+ 'nvtop'
+ 'intel-gpu-tools'
)
+install="${pkgname}.install"
source=()
sha256sums=()
-# Build könyvtárak az src mellé, ne a makepkg alapértelmezettbe
BUILDDIR="${startdir}/build"
PKGDEST="${startdir}/build"
SRCDEST="${startdir}/build"
@@ -53,22 +40,41 @@ SRCPKGDEST="${startdir}/build"
LOGDEST="${startdir}/build"
package() {
- # theme-data payload: hypr konfig, DMS config, kitty, fastfetch, GTK, stb.
+ # Alapértelmezett háttérkép
+ install -dm755 "${pkgdir}/usr/share/backgrounds/raveos"
+ install -Dm644 "${startdir}/theme-data/background.jpg" \
+ "${pkgdir}/usr/share/backgrounds/raveos/raveos-main-bg.jpeg"
+ install -Dm644 "${startdir}/theme-data/background.jpg" \
+ "${pkgdir}/usr/share/backgrounds/raveos/background.jpg"
+
+ # Rendszer szintű ikonok és GTK téma
+ install -dm755 "${pkgdir}/usr/share/icons"
+ install -dm755 "${pkgdir}/usr/share/themes"
+ cp -r --no-preserve=ownership "${startdir}/theme-data/skel/.icons/Adwaitaru-olive" \
+ "${pkgdir}/usr/share/icons/"
+ cp -r --no-preserve=ownership "${startdir}/theme-data/skel/.themes/Yaru-olive-dark" \
+ "${pkgdir}/usr/share/themes/"
+
+ # SDDM profilképek könyvtára
+ install -dm755 "${pkgdir}/usr/share/sddm/faces"
+
+ # Fastfetch profil script
+ install -Dm755 "${startdir}/theme-data/profile.d/raveos-fastfetch.sh" \
+ "${pkgdir}/etc/profile.d/raveos-fastfetch.sh"
+
+ # Session init script első bejelentkezéshez
+ install -Dm755 "${startdir}/raveos-session-init.sh" \
+ "${pkgdir}/etc/profile.d/raveos-session-init.sh"
+
+ # Theme payload
install -dm755 "${pkgdir}/usr/share/raveos/hyprland-theme"
cp -r --no-preserve=ownership "${startdir}/theme-data" \
"${pkgdir}/usr/share/raveos/hyprland-theme/"
- # SDDM téma: külön csomagban (raveos-sddm-theme), lásd depends
-
- # apply script: boot-kor futó installer (systemd service hívja)
+ # Auto-apply script és systemd service
install -Dm755 "${startdir}/raveos-hyprland-apply.sh" \
"${pkgdir}/usr/lib/raveos-hyprland-theme/auto-apply.sh"
- # systemd system service: egyszer fut (ConditionPathExists=!.applied guard)
install -Dm644 "${startdir}/raveos-hyprland-theme-apply.service" \
"${pkgdir}/usr/lib/systemd/system/raveos-hyprland-theme-apply.service"
-
- # session init script: első login-kor beállítja a háttérképet a DMS-ben
- install -Dm755 "${startdir}/raveos-session-init.sh" \
- "${pkgdir}/etc/profile.d/raveos-session-init.sh"
}
diff --git a/raveos-hyprland-theme/raveos-hyprland-apply.sh b/raveos-hyprland-theme/raveos-hyprland-apply.sh
index e91b900..6d7ab85 100644
--- a/raveos-hyprland-theme/raveos-hyprland-apply.sh
+++ b/raveos-hyprland-theme/raveos-hyprland-apply.sh
@@ -19,24 +19,24 @@ xdg_lang=""
xdg_lang="${xdg_lang%%.*}"; xdg_lang="${xdg_lang%%_*}"
case "$xdg_lang" in
hu)
- XDG_DESKTOP="Asztal"; XDG_DOWNLOAD="Letöltések"; XDG_TEMPLATES="Sablonok"
+ XDG_DESKTOP="Asztal"; XDG_DOWNLOAD="Letöltések"; XDG_TEMPLATES="Sablonok"
XDG_PUBLIC="Nyilvános"; XDG_DOCUMENTS="Dokumentumok"; XDG_MUSIC="Zenék"
- XDG_PICTURES="Képek"; XDG_VIDEOS="Videók"; XDG_PROJECTS="Projektek"
- BM_DOCUMENTS="Dokumentumok"; BM_MUSIC="Zen%C3%A9k"; BM_PICTURES="K%C3%A9pek"
+ XDG_PICTURES="Képek"; XDG_VIDEOS="Videók"; XDG_PROJECTS="Projektek"
+ BM_DOCUMENTS="Dokumentumok"; BM_MUSIC="Zen%C3%A9k"; BM_PICTURES="K%C3%A9pek"
BM_VIDEOS="Vide%C3%B3k"; BM_DOWNLOAD="Let%C3%B6lt%C3%A9sek"
;;
de)
- XDG_DESKTOP="Schreibtisch"; XDG_DOWNLOAD="Download"; XDG_TEMPLATES="Vorlagen"
- XDG_PUBLIC="Öffentlich"; XDG_DOCUMENTS="Dokumente"; XDG_MUSIC="Musik"
- XDG_PICTURES="Bilder"; XDG_VIDEOS="Videos"; XDG_PROJECTS="Projekte"
- BM_DOCUMENTS="Dokumente"; BM_MUSIC="Musik"; BM_PICTURES="Bilder"
+ XDG_DESKTOP="Schreibtisch"; XDG_DOWNLOAD="Download"; XDG_TEMPLATES="Vorlagen"
+ XDG_PUBLIC="Öffentlich"; XDG_DOCUMENTS="Dokumente"; XDG_MUSIC="Musik"
+ XDG_PICTURES="Bilder"; XDG_VIDEOS="Videos"; XDG_PROJECTS="Projekte"
+ BM_DOCUMENTS="Dokumente"; BM_MUSIC="Musik"; BM_PICTURES="Bilder"
BM_VIDEOS="Videos"; BM_DOWNLOAD="Download"
;;
*)
- XDG_DESKTOP="Desktop"; XDG_DOWNLOAD="Downloads"; XDG_TEMPLATES="Templates"
- XDG_PUBLIC="Public"; XDG_DOCUMENTS="Documents"; XDG_MUSIC="Music"
- XDG_PICTURES="Pictures"; XDG_VIDEOS="Videos"; XDG_PROJECTS="Projects"
- BM_DOCUMENTS="Documents"; BM_MUSIC="Music"; BM_PICTURES="Pictures"
+ XDG_DESKTOP="Desktop"; XDG_DOWNLOAD="Downloads"; XDG_TEMPLATES="Templates"
+ XDG_PUBLIC="Public"; XDG_DOCUMENTS="Documents"; XDG_MUSIC="Music"
+ XDG_PICTURES="Pictures"; XDG_VIDEOS="Videos"; XDG_PROJECTS="Projects"
+ BM_DOCUMENTS="Documents"; BM_MUSIC="Music"; BM_PICTURES="Pictures"
BM_VIDEOS="Videos"; BM_DOWNLOAD="Downloads"
;;
esac
@@ -56,7 +56,8 @@ setup_xdg_dirs() {
"${home}/${XDG_VIDEOS}" \
"${home}/${XDG_PROJECTS}"
- cat > "${dirs}" <<EOF
+ if [[ ! -f "$dirs" ]]; then
+ cat > "${dirs}" <<EOF
XDG_DESKTOP_DIR="\$HOME/${XDG_DESKTOP}"
XDG_DOWNLOAD_DIR="\$HOME/${XDG_DOWNLOAD}"
XDG_TEMPLATES_DIR="\$HOME/${XDG_TEMPLATES}"
@@ -67,6 +68,7 @@ XDG_PICTURES_DIR="\$HOME/${XDG_PICTURES}"
XDG_VIDEOS_DIR="\$HOME/${XDG_VIDEOS}"
XDG_PROJECTS_DIR="\$HOME/${XDG_PROJECTS}"
EOF
+ fi
}
install_gtk_bookmarks() {
@@ -120,57 +122,83 @@ set_hypr_keyboard() {
sed -i "s/kb_variant[[:space:]]*=[[:space:]]*\"\"/kb_variant = \"${kb_variant}\"/" "$hypr_lua"
}
-mkdir -p /etc/skel/.config/hypr
+ensure_bashrc_hook() {
+ local bashrc_path="$1"
+ local hook_line='[[ -f /etc/profile.d/raveos-fastfetch.sh ]] && source /etc/profile.d/raveos-fastfetch.sh'
+ touch "$bashrc_path"
+ if ! grep -Fqx "$hook_line" "$bashrc_path" 2>/dev/null; then
+ printf '\n%s\n' "$hook_line" >> "$bashrc_path"
+ fi
+}
+
+install_user_avatar() {
+ local user="$1"
+ local home="$2"
+ local uid="$3"
+ local gid="$4"
+
+ mkdir -p /usr/share/sddm/faces
+ chmod 755 /usr/share/sddm/faces
+
+ if [[ -f "${PAYLOAD}/hyprland-pp.png" ]]; then
+ install -Dm644 "${PAYLOAD}/hyprland-pp.png" "/usr/share/sddm/faces/${user}.face.icon"
+ if [[ ! -f "${home}/.face" ]]; then
+ install -Dm644 "${PAYLOAD}/hyprland-pp.png" "${home}/.face"
+ chown "${uid}:${gid}" "${home}/.face" 2>/dev/null || true
+ fi
+ if [[ ! -f "${home}/.face.icon" ]]; then
+ install -Dm644 "${PAYLOAD}/hyprland-pp.png" "${home}/.face.icon"
+ chown "${uid}:${gid}" "${home}/.face.icon" 2>/dev/null || true
+ fi
+ fi
+}
+
+# skel konfiguracio uj felhasznaloknak
+mkdir -p \
+ /etc/skel/.config/hypr \
+ /etc/skel/.config/dms \
+ /etc/skel/.config/quickshell/pockets/DMS \
+ /etc/skel/.config/DankMaterialShell \
+ /etc/skel/.config/kitty \
+ /etc/skel/.config/fastfetch \
+ /etc/skel/.config/raveos \
+ /etc/skel/.local/share/flatpak/overrides
+
if [[ -d "${PAYLOAD}/hypr" ]]; then
cp -rf "${PAYLOAD}/hypr/." /etc/skel/.config/hypr/
- # Ha Lua konfig létezik, a legacy .conf-ot töröljük
[[ -f /etc/skel/.config/hypr/hyprland.lua ]] && rm -f /etc/skel/.config/hypr/hyprland.conf
set_hypr_keyboard /etc/skel/.config/hypr/hyprland.lua
fi
-mkdir -p /etc/skel/.config/dms \
- /etc/skel/.config/quickshell/pockets/DMS \
- /etc/skel/.config/DankMaterialShell
-
-DMS_SRC="${PAYLOAD}/dms"
-if [[ -d "$DMS_SRC" ]]; then
- cp -r "${DMS_SRC}/." /etc/skel/.config/quickshell/pockets/DMS/
- cp -r "${DMS_SRC}/." /etc/skel/.config/dms/
- if [[ -d "${DMS_SRC}/matugen/configs" ]]; then
+if [[ -d "${PAYLOAD}/dms" ]]; then
+ cp -r "${PAYLOAD}/dms/." /etc/skel/.config/quickshell/pockets/DMS/
+ cp -r "${PAYLOAD}/dms/." /etc/skel/.config/dms/
+ if [[ -d "${PAYLOAD}/dms/matugen/configs" ]]; then
mkdir -p /etc/skel/.config/matugen
- cp -r "${DMS_SRC}/matugen/configs/." /etc/skel/.config/matugen/
+ cp -r "${PAYLOAD}/dms/matugen/configs/." /etc/skel/.config/matugen/
fi
fi
-[[ -f "${PAYLOAD}/DankMaterialShell/settings.json" ]] && \
- install -Dm644 "${PAYLOAD}/DankMaterialShell/settings.json" \
- /etc/skel/.config/DankMaterialShell/settings.json
-[[ -f "${PAYLOAD}/DankMaterialShell/.firstlaunch" ]] && \
- install -Dm644 "${PAYLOAD}/DankMaterialShell/.firstlaunch" \
- /etc/skel/.config/DankMaterialShell/.firstlaunch
-mkdir -p /etc/skel/.config/kitty
-[[ -d "${PAYLOAD}/kitty" ]] && cp -r "${PAYLOAD}/kitty/." /etc/skel/.config/kitty/
+if [[ -d "${PAYLOAD}/DankMaterialShell" ]]; then
+ cp -rf "${PAYLOAD}/DankMaterialShell/." /etc/skel/.config/DankMaterialShell/
+fi
+
+if [[ -d "${PAYLOAD}/kitty" ]]; then
+ cp -r "${PAYLOAD}/kitty/." /etc/skel/.config/kitty/
+fi
-mkdir -p /etc/skel/.config/fastfetch
for f in config.jsonc config-kitty.jsonc raveos-logo.png raveos-logo.txt; do
[[ -f "${PAYLOAD}/fastfetch/${f}" ]] && \
install -Dm644 "${PAYLOAD}/fastfetch/${f}" "/etc/skel/.config/fastfetch/${f}"
done
-[[ -f "${PAYLOAD}/profile.d/raveos-fastfetch.sh" ]] && \
- install -Dm755 "${PAYLOAD}/profile.d/raveos-fastfetch.sh" /etc/profile.d/raveos-fastfetch.sh
-
-[[ -d "${PAYLOAD}/skel" ]] && \
- cp -r --no-preserve=ownership "${PAYLOAD}/skel/." /etc/skel/
-
-setup_xdg_dirs /etc/skel
-install_gtk_bookmarks /etc/skel
-
[[ -f "${PAYLOAD}/background.jpg" ]] && \
install -Dm644 "${PAYLOAD}/background.jpg" /etc/skel/.config/background.jpg
-[[ -f "${PAYLOAD}/hyprland-pp.png" ]] && \
+if [[ -f "${PAYLOAD}/hyprland-pp.png" ]]; then
install -Dm644 "${PAYLOAD}/hyprland-pp.png" /etc/skel/.face
+ install -Dm644 "${PAYLOAD}/hyprland-pp.png" /etc/skel/.face.icon
+fi
for d in gtk-3.0 gtk-4.0 nwg-look Thunar xfce4 xsettingsd Kvantum; do
if [[ -d "${PAYLOAD}/${d}" ]]; then
@@ -182,110 +210,143 @@ done
[[ -f "${PAYLOAD}/raveswitch/config.ron" ]] && \
install -Dm644 "${PAYLOAD}/raveswitch/config.ron" /etc/skel/.config/raveswitch/config.ron
+if [[ -d "${PAYLOAD}/skel" ]]; then
+ cp -r --no-preserve=ownership "${PAYLOAD}/skel/." /etc/skel/
+fi
+
+setup_xdg_dirs /etc/skel
+install_gtk_bookmarks /etc/skel
+ensure_bashrc_hook /etc/skel/.bashrc
+echo "1" > /etc/skel/.config/raveos/hyprland-migrated
+# Meglevo felhasznalok beallitasa
while IFS=: read -r user _ uid gid _ home shell; do
[[ "$uid" -ge 1000 ]] || continue
[[ -d "$home" ]] || continue
[[ "$shell" != "/usr/bin/nologin" && "$shell" != "/bin/false" ]] || continue
- mkdir -p "${home}/.config/hypr" \
- "${home}/.config/quickshell/pockets/DMS" \
- "${home}/.config/dms" \
- "${home}/.config/DankMaterialShell" \
- "${home}/.config/matugen" \
- "${home}/.config/kitty" \
- "${home}/.config/fastfetch"
+ mkdir -p \
+ "${home}/.config/hypr" \
+ "${home}/.config/dms" \
+ "${home}/.config/quickshell/pockets/DMS" \
+ "${home}/.config/DankMaterialShell" \
+ "${home}/.config/matugen" \
+ "${home}/.config/kitty" \
+ "${home}/.config/fastfetch" \
+ "${home}/.config/raveos" \
+ "${home}/.local/state/DankMaterialShell" \
+ "${home}/.local/share/flatpak/overrides"
# Hyprland konfig
- pkill -u "$user" hyprpaper 2>/dev/null || true
- if [[ -d "${PAYLOAD}/hypr" ]]; then
+ if [[ ! -f "${home}/.config/hypr/hyprland.lua" && -d "${PAYLOAD}/hypr" ]]; then
cp -rf "${PAYLOAD}/hypr/." "${home}/.config/hypr/"
- [[ -f "${home}/.config/hypr/hyprland.lua" ]] && \
- rm -f "${home}/.config/hypr/hyprland.conf"
+ rm -f "${home}/.config/hypr/hyprland.conf"
set_hypr_keyboard "${home}/.config/hypr/hyprland.lua"
fi
- # hyprpaper konfig (háttérkép daemon)
- printf 'preload = %s/.config/background.jpg\nwallpaper = ,%s/.config/background.jpg\nsplash = false\n' \
- "$home" "$home" > "${home}/.config/hypr/hyprpaper.conf"
+ # hyprpaper konfig
+ if [[ ! -f "${home}/.config/hypr/hyprpaper.conf" ]]; then
+ printf 'preload = %s/.config/background.jpg\nwallpaper = ,%s/.config/background.jpg\nsplash = false\n' \
+ "$home" "$home" > "${home}/.config/hypr/hyprpaper.conf"
+ fi
- # DMS per-user konfig
- if [[ -d "$DMS_SRC" ]]; then
- cp -r "${DMS_SRC}/." "${home}/.config/quickshell/pockets/DMS/"
- cp -r "${DMS_SRC}/." "${home}/.config/dms/"
- if [[ -d "${DMS_SRC}/matugen/configs" ]]; then
- cp -r "${DMS_SRC}/matugen/configs/." "${home}/.config/matugen/"
+ # DMS konfig
+ if [[ -d "${PAYLOAD}/dms" ]]; then
+ cp -rn "${PAYLOAD}/dms/." "${home}/.config/quickshell/pockets/DMS/" 2>/dev/null || true
+ cp -rn "${PAYLOAD}/dms/." "${home}/.config/dms/" 2>/dev/null || true
+ if [[ -d "${PAYLOAD}/dms/matugen/configs" ]]; then
+ cp -rn "${PAYLOAD}/dms/matugen/configs/." "${home}/.config/matugen/" 2>/dev/null || true
fi
fi
- [[ -f "${PAYLOAD}/DankMaterialShell/settings.json" ]] && \
- install -Dm644 "${PAYLOAD}/DankMaterialShell/settings.json" \
- "${home}/.config/DankMaterialShell/settings.json"
- [[ -f "${PAYLOAD}/DankMaterialShell/.firstlaunch" ]] && \
- install -Dm644 "${PAYLOAD}/DankMaterialShell/.firstlaunch" \
- "${home}/.config/DankMaterialShell/.firstlaunch"
- # DMS session.json: háttérkép beállítása
- mkdir -p "${home}/.local/state/DankMaterialShell"
- cat > "${home}/.local/state/DankMaterialShell/session.json" <<-SEOF
+ if [[ -d "${PAYLOAD}/DankMaterialShell" ]]; then
+ for item in "${PAYLOAD}/DankMaterialShell"/{.[!.]*,*}; do
+ [[ -e "$item" ]] || continue
+ dest="${home}/.config/DankMaterialShell/$(basename "$item")"
+ [[ -e "$dest" ]] || cp -r "$item" "$dest"
+ done
+ fi
+
+ # DMS session.json hatterkep
+ if [[ ! -f "${home}/.local/state/DankMaterialShell/session.json" ]]; then
+ cat > "${home}/.local/state/DankMaterialShell/session.json" <<-SEOF
{
"wallpaperPath": "${home}/.config/background.jpg"
}
SEOF
+ fi
- # Skel tartalom
- [[ -d "${PAYLOAD}/skel" ]] && \
- cp -r --no-preserve=ownership "${PAYLOAD}/skel/." "$home/"
-
- setup_xdg_dirs "$home"
- install_gtk_bookmarks "$home"
-
- # Háttérkép
- [[ -f "${PAYLOAD}/background.jpg" ]] && \
+ # Hatterkep
+ if [[ ! -f "${home}/.config/background.jpg" && -f "${PAYLOAD}/background.jpg" ]]; then
install -Dm644 "${PAYLOAD}/background.jpg" "${home}/.config/background.jpg"
+ fi
+
+ # SDDM es user avatar
+ install_user_avatar "$user" "$home" "$uid" "$gid"
# Kitty
- [[ -d "${PAYLOAD}/kitty" ]] && \
+ if [[ ! -f "${home}/.config/kitty/kitty.conf" && -d "${PAYLOAD}/kitty" ]]; then
cp -r "${PAYLOAD}/kitty/." "${home}/.config/kitty/"
-
- # Felhasználói avatar
- [[ -f "${PAYLOAD}/hyprland-pp.png" ]] && \
- install -Dm644 "${PAYLOAD}/hyprland-pp.png" "${home}/.face"
+ fi
# Fastfetch
for f in config.jsonc config-kitty.jsonc raveos-logo.png raveos-logo.txt; do
- [[ -f "${PAYLOAD}/fastfetch/${f}" ]] && \
+ if [[ ! -f "${home}/.config/fastfetch/${f}" && -f "${PAYLOAD}/fastfetch/${f}" ]]; then
install -Dm644 "${PAYLOAD}/fastfetch/${f}" "${home}/.config/fastfetch/${f}"
+ fi
done
- # GTK, Thunar, nwg-look, xsettingsd, Kvantum konfigok
+ # GTK, Thunar, nwg-look, xsettingsd, Kvantum
for d in gtk-3.0 gtk-4.0 nwg-look Thunar xfce4 xsettingsd Kvantum; do
- if [[ -d "${PAYLOAD}/${d}" ]]; then
+ if [[ ! -d "${home}/.config/${d}" && -d "${PAYLOAD}/${d}" ]]; then
mkdir -p "${home}/.config/${d}"
cp -rf "${PAYLOAD}/${d}/." "${home}/.config/${d}/"
fi
done
- # RaveSwitch alap config (modifier: Super, lasd fentebb a skel-agnal)
- if [[ -f "${PAYLOAD}/raveswitch/config.ron" && ! -f "${home}/.config/raveswitch/config.ron" ]]; then
+ # RaveSwitch
+ if [[ ! -f "${home}/.config/raveswitch/config.ron" && -f "${PAYLOAD}/raveswitch/config.ron" ]]; then
install -Dm644 "${PAYLOAD}/raveswitch/config.ron" "${home}/.config/raveswitch/config.ron"
fi
- # Icon és GTK téma beállítása (dconf/gsettings)
- # A settings.ini nem elég — a GTK daemonok a dconf-ot olvassák
- # Chroot-ban (Calamares) dbus-launch lehet hogy nincs — ezért set +e
+ # Flatpak global override
+ if [[ ! -f "${home}/.local/share/flatpak/overrides/global" && -f "${PAYLOAD}/skel/.local/share/flatpak/overrides/global" ]]; then
+ install -Dm644 "${PAYLOAD}/skel/.local/share/flatpak/overrides/global" \
+ "${home}/.local/share/flatpak/overrides/global"
+ fi
+
+ setup_xdg_dirs "$home"
+ install_gtk_bookmarks "$home"
+ ensure_bashrc_hook "${home}/.bashrc"
+ echo "1" > "${home}/.config/raveos/hyprland-migrated"
+
+ # GTK tema beallitasa gsettings-szel
(
runuser -u "$user" -- dbus-launch gsettings set org.gnome.desktop.interface gtk-theme 'Yaru-olive-dark' 2>/dev/null
runuser -u "$user" -- dbus-launch gsettings set org.gnome.desktop.interface icon-theme 'Adwaitaru-olive' 2>/dev/null
) || true
- # Tulajdonos visszaállítása
- chown -R "${uid}:${gid}" "$home"
-
- # matugen: wallpaper-alapú színséma generálás
+ # matugen: wallpaper-alapu szinseme generalas ha elerheto
if command -v matugen &>/dev/null && [[ -f "${home}/.config/background.jpg" ]]; then
runuser -u "$user" -- matugen image "${home}/.config/background.jpg" 2>/dev/null || true
fi
+ # Kizarolag az erintett konfiguraciok es konyvtarak jogosultsagait javitjuk
+ chown "${uid}:${gid}" "${home}/.config" "${home}/.local" "${home}/.bashrc" 2>/dev/null || true
+ chown "${uid}:${gid}" \
+ "${home}/${XDG_DESKTOP}" \
+ "${home}/${XDG_DOWNLOAD}" \
+ "${home}/${XDG_TEMPLATES}" \
+ "${home}/${XDG_PUBLIC}" \
+ "${home}/${XDG_DOCUMENTS}" \
+ "${home}/${XDG_MUSIC}" \
+ "${home}/${XDG_PICTURES}" \
+ "${home}/${XDG_VIDEOS}" \
+ "${home}/${XDG_PROJECTS}" 2>/dev/null || true
+ chown -R "${uid}:${gid}" \
+ "${home}/.config" \
+ "${home}/.local" 2>/dev/null || true
+
done < /etc/passwd
-echo "Telepítés kész."
+echo "RaveOS Hyprland beállítás sikeresen alkalmazva."
diff --git a/raveos-hyprland-theme/raveos-hyprland-theme.install b/raveos-hyprland-theme/raveos-hyprland-theme.install
new file mode 100644
index 0000000..83dc8ab
--- /dev/null
+++ b/raveos-hyprland-theme/raveos-hyprland-theme.install
@@ -0,0 +1,13 @@
+_enable_apply_service() {
+ if command -v systemctl >/dev/null 2>&1; then
+ systemctl enable raveos-hyprland-theme-apply.service >/dev/null 2>&1 || true
+ fi
+}
+
+post_install() {
+ _enable_apply_service
+}
+
+post_upgrade() {
+ _enable_apply_service
+}
diff --git a/raveos-hyprland-theme/raveos-session-init.sh b/raveos-hyprland-theme/raveos-session-init.sh
index cb163d9..b0d0d6e 100644
--- a/raveos-hyprland-theme/raveos-session-init.sh
+++ b/raveos-hyprland-theme/raveos-session-init.sh
@@ -1,8 +1,4 @@
#!/usr/bin/env bash
-# raveos-session-init.sh
-# ----------------------
-# Első login-kor beállítja a GTK témát és a DMS session.json-ban a háttérképet.
-# Csak egyszer fut (ha az ~/.raveos-init-done nem létezik).
_raveos_init="${HOME}/.raveos-init-done"
@@ -11,11 +7,11 @@ if [[ -f "${_raveos_init}" ]]; then
return 0 2>/dev/null || exit 0
fi
-# GTK téma
-gsettings set org.gnome.desktop.interface gtk-theme 'Yaru-olive-dark'
-gsettings set org.gnome.desktop.interface icon-theme 'Adwaitaru-olive'
+# GTK tema
+gsettings set org.gnome.desktop.interface gtk-theme 'Yaru-olive-dark' 2>/dev/null || true
+gsettings set org.gnome.desktop.interface icon-theme 'Adwaitaru-olive' 2>/dev/null || true
-# DMS session.json: háttérkép beállítása
+# DMS session.json: hatterkep beallitasa
_session_file="${HOME}/.local/state/DankMaterialShell/session.json"
_bg_file="${HOME}/.config/background.jpg"
@@ -30,6 +26,5 @@ fi
unset _session_file _bg_file
-# Jelzés hogy lefutott
-touch "${_raveos_init}"
+touch "${_raveos_init}" 2>/dev/null || true
unset _raveos_init
diff --git a/raveos-hyprland-theme/theme-data/hypr/config/keybinds.lua b/raveos-hyprland-theme/theme-data/hypr/config/keybinds.lua
index 12b58b9..62c734e 100644
--- a/raveos-hyprland-theme/theme-data/hypr/config/keybinds.lua
+++ b/raveos-hyprland-theme/theme-data/hypr/config/keybinds.lua
@@ -1,6 +1,4 @@
----------------------
----- KEYBINDINGS ----
----------------------
+-- Keybindings
local mainMod = "SUPER"
local secondMod = "CTRL + ALT"
diff --git a/raveos-hyprland-theme/theme-data/hypr/config/windowrules.lua b/raveos-hyprland-theme/theme-data/hypr/config/windowrules.lua
index 3dd2e48..8d2eeb8 100644
--- a/raveos-hyprland-theme/theme-data/hypr/config/windowrules.lua
+++ b/raveos-hyprland-theme/theme-data/hypr/config/windowrules.lua
@@ -1,6 +1,4 @@
---#############################
---## WINDOWS AND WORKSPACES ###
---#############################
+-- Windows and workspaces
hl.window_rule({
name = "windowrule-float-all",
diff --git a/raveos-hyprland-theme/theme-data/hypr/hyprland.lua b/raveos-hyprland-theme/theme-data/hypr/hyprland.lua
index af3ce8d..5773667 100644
--- a/raveos-hyprland-theme/theme-data/hypr/hyprland.lua
+++ b/raveos-hyprland-theme/theme-data/hypr/hyprland.lua
@@ -1,14 +1,8 @@
-------------------
----- SOURCES -----
-------------------
-
+-- Sources
require("config/keybinds")
require("config/windowrules")
---###############
---## MONITORS ###
---###############
-
+-- Monitors
hl.monitor({
output = "",
mode = "preferred",
@@ -25,26 +19,18 @@ hl.on("hyprland.start", function()
hl.exec_cmd("systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP")
hl.exec_cmd("/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1")
hl.exec_cmd("gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'")
+ hl.exec_cmd("gsettings set org.gnome.desktop.interface gtk-theme 'Yaru-olive-dark'")
+ hl.exec_cmd("gsettings set org.gnome.desktop.interface icon-theme 'Adwaitaru-olive'")
hl.exec_cmd("bash -c 'wl-paste --watch cliphist store &'")
- -- raveos-welcome: itt nincs /etc/xdg/autostart feldolgozas (Hyprland
- -- nem DE-session, csak ezt a hl.on("hyprland.start")-ot futtatja), ezert
- -- kozvetlenul kell inditani - a sajat .welcome_done flag-je miatt csak
- -- az elso bejelentkezeskor csinal barmit, utana no-op.
hl.exec_cmd("env QT_QPA_PLATFORM='wayland;xcb' QT_STYLE_OVERRIDE=kvantum raveos-welcome")
end)
---##################
---## MY PROGRAMS ###
---##################
-
+-- Programs
local terminal = "kitty"
local fileManager = "Thunar"
local menu = "dms ipc call spotlight toggle"
---############################
---## ENVIRONMENT VARIABLES ###
---############################
-
+-- Environment variables
local _home = os.getenv("HOME") or ("/home/" .. (os.getenv("USER") or "user"))
local _xdg_runtime = os.getenv("XDG_RUNTIME_DIR") or "/run/user/1000"
@@ -68,10 +54,7 @@ hl.env("QT_WAYLAND_DISABLE_WINDOWDECORATION", 1)
hl.env("QT_STYLE_OVERRIDE", "kvantum")
hl.env("SSH_AUTH_SOCK", _xdg_runtime .. "/ssh-agent.socket")
---#####################
---## LOOK AND FEEL ###
---#####################
-
+-- Look and feel
hl.config({
general = {
gaps_in = 5,
@@ -143,10 +126,7 @@ hl.animation({ leaf = "workspacesIn", enabled = true, speed = 1.21, bezier = "a
hl.animation({ leaf = "workspacesOut", enabled = true, speed = 1.94, bezier = "almostLinear", style = "fade" })
hl.animation({ leaf = "zoomFactor", enabled = true, speed = 7, bezier = "quick" })
---###########
---## INPUT ##
---###########
-
+-- Input
hl.config({
input = {
kb_layout = "",
@@ -186,10 +166,7 @@ hl.gesture({
action = "workspace",
})
---#######################
---## HYPRSHELL LAYERS ###
---#######################
-
+-- Layers
hl.layer_rule({ match = { namespace = "hyprshell_overview" }, blur = true })
hl.layer_rule({ match = { namespace = "hyprshell_overview" }, ignore_alpha = true })
hl.layer_rule({ match = { namespace = "hyprshell_switch" }, blur = true })