summaryrefslogtreecommitdiff
path: root/raveos-gnome-theme
diff options
context:
space:
mode:
authorNippy <nippy@Beller-Mac-mini.lan>2026-09-07 19:37:34 +0200
committerNippy <nippy@Beller-Mac-mini.lan>2026-09-07 19:39:31 +0200
commita26fdf3ea630e82fdfc93fffcaef098e7c3fc0e9 (patch)
treedea615142a03bc111c97b0b3a5385c93f1b8fc73 /raveos-gnome-theme
parent2b1073b57b09b61099f0e9f67dc13292f5672e35 (diff)
downloadRaveOS-PKGBUILD-a26fdf3ea630e82fdfc93fffcaef098e7c3fc0e9.tar.gz
RaveOS-PKGBUILD-a26fdf3ea630e82fdfc93fffcaef098e7c3fc0e9.zip
rework theme
Diffstat (limited to 'raveos-gnome-theme')
-rw-r--r--raveos-gnome-theme/.SRCINFO14
-rw-r--r--raveos-gnome-theme/00-raveos171
-rw-r--r--raveos-gnome-theme/99_raveos-gnome.gschema.override57
-rw-r--r--raveos-gnome-theme/PKGBUILD77
-rw-r--r--raveos-gnome-theme/dconf-user-profile2
-rwxr-xr-xraveos-gnome-theme/raveos-gnome-apply.sh234
-rw-r--r--raveos-gnome-theme/raveos-gnome-theme-apply.service4
-rw-r--r--raveos-gnome-theme/raveos-gnome-theme.install21
8 files changed, 396 insertions, 184 deletions
diff --git a/raveos-gnome-theme/.SRCINFO b/raveos-gnome-theme/.SRCINFO
index 1d53e3c..a7cea12 100644
--- a/raveos-gnome-theme/.SRCINFO
+++ b/raveos-gnome-theme/.SRCINFO
@@ -1,11 +1,17 @@
pkgbase = raveos-gnome-theme
- pkgdesc = RaveOS GNOME theme payload and installer
- pkgver = 0.0.0
- pkgrel = 18
+ pkgdesc = RaveOS GNOME theme payload and modern cascading installer
+ pkgver = 1.0.0
+ pkgrel = 1
url = https://raveos.local
install = raveos-gnome-theme.install
arch = any
license = custom
- depends = fastfetch
+ conflicts = raveos-plasma-theme
+ conflicts = raveos-hyprland-theme
+ conflicts = raveos-cosmic-theme
+ depends = raveos-sddm-theme
+ depends = dconf
+ optdepends = fastfetch: terminál üdvözlő (profile.d script indítja)
+ options = !debug
pkgname = raveos-gnome-theme
diff --git a/raveos-gnome-theme/00-raveos b/raveos-gnome-theme/00-raveos
new file mode 100644
index 0000000..f874f33
--- /dev/null
+++ b/raveos-gnome-theme/00-raveos
@@ -0,0 +1,171 @@
+# RaveOS GNOME 2 - Rendszerszintű dconf alapértelmezések
+# Ez a fájl biztosítja az alapértelmezett RaveOS megjelenést,
+# de a felhasználó egyéni beállításai (pl. háttérkép csere) felülbírálják,
+# így frissítéskor sem vesznek el a saját módosítások.
+
+[org/gnome/desktop/interface]
+accent-color='green'
+color-scheme='prefer-dark'
+cursor-size=24
+cursor-theme='Adwaita'
+document-font-name='Adwaita Sans 12'
+font-name='Adwaita Sans 11'
+gtk-theme='Yaru-olive-dark'
+icon-theme='Adwaitaru-olive'
+monospace-font-name='Adwaita Mono 11'
+
+[org/gnome/desktop/background]
+color-shading-type='solid'
+picture-options='zoom'
+picture-uri='file:///usr/share/backgrounds/raveos/raveos-main-bg.jpeg'
+picture-uri-dark='file:///usr/share/backgrounds/raveos/raveos-main-bg.jpeg'
+primary-color='#241f31'
+secondary-color='#000000'
+
+[org/gnome/desktop/screensaver]
+color-shading-type='solid'
+picture-options='zoom'
+picture-uri='file:///usr/share/backgrounds/raveos/raveos-main-bg.jpeg'
+primary-color='#241f31'
+secondary-color='#000000'
+
+[org/gnome/desktop/wm/preferences]
+button-layout='appmenu:minimize,maximize,close'
+num-workspaces=1
+
+[org/gnome/mutter]
+dynamic-workspaces=true
+
+[org/gnome/desktop/peripherals/keyboard]
+numlock-state=true
+
+[org/gnome/desktop/peripherals/mouse]
+accel-profile='flat'
+speed=0.0
+
+[org/gnome/desktop/peripherals/touchpad]
+two-finger-scrolling-enabled=true
+
+[org/gnome/desktop/session]
+idle-delay=uint32 900
+
+[org/gnome/settings-daemon/plugins/power]
+power-button-action='interactive'
+
+[org/gnome/settings-daemon/plugins/media-keys]
+custom-keybindings=['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/']
+
+[org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0]
+binding='<Control><Alt>t'
+command='kgx'
+name='Terminal'
+
+[org/gnome/shell]
+always-show-log-out=true
+disable-user-extensions=false
+disabled-extensions=['apps-menu@gnome-shell-extensions.gcampax.github.com', 'auto-move-windows@gnome-shell-extensions.gcampax.github.com', 'launch-new-instance@gnome-shell-extensions.gcampax.github.com', 'light-style@gnome-shell-extensions.gcampax.github.com', 'native-window-placement@gnome-shell-extensions.gcampax.github.com', 'places-menu@gnome-shell-extensions.gcampax.github.com', 'system-monitor@gnome-shell-extensions.gcampax.github.com', 'unity-like-appswitcher@gonza.com', 'window-list@gnome-shell-extensions.gcampax.github.com', 'windowsNavigator@gnome-shell-extensions.gcampax.github.com', 'workspace-indicator@gnome-shell-extensions.gcampax.github.com', 'rounded-window-corners@fxgn']
+enabled-extensions=['drive-menu@gnome-shell-extensions.gcampax.github.com', 'burn-my-windows@schneegans.github.com', 'user-theme@gnome-shell-extensions.gcampax.github.com', 'appindicatorsupport@rgcjonas.gmail.com', 'customreboot@nova1545', 'hide-universal-access@akiirui.github.io', 'no-overview@fthx', 'notification-timeout@chlumskyvaclav.gmail.com', 'rebootintowindows@nimz.cool', 'reboottouefi@ubaygd.com', 'ShutdownTimer@deminder', 'Vitals@CoreCoding.com', 'dash-to-dock@micxgx.gmail.com', 'blur-my-shell@aunetx', 'status-icons@gnome-shell-extensions.gcampax.github.com', 'unity-like-appswitcher-reforged@gabeszm']
+favorite-apps=['org.gnome.Nautilus.desktop']
+welcome-dialog-last-shown-version='999.0'
+
+[org/gnome/shell/extensions/user-theme]
+name='Yaru-olive-dark'
+
+[org/gnome/shell/extensions/dash-to-dock]
+always-center-icons=false
+autohide-in-fullscreen=false
+background-color='rgb(0,0,0)'
+background-opacity=0.33
+click-action='minimize-or-overview'
+custom-background-color=true
+custom-theme-shrink=true
+dance-urgent-applications=true
+dash-max-icon-size=44
+disable-overview-on-startup=false
+dock-fixed=false
+dock-position='LEFT'
+extend-height=true
+force-straight-corner=true
+height-fraction=0.33
+hot-keys=true
+icon-size-fixed=true
+intellihide-mode='ALL_WINDOWS'
+isolate-locations=true
+isolate-workspaces=false
+multi-monitor=true
+preview-size-scale=0.0
+running-indicator-dominant-color=true
+running-indicator-style='DOTS'
+show-apps-always-in-the-edge=true
+show-apps-at-top=false
+show-icons-emblems=true
+show-mounts=false
+show-mounts-network=false
+show-mounts-only-mounted=true
+show-trash=false
+transparency-mode='FIXED'
+unity-backlit-items=false
+workspace-agnostic-urgent-windows=true
+
+[org/gnome/shell/extensions/blur-my-shell]
+pipelines={'pipeline_default': {'name': <'Default'>, 'effects': <[<{'type': <'native_static_gaussian_blur'>, 'id': <'effect_000000000000'>, 'params': <{'radius': <30>, 'brightness': <0.60>}>}>]>}, 'pipeline_default_rounded': {'name': <'Default rounded'>, 'effects': <[<{'type': <'native_static_gaussian_blur'>, 'id': <'effect_000000000001'>, 'params': <{'radius': <30>, 'brightness': <0.60>}>}>, <{'type': <'corner'>, 'id': <'effect_000000000002'>, 'params': <{'radius': <24>}>}>]>}}
+settings-version=2
+
+[org/gnome/shell/extensions/blur-my-shell/appfolder]
+brightness=0.60
+sigma=30
+
+[org/gnome/shell/extensions/blur-my-shell/dash-to-dock]
+blur=false
+brightness=0.60
+override-background=true
+pipeline='pipeline_default'
+sigma=30
+static-blur=true
+style-dash-to-dock=0
+
+[org/gnome/shell/extensions/blur-my-shell/lockscreen]
+pipeline='pipeline_default'
+
+[org/gnome/shell/extensions/blur-my-shell/overview]
+pipeline='pipeline_default'
+
+[org/gnome/shell/extensions/blur-my-shell/panel]
+brightness=0.45
+customize=true
+force-light-text=true
+override-background=true
+pipeline='pipeline_default'
+sigma=30
+static-blur=true
+
+[org/gnome/shell/extensions/blur-my-shell/screenshot]
+pipeline='pipeline_default'
+
+[org/gnome/shell/extensions/blur-my-shell/window-list]
+brightness=0.60
+sigma=30
+
+[org/gnome/shell/extensions/unity-window-switcher-reforged]
+background-border-radius=22
+background-color='rgb(36,31,49)'
+border-size=0
+container-padding=11
+icon-border-radius=16
+icon-spacing=11
+
+[org/gnome/shell/extensions/vitals]
+hot-sensors=['_processor_usage_', '_memory_allocated_']
+icon-style=0
+position-in-panel=0
+update-time=1
+
+[org/gnome/nautilus/preferences]
+default-folder-viewer='icon-view'
+migrated-gtk-settings=true
+show-create-link=true
+show-delete-permanently=true
+
+[org/gnome/Console]
+last-window-maximised=false
+last-window-size=(1000, 650)
diff --git a/raveos-gnome-theme/99_raveos-gnome.gschema.override b/raveos-gnome-theme/99_raveos-gnome.gschema.override
new file mode 100644
index 0000000..876cdc0
--- /dev/null
+++ b/raveos-gnome-theme/99_raveos-gnome.gschema.override
@@ -0,0 +1,57 @@
+# RaveOS GNOME - Rendszerszintű GSettings sémák
+# A felhasználói beállítások (user-db) mindig felülbírálják ezt a fájlt.
+
+[org.gnome.desktop.interface]
+accent-color='green'
+color-scheme='prefer-dark'
+cursor-size=24
+cursor-theme='Adwaita'
+document-font-name='Adwaita Sans 12'
+font-name='Adwaita Sans 11'
+gtk-theme='Yaru-olive-dark'
+icon-theme='Adwaitaru-olive'
+monospace-font-name='Adwaita Mono 11'
+
+[org.gnome.desktop.background]
+color-shading-type='solid'
+picture-options='zoom'
+picture-uri='file:///usr/share/backgrounds/raveos/raveos-main-bg.jpeg'
+picture-uri-dark='file:///usr/share/backgrounds/raveos/raveos-main-bg.jpeg'
+primary-color='#241f31'
+secondary-color='#000000'
+
+[org.gnome.desktop.screensaver]
+color-shading-type='solid'
+picture-options='zoom'
+picture-uri='file:///usr/share/backgrounds/raveos/raveos-main-bg.jpeg'
+primary-color='#241f31'
+secondary-color='#000000'
+
+[org.gnome.desktop.wm.preferences]
+button-layout='appmenu:minimize,maximize,close'
+num-workspaces=1
+
+[org.gnome.mutter]
+dynamic-workspaces=true
+
+[org.gnome.desktop.peripherals.keyboard]
+numlock-state=true
+
+[org.gnome.desktop.session]
+idle-delay=uint32 900
+
+[org.gnome.settings-daemon.plugins.power]
+power-button-action='interactive'
+
+[org.gnome.shell]
+always-show-log-out=true
+disable-user-extensions=false
+enabled-extensions=['drive-menu@gnome-shell-extensions.gcampax.github.com', 'burn-my-windows@schneegans.github.com', 'user-theme@gnome-shell-extensions.gcampax.github.com', 'appindicatorsupport@rgcjonas.gmail.com', 'customreboot@nova1545', 'hide-universal-access@akiirui.github.io', 'no-overview@fthx', 'notification-timeout@chlumskyvaclav.gmail.com', 'rebootintowindows@nimz.cool', 'reboottouefi@ubaygd.com', 'ShutdownTimer@deminder', 'Vitals@CoreCoding.com', 'dash-to-dock@micxgx.gmail.com', 'blur-my-shell@aunetx', 'status-icons@gnome-shell-extensions.gcampax.github.com', 'unity-like-appswitcher-reforged@gabeszm']
+favorite-apps=['org.gnome.Nautilus.desktop']
+welcome-dialog-last-shown-version='999.0'
+
+[org.gnome.nautilus.preferences]
+default-folder-viewer='icon-view'
+migrated-gtk-settings=true
+show-create-link=true
+show-delete-permanently=true
diff --git a/raveos-gnome-theme/PKGBUILD b/raveos-gnome-theme/PKGBUILD
index 21dd73a..9bf0893 100644
--- a/raveos-gnome-theme/PKGBUILD
+++ b/raveos-gnome-theme/PKGBUILD
@@ -2,27 +2,27 @@
#
# raveos-gnome-theme
# ------------------
-# GNOME DE téma csomag: kitty, fastfetch, GNOME shell extensions,
-# GTK/ikon témák, dconf alapértelmezések.
+# Modern, kaszkádolt GNOME téma csomag a RaveOS-hez.
#
-# Az install script (raveos-gnome-theme-apply.service) post_install hook-ból
-# fut é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.
+# 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=0.0.0
-pkgrel=30
-pkgdesc="RaveOS GNOME theme payload and installer"
+pkgver=1.0.0
+pkgrel=1
+pkgdesc="RaveOS GNOME theme payload and modern cascading installer"
arch=('any')
url="https://raveos.local"
license=('custom')
-conflicts=('raveos-hyprland-theme' 'raveos-cosmic-theme')
+options=('!debug')
+conflicts=('raveos-plasma-theme' 'raveos-hyprland-theme' 'raveos-cosmic-theme')
-depends=('raveos-sddm-theme')
+depends=('raveos-sddm-theme' 'dconf')
optdepends=(
'fastfetch: terminál üdvözlő (profile.d script indítja)'
@@ -32,7 +32,7 @@ install="${pkgname}.install"
source=()
sha256sums=()
-# Build könyvtárak az src mellé, ne a makepkg alapértelmezettbe
+# Build könyvtárak az src mellé
BUILDDIR="${startdir}/build"
PKGDEST="${startdir}/build"
SRCDEST="${startdir}/build"
@@ -40,18 +40,53 @@ SRCPKGDEST="${startdir}/build"
LOGDEST="${startdir}/build"
package() {
- # theme-data payload: kitty, fastfetch, GTK, extensions, GNOME konfig stb.
+ # 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/"
- # SDDM téma: külön csomagban (raveos-sddm-theme), lásd depends
-
- # apply script: post_install hook hívja
+ # 9. Telepítő és systemd service
install -Dm755 "${startdir}/raveos-gnome-apply.sh" \
"${pkgdir}/usr/lib/raveos-gnome-theme/auto-apply.sh"
-
- # systemd service (a post_install hook enable-oli)
install -Dm644 "${startdir}/raveos-gnome-theme-apply.service" \
"${pkgdir}/usr/lib/systemd/system/raveos-gnome-theme-apply.service"
}
diff --git a/raveos-gnome-theme/dconf-user-profile b/raveos-gnome-theme/dconf-user-profile
new file mode 100644
index 0000000..aca0641
--- /dev/null
+++ b/raveos-gnome-theme/dconf-user-profile
@@ -0,0 +1,2 @@
+user-db:user
+system-db:local
diff --git a/raveos-gnome-theme/raveos-gnome-apply.sh b/raveos-gnome-theme/raveos-gnome-apply.sh
index 324e988..c56ea3f 100755
--- a/raveos-gnome-theme/raveos-gnome-apply.sh
+++ b/raveos-gnome-theme/raveos-gnome-apply.sh
@@ -1,20 +1,16 @@
#!/usr/bin/env bash
# raveos-gnome-apply.sh
# ---------------------
-# Telepíti a GNOME téma payloadját:
-# - /etc/skel alá (új usereknek)
-# - minden meglévő, bejelentkező user home-jába
-#
-# Root jogosultság szükséges. A raveos-gnome-theme.install post_install
-# hook-ja hívja közvetlenül.
+# Modern RaveOS GNOME inicializáló és beállító script:
+# - /etc/skel alá telepíti a sablonokat (új usereknek)
+# - Meglévő usereknél CSAK a hiányzó fájlokat pótolja (sosem ír felül meglévő beállításokat!)
+# - Nem futtat 'dconf load'-ot, így a felhasználó saját beállításai megmaradnak!
+# - Csak az általa létrehozott mappákat chownolja (biztonságos)
set -euo pipefail
PAYLOAD="/usr/share/raveos/gnome-theme/theme-data"
wallpaper_dst="/usr/share/backgrounds/raveos/raveos-main-bg.jpeg"
-dconf_profile_dir="/etc/dconf/profile"
-dconf_db_dir="/etc/dconf/db/local.d"
-dconf_default_file="${dconf_db_dir}/00-raveos"
if [[ ! -d "$PAYLOAD" ]]; then
echo "Hiba: hiányzó payload: $PAYLOAD" >&2
@@ -42,7 +38,7 @@ ensure_bashrc_hook() {
write_mimeapps_defaults() {
local mimeapps_path="$1"
mkdir -p "$(dirname "$mimeapps_path")"
- cat > "$mimeapps_path" <<'EOF'
+ cat > "$mimeapps_path" <<'MIMEOF'
[Default Applications]
image/jpeg=org.gnome.eog.desktop
image/png=org.gnome.eog.desktop
@@ -53,180 +49,110 @@ image/tiff=org.gnome.eog.desktop
image/avif=org.gnome.eog.desktop
image/heif=org.gnome.eog.desktop
image/heic=org.gnome.eog.desktop
-EOF
-}
-
-build_system_dconf_defaults() {
- sed -e "s|file:///home/{HOME}/.config/background|file://${wallpaper_dst}|g" \
- "${PAYLOAD}/dconf/full-system-dump.ini" > "$dconf_default_file"
-}
-
-build_user_dconf_dump() {
- local target_home="$1"
- local output_path="$2"
- sed \
- -e "s|file:///home/{HOME}/.config/background|file://${target_home}/.config/background|g" \
- -e "s|{HOME}|${target_home}|g" \
- "${PAYLOAD}/dconf/full-system-dump.ini" > "$output_path"
+MIMEOF
}
# ---------------------------------------------------------------------------
-# RENDSZERSZINTŰ TELEPÍTÉS
+# RENDSZERSZINTŰ BEÁLLÍTÁSOK
# ---------------------------------------------------------------------------
-# Háttérkép rendszerkönyvtárba
-install -Dm644 "${PAYLOAD}/background" "$wallpaper_dst"
-
-# App grid ikon és rendszer logo
-[[ -f "${PAYLOAD}/icons/view-app-grid-symbolic.svg" ]] && \
- install -Dm644 "${PAYLOAD}/icons/view-app-grid-symbolic.svg" \
- /usr/share/icons/Adwaita/symbolic/actions/view-app-grid-symbolic.svg
-[[ -f "${PAYLOAD}/system/raveos-logo.svg" ]] && \
- install -Dm644 "${PAYLOAD}/system/raveos-logo.svg" /usr/share/pixmaps/raveos-logo.svg && \
- install -Dm644 "${PAYLOAD}/system/raveos-logo.svg" /usr/share/icons/hicolor/scalable/apps/raveos-logo.svg
-
-# Elrejtett alkalmazások (NoDisplay=true .desktop felülírással)
+# Elrejtett felesleges menüelemek
mkdir -p /usr/local/share/applications
for desktop_id in avahi-discover.desktop bssh.desktop bvnc.desktop qv4l2.desktop qvidcap.desktop vim.desktop; do
- cat > "/usr/local/share/applications/${desktop_id}" <<'EOF'
+ cat > "/usr/local/share/applications/${desktop_id}" <<'DESKEOF'
[Desktop Entry]
NoDisplay=true
-EOF
+DESKEOF
done
-# dconf rendszerprofil és alapértelmezések
-mkdir -p "$dconf_profile_dir" "$dconf_db_dir"
-cat > "${dconf_profile_dir}/user" <<'EOF'
-user-db:user
-system-db:local
-EOF
-build_system_dconf_defaults
-command -v dconf &>/dev/null && dconf update || true
-
-# SDDM: a téma és konfig a PKGBUILD + .install hook által van telepítve, itt nincs teendő
-
-# ---------------------------------------------------------------------------
-# MEGLÉVŐ USEREK FRISSÍTÉSE
-# /etc/passwd alapján minden UID >= 1000 bejelentkező user home-ja
-# ---------------------------------------------------------------------------
-
-install_user() {
- local target_user="$1"
- local passwd_line target_uid target_gid target_home tmpdir
-
- passwd_line="$(getent passwd "$target_user" || true)"
- [[ -n "$passwd_line" ]] || return 0
- IFS=: read -r _ _ target_uid target_gid _ target_home _ <<<"$passwd_line"
- [[ -d "$target_home" ]] || return 0
-
- mkdir -p \
- "${target_home}/.config/kitty" \
- "${target_home}/.config/fastfetch" \
- "${target_home}/.config/burn-my-windows/profiles" \
- "${target_home}/.config" \
- "${target_home}/.themes" \
- "${target_home}/.icons" \
- "${target_home}/.local/share/gnome-shell/extensions"
-
- install -Dm644 "$wallpaper_dst" "${target_home}/.config/background"
- cp -r --no-preserve=ownership "${PAYLOAD}/user-themes/." "${target_home}/.themes/"
- cp -r --no-preserve=ownership "${PAYLOAD}/user-icons/." "${target_home}/.icons/"
- cp -r --no-preserve=ownership "${PAYLOAD}/extensions/installed/." \
- "${target_home}/.local/share/gnome-shell/extensions/"
-
- [[ -f "${PAYLOAD}/kitty/kitty.conf" ]] && \
- install -Dm644 "${PAYLOAD}/kitty/kitty.conf" "${target_home}/.config/kitty/kitty.conf"
- for f in config.jsonc config-kitty.jsonc raveos-logo.png raveos-logo.txt; do
- [[ -f "${PAYLOAD}/fastfetch/${f}" ]] && \
- install -Dm644 "${PAYLOAD}/fastfetch/${f}" "${target_home}/.config/fastfetch/${f}"
- done
- [[ -f "${PAYLOAD}/burn-my-windows/burn-my-windows.conf" ]] && \
- install -Dm644 "${PAYLOAD}/burn-my-windows/burn-my-windows.conf" \
- "${target_home}/.config/burn-my-windows/profiles/burn-my-windows.conf"
- write_mimeapps_defaults "${target_home}/.config/mimeapps.list"
- ensure_bashrc_hook "${target_home}/.bashrc"
-
- if command -v glib-compile-schemas &>/dev/null; then
- find "${target_home}/.local/share/gnome-shell/extensions" -type d -name schemas -print0 | \
- while IFS= read -r -d '' schema_dir; do
- glib-compile-schemas "$schema_dir"
- done
- fi
-
- tmpdir="$(mktemp -d)"
- chmod 755 "$tmpdir"
- build_user_dconf_dump "${target_home}" "${tmpdir}/full-system-dump.ini"
- chmod 644 "${tmpdir}/full-system-dump.ini"
-
- # A Calamares keyboard modul altal beallitott kiosztas kiolvasasa
- # (a rendszerszintu konfig /etc/default/keyboard-ba kerult, de a GNOME
- # Wayland a sajat org.gnome.desktop.input-sources-t hasznalja).
- local kb_layout="hu"
- if [[ -f /etc/default/keyboard ]]; then
- local kb_tmp
- kb_tmp="$(awk -F'"' '/^XKBLAYOUT=/{print $2; exit}' /etc/default/keyboard 2>/dev/null)"
- [[ -n "$kb_tmp" ]] && kb_layout="${kb_tmp%%,*}"
- fi
-
- if command -v dconf &>/dev/null && command -v dbus-run-session &>/dev/null; then
- runuser -u "$target_user" -- env \
- HOME="${target_home}" USER="${target_user}" LOGNAME="${target_user}" \
- XDG_CONFIG_HOME="${target_home}/.config" XDG_DATA_HOME="${target_home}/.local/share" \
- dbus-run-session /bin/bash -lc "
- dconf load / < '${tmpdir}/full-system-dump.ini' || true
- gsettings set org.gnome.desktop.interface gtk-theme 'Yaru-olive-dark' || true
- gsettings set org.gnome.desktop.interface icon-theme 'Adwaitaru-olive' || true
- gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' || true
- gsettings set org.gnome.desktop.background picture-uri 'file://${target_home}/.config/background' || true
- gsettings set org.gnome.desktop.background picture-uri-dark 'file://${target_home}/.config/background' || true
- gsettings set org.gnome.shell.extensions.user-theme name 'Yaru-olive-dark' || true
- gsettings set org.gnome.desktop.input-sources sources \"[('xkb', '${kb_layout}')]\" || true
- " </dev/null >/dev/null 2>&1 || true
- fi
-
- rm -rf "$tmpdir"
-
- chown -R "${target_uid}:${target_gid}" \
- "${target_home}/.config" "${target_home}/.local" \
- "${target_home}/.themes" "${target_home}/.icons" "${target_home}/.bashrc"
-}
+# Egyedi alkalmazás menü ikon Adwaita alá (nem a csomagból tesszük fel, hogy ne ütközzön az adwaita-icon-theme csomaggal)
+if [[ -f "${PAYLOAD}/icons/view-app-grid-symbolic.svg" ]]; then
+ install -Dm644 "${PAYLOAD}/icons/view-app-grid-symbolic.svg" \
+ /usr/share/icons/Adwaita/symbolic/actions/view-app-grid-symbolic.svg
+fi
-while IFS=: read -r user _ uid _ _ home shell; do
- [[ "$uid" -ge 1000 ]] || continue
- [[ -d "$home" ]] || continue
- [[ "$shell" != "/usr/bin/nologin" && "$shell" != "/bin/false" ]] || continue
- install_user "$user"
-done < /etc/passwd
+# dconf és gsettings adatbázisok frissítése
+command -v dconf &>/dev/null && dconf update || true
+command -v glib-compile-schemas &>/dev/null && glib-compile-schemas /usr/share/glib-2.0/schemas || true
# ---------------------------------------------------------------------------
-# SKEL TELEPÍTÉS
-# Új usereknek (useradd által másolt /etc/skel tartalom)
+# /etc/skel (ÚJ FELHASZNÁLÓK ALAPBEÁLLÍTÁSAI)
# ---------------------------------------------------------------------------
mkdir -p \
/etc/skel/.config/kitty \
/etc/skel/.config/fastfetch \
/etc/skel/.config/burn-my-windows/profiles \
- /etc/skel/.themes \
- /etc/skel/.icons \
- /etc/skel/.local/share/gnome-shell/extensions
+ /etc/skel/.config/raveos
-cp -r --no-preserve=ownership "${PAYLOAD}/user-themes/." /etc/skel/.themes/
-cp -r --no-preserve=ownership "${PAYLOAD}/user-icons/." /etc/skel/.icons/
-cp -r --no-preserve=ownership "${PAYLOAD}/extensions/installed/." /etc/skel/.local/share/gnome-shell/extensions/
-install -Dm644 "$wallpaper_dst" /etc/skel/.config/background
[[ -f "${PAYLOAD}/kitty/kitty.conf" ]] && \
install -Dm644 "${PAYLOAD}/kitty/kitty.conf" /etc/skel/.config/kitty/kitty.conf
+
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
+
[[ -f "${PAYLOAD}/burn-my-windows/burn-my-windows.conf" ]] && \
install -Dm644 "${PAYLOAD}/burn-my-windows/burn-my-windows.conf" \
/etc/skel/.config/burn-my-windows/profiles/burn-my-windows.conf
+
write_mimeapps_defaults /etc/skel/.config/mimeapps.list
ensure_bashrc_hook /etc/skel/.bashrc
+echo "1" > /etc/skel/.config/raveos/gnome-migrated
+
+# ---------------------------------------------------------------------------
+# MEGLÉVŐ USEREK FRISSÍTÉSE (KÍMÉLETES / NEM FELÜLÍRÓ MÓDBAN)
+# ---------------------------------------------------------------------------
+
+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
+
+ # Csak akkor másolunk, ha még nincs saját beállítása
+ mkdir -p \
+ "${home}/.config/kitty" \
+ "${home}/.config/fastfetch" \
+ "${home}/.config/burn-my-windows/profiles" \
+ "${home}/.config/raveos"
+
+ # Kitty: csak ha nem létezik
+ if [[ ! -f "${home}/.config/kitty/kitty.conf" && -f "${PAYLOAD}/kitty/kitty.conf" ]]; then
+ install -Dm644 "${PAYLOAD}/kitty/kitty.conf" "${home}/.config/kitty/kitty.conf"
+ fi
+
+ # Fastfetch: csak ha nem létezik
+ for f in config.jsonc config-kitty.jsonc raveos-logo.png raveos-logo.txt; do
+ if [[ ! -f "${home}/.config/fastfetch/${f}" && -f "${PAYLOAD}/fastfetch/${f}" ]]; then
+ install -Dm644 "${PAYLOAD}/fastfetch/${f}" "${home}/.config/fastfetch/${f}"
+ fi
+ done
+
+ # Burn-my-windows: csak ha nem létezik
+ if [[ ! -f "${home}/.config/burn-my-windows/profiles/burn-my-windows.conf" && -f "${PAYLOAD}/burn-my-windows/burn-my-windows.conf" ]]; then
+ install -Dm644 "${PAYLOAD}/burn-my-windows/burn-my-windows.conf" \
+ "${home}/.config/burn-my-windows/profiles/burn-my-windows.conf"
+ fi
+
+ # Mimeapps: csak ha nem létezik
+ if [[ ! -f "${home}/.config/mimeapps.list" ]]; then
+ write_mimeapps_defaults "${home}/.config/mimeapps.list"
+ fi
+
+ ensure_bashrc_hook "${home}/.bashrc"
+ echo "1" > "${home}/.config/raveos/gnome-migrated"
+
+ # BIZTONSÁGOS JOGBEÁLLÍTÁS: Csak az érintett konfigurációkat chownoljuk,
+ # SOHA NE a teljes $home mappát!
+ chown "${uid}:${gid}" "${home}/.config" "${home}/.config/mimeapps.list" 2>/dev/null || true
+ chown -R "${uid}:${gid}" \
+ "${home}/.config/kitty" \
+ "${home}/.config/fastfetch" \
+ "${home}/.config/burn-my-windows" \
+ "${home}/.config/raveos" \
+ "${home}/.bashrc" 2>/dev/null || true
+
+done < /etc/passwd
-echo "Telepítés kész."
+echo "RaveOS GNOME beállítás sikeresen alkalmazva."
diff --git a/raveos-gnome-theme/raveos-gnome-theme-apply.service b/raveos-gnome-theme/raveos-gnome-theme-apply.service
index 28d38d5..cbaba1d 100644
--- a/raveos-gnome-theme/raveos-gnome-theme-apply.service
+++ b/raveos-gnome-theme/raveos-gnome-theme-apply.service
@@ -1,6 +1,5 @@
[Unit]
-Description=Apply RaveOS GNOME theme payload
-After=local-fs.target
+Description=RaveOS GNOME Theme One-Time Initializer
Before=display-manager.service
ConditionPathExists=!/var/lib/raveos-gnome-theme/.applied
@@ -8,6 +7,7 @@ ConditionPathExists=!/var/lib/raveos-gnome-theme/.applied
Type=oneshot
ExecStart=/usr/lib/raveos-gnome-theme/auto-apply.sh
ExecStartPost=/usr/bin/install -Dm644 /dev/null /var/lib/raveos-gnome-theme/.applied
+RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
diff --git a/raveos-gnome-theme/raveos-gnome-theme.install b/raveos-gnome-theme/raveos-gnome-theme.install
index 58db3fe..a495ea5 100644
--- a/raveos-gnome-theme/raveos-gnome-theme.install
+++ b/raveos-gnome-theme/raveos-gnome-theme.install
@@ -1,3 +1,12 @@
+_update_system_configs() {
+ if command -v dconf >/dev/null 2>&1; then
+ dconf update >/dev/null 2>&1 || true
+ fi
+ if command -v glib-compile-schemas >/dev/null 2>&1; then
+ glib-compile-schemas /usr/share/glib-2.0/schemas >/dev/null 2>&1 || true
+ fi
+}
+
_enable_apply_service() {
if command -v systemctl >/dev/null 2>&1; then
systemctl enable raveos-gnome-theme-apply.service >/dev/null 2>&1 || true
@@ -5,12 +14,18 @@ _enable_apply_service() {
}
post_install() {
+ _update_system_configs
_enable_apply_service
}
post_upgrade() {
- # Never rewrite a live GNOME session from inside a pacman transaction.
- # The boot service applies the new payload before the display manager starts.
- rm -f /var/lib/raveos-gnome-theme/.applied
+ # Figyelem: post_upgrade esetén NEM töröljük a .applied fájlt,
+ # mert a rendszerszintű beállítások (00-raveos, gschema) automatikusan frissülnek,
+ # és nem akarjuk felülírni a meglévő felhasználók egyéni beállításait!
+ _update_system_configs
_enable_apply_service
}
+
+post_remove() {
+ _update_system_configs
+}