diff options
Diffstat (limited to 'raveos-hyprland-theme')
| -rw-r--r-- | raveos-hyprland-theme/.SRCINFO | 22 | ||||
| -rw-r--r-- | raveos-hyprland-theme/PKGBUILD | 94 | ||||
| -rw-r--r-- | raveos-hyprland-theme/raveos-hyprland-apply.sh | 259 | ||||
| -rw-r--r-- | raveos-hyprland-theme/raveos-hyprland-theme.install | 13 | ||||
| -rw-r--r-- | raveos-hyprland-theme/raveos-session-init.sh | 15 | ||||
| -rw-r--r-- | raveos-hyprland-theme/theme-data/hypr/config/keybinds.lua | 4 | ||||
| -rw-r--r-- | raveos-hyprland-theme/theme-data/hypr/config/windowrules.lua | 4 | ||||
| -rw-r--r-- | raveos-hyprland-theme/theme-data/hypr/hyprland.lua | 41 |
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 }) |