# Maintainer: nippy <nippy@tuta.io>
#
# raveos-gnome-theme
# ------------------
# Modern, kaszkádolt GNOME téma csomag a RaveOS-hez.
#
# Főbb újítások a korábbi architektúrához képest:
# 1. Rendszerszintű témák és ikonok (/usr/share/themes és /usr/share/icons)
#    -> Flatpak és root jogosultságú appok alatt sem esik szét a design!
# 2. Rendszerszintű dconf és GSettings alapértelmezések (00-raveos és gschema.override)
#    -> Csomagfrissítéskor SOHA NEM írja felül a felhasználó egyéni beállításait!
# 3. Kíméletes skel és home kezelés: csak a hiányzó fájlokat pótolja, meglévőt nem bánt.
# 4. Biztonságos jogosultság-kezelés: nem chownolja rekurzívan az egész home könyvtárat.

pkgname=raveos-gnome-theme
pkgver=1.0.0
pkgrel=1
pkgdesc="RaveOS GNOME theme payload and modern cascading installer"
arch=('any')
url="https://raveos.local"
license=('custom')
options=('!debug')
conflicts=('raveos-plasma-theme' 'raveos-hyprland-theme' 'raveos-cosmic-theme')

depends=('raveos-sddm-theme' 'dconf')

optdepends=(
    'fastfetch: terminál üdvözlő (profile.d script indítja)'
)

install="${pkgname}.install"
source=()
sha256sums=()

# Build könyvtárak az src mellé
BUILDDIR="${startdir}/build"
PKGDEST="${startdir}/build"
SRCDEST="${startdir}/build"
SRCPKGDEST="${startdir}/build"
LOGDEST="${startdir}/build"

package() {
    # 1. Rendszerszintű témák és ikonok (Flatpak és root kompatibilitás!)
    install -dm755 "${pkgdir}/usr/share/themes"
    cp -r --no-preserve=ownership "${startdir}/theme-data/user-themes/Yaru-olive-dark" \
        "${pkgdir}/usr/share/themes/"

    install -dm755 "${pkgdir}/usr/share/icons"
    cp -r --no-preserve=ownership "${startdir}/theme-data/user-icons/Adwaitaru-olive" \
        "${pkgdir}/usr/share/icons/"

    # 2. Rendszerlogók és ikonok
    install -Dm644 "${startdir}/theme-data/system/raveos-logo.svg" \
        "${pkgdir}/usr/share/pixmaps/raveos-logo.svg"
    install -Dm644 "${startdir}/theme-data/system/raveos-logo.svg" \
        "${pkgdir}/usr/share/icons/hicolor/scalable/apps/raveos-logo.svg"

    # 3. Háttérkép
    install -Dm644 "${startdir}/theme-data/background" \
        "${pkgdir}/usr/share/backgrounds/raveos/raveos-main-bg.jpeg"

    # 4. Rendszerszintű GNOME Shell kiterjesztések (csak az egyediek, a gyári gnome-shell-extensions csomaggal ne ütközzön)
    install -dm755 "${pkgdir}/usr/share/gnome-shell/extensions"
    cp -r --no-preserve=ownership "${startdir}/theme-data/extensions/installed/." \
        "${pkgdir}/usr/share/gnome-shell/extensions/"
    rm -rf "${pkgdir}/usr/share/gnome-shell/extensions/"*@gnome-shell-extensions.gcampax.github.com

    # 5. Fastfetch profil és indító
    install -Dm755 "${startdir}/theme-data/profile.d/raveos-fastfetch.sh" \
        "${pkgdir}/etc/profile.d/raveos-fastfetch.sh"

    # 6. Rendszerszintű dconf profil és alapértelmezések
    install -Dm644 "${startdir}/dconf-user-profile" \
        "${pkgdir}/etc/dconf/profile/user"
    install -Dm644 "${startdir}/00-raveos" \
        "${pkgdir}/etc/dconf/db/local.d/00-raveos"

    # 7. GSettings schema override
    install -Dm644 "${startdir}/99_raveos-gnome.gschema.override" \
        "${pkgdir}/usr/share/glib-2.0/schemas/99_raveos-gnome.gschema.override"

    # 8. Payload adatok az új felhasználók (skel) beállításához
    install -dm755 "${pkgdir}/usr/share/raveos/gnome-theme"
    cp -r --no-preserve=ownership "${startdir}/theme-data" \
        "${pkgdir}/usr/share/raveos/gnome-theme/"

    # 9. Telepítő és systemd service
    install -Dm755 "${startdir}/raveos-gnome-apply.sh" \
        "${pkgdir}/usr/lib/raveos-gnome-theme/auto-apply.sh"
    install -Dm644 "${startdir}/raveos-gnome-theme-apply.service" \
        "${pkgdir}/usr/lib/systemd/system/raveos-gnome-theme-apply.service"
}
