summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.forgejo/workflows/build-hyprland.yml156
-rw-r--r--.forgejo/workflows/build-kernel.yml4
-rw-r--r--.forgejo/workflows/build-theme-send-core-repo.yml2
-rw-r--r--.forgejo/workflows/hyprland-update-check.yml129
-rw-r--r--hyprland-raveos/aquamarine/PKGBUILD45
-rw-r--r--hyprland-raveos/dms-shell/PKGBUILD90
-rw-r--r--hyprland-raveos/hyprcursor/PKGBUILD36
-rw-r--r--hyprland-raveos/hyprgraphics/PKGBUILD42
-rw-r--r--hyprland-raveos/hyprland-guiutils/PKGBUILD40
-rw-r--r--hyprland-raveos/hyprland-qt-support/PKGBUILD41
-rw-r--r--hyprland-raveos/hyprland/PKGBUILD105
-rw-r--r--hyprland-raveos/hyprlang/PKGBUILD32
-rw-r--r--hyprland-raveos/hyprpolkitagent/PKGBUILD39
-rw-r--r--hyprland-raveos/hyprutils/PKGBUILD35
-rw-r--r--hyprland-raveos/hyprwayland-scanner/PKGBUILD29
-rw-r--r--hyprland-raveos/hyprwire/PKGBUILD38
-rw-r--r--hyprland-raveos/xdg-desktop-portal-hyprland/PKGBUILD58
-rw-r--r--raveos-calamares-module/PKGBUILD2
-rw-r--r--raveos-calamares-module/desktopselect/desktopselect.conf8
-rw-r--r--raveos-calamares-theme/PKGBUILD2
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/netinstall-apps.yaml1
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/shellprocess-final.conf3
-rw-r--r--raveos-cosmic-theme/.SRCINFO8
-rw-r--r--raveos-cosmic-theme/PKGBUILD47
-rwxr-xr-x[-rw-r--r--]raveos-cosmic-theme/raveos-cosmic-apply.sh96
-rwxr-xr-x[-rw-r--r--]raveos-cosmic-theme/raveos-cosmic-first-login.sh84
-rw-r--r--raveos-cosmic-theme/raveos-cosmic-theme.install13
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicBackground/v1/all9
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicBackground/v1/same-on-all1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/background1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/black1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/blue1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_black1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_blue1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_cyan1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_green1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_magenta1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_red1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_white1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_yellow1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/cyan1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/font_face1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/font_size1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/foreground1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/green1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/magenta1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/opacity1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/red1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/white1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/yellow1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v1/accent5
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/accent1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/active_hint1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/alpha_map16
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/bg_color1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/corner_radii8
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/destructive1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/frosted1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/frosted_applets1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/frosted_maximized_apps1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/frosted_panel1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/frosted_system_interface1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/frosted_windows1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/gaps1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/neutral_tint1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/palette35
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/primary_container_bg1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/secondary_container_bg1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/spacing12
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/success1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/text_tint1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/warning1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/window_hint1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/accent14
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/accent_button14
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/accent_text1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/active_hint1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/alpha_map16
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/background20
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/button14
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/control_tint1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/corner_radii8
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/destructive14
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/destructive_button14
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/frosted1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/frosted_applets1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/frosted_maximized_apps1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/frosted_panel1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/frosted_system_interface1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/frosted_windows1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/gaps1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/icon_button14
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/is_dark1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/is_high_contrast1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/link_button14
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/list_button14
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/name1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/palette35
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/primary20
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/secondary20
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/shade1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/spacing12
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/success14
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/success_button14
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/text_button14
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/text_tint1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/transparent_background20
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/transparent_primary20
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/transparent_secondary20
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/warning14
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/warning_button14
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/window_hint1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Mode/v1/auto_switch1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Mode/v1/is_dark1
-rw-r--r--raveos-cosmic-theme/theme-data/cosmic/raveos.ron91
-rw-r--r--raveos-gnome-theme/.SRCINFO14
-rw-r--r--raveos-gnome-theme/00-raveos166
-rw-r--r--raveos-gnome-theme/99_raveos-gnome.gschema.override54
-rw-r--r--raveos-gnome-theme/PKGBUILD61
-rw-r--r--raveos-gnome-theme/dconf-user-profile2
-rwxr-xr-xraveos-gnome-theme/raveos-gnome-apply.sh223
-rw-r--r--raveos-gnome-theme/raveos-gnome-theme-apply.service4
-rw-r--r--raveos-gnome-theme/raveos-gnome-theme.install18
-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
-rw-r--r--raveos-plasma-theme/.SRCINFO18
-rw-r--r--raveos-plasma-theme/PKGBUILD70
-rw-r--r--raveos-plasma-theme/kdeglobals8
-rw-r--r--raveos-plasma-theme/konsolerc8
-rw-r--r--raveos-plasma-theme/kscreenlockerrc3
-rw-r--r--raveos-plasma-theme/ksplashrc3
-rwxr-xr-x[-rw-r--r--]raveos-plasma-theme/raveos-plasma-apply.sh385
-rwxr-xr-x[-rw-r--r--]raveos-plasma-theme/raveos-plasma-first-login.sh86
-rw-r--r--raveos-plasma-theme/raveos-plasma-theme-apply.service1
-rw-r--r--raveos-plasma-theme/raveos-plasma-theme.install2
-rw-r--r--raveos-welcome/PKGBUILD2
-rw-r--r--raveos-welcome/raveos_welcome.py20
143 files changed, 2480 insertions, 912 deletions
diff --git a/.forgejo/workflows/build-hyprland.yml b/.forgejo/workflows/build-hyprland.yml
new file mode 100644
index 0000000..625be43
--- /dev/null
+++ b/.forgejo/workflows/build-hyprland.yml
@@ -0,0 +1,156 @@
+name: Build hyprland-raveos stack
+
+on:
+ push:
+ branches:
+ - main
+ paths:
+ - 'hyprland-raveos/**'
+ workflow_dispatch:
+
+concurrency:
+ group: raveos-hyprland-build
+ cancel-in-progress: true
+
+jobs:
+ build:
+ runs-on: iso-builder
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+
+ - name: Install build dependencies
+ run: |
+ set -euo pipefail
+ sudo pacman -S --needed --noconfirm \
+ base-devel cmake meson ninja clang llvm lld rust go git \
+ wayland wayland-protocols cairo pango libxkbcommon libinput \
+ libdrm mesa libglvnd pixman xorg-xwayland rsync pacman-contrib
+
+ - name: Fetch core repo via rsync
+ run: |
+ set -euo pipefail
+ RSYNC_SSH="ssh -p 2222 -i $HOME/.ssh/vps_backup_key -o StrictHostKeyChecking=no"
+ rm -rf /tmp/raveos-core-repo
+ mkdir -p /tmp/raveos-core-repo/x86_64
+ rsync -az -e "$RSYNC_SSH" \
+ root@10.66.66.1:/root/docker/repo/repo/x86_64/ /tmp/raveos-core-repo/x86_64/ || true
+ mkdir -p /tmp/builtpkgs
+
+ - name: Import GPG signing key
+ run: |
+ set -euo pipefail
+ export GNUPGHOME=/tmp/raveos-gnupg
+ rm -rf "$GNUPGHOME"
+ mkdir -m 700 "$GNUPGHOME"
+ echo "${{ secrets.GPG_PRIVATE_KEY }}" | base64 -d | gpg --batch --import
+
+ - name: Build hyprland-raveos stack
+ run: |
+ set -euo pipefail
+ ORDER=(
+ hyprutils
+ hyprwayland-scanner
+ hyprlang
+ hyprgraphics
+ hyprcursor
+ aquamarine
+ hyprwire
+ hyprland-guiutils
+ hyprland
+ xdg-desktop-portal-hyprland
+ hyprpolkitagent
+ hyprland-qt-support
+ dms-shell
+ )
+
+ mkdir -p /tmp/builtpkgs
+ CORE="/tmp/raveos-core-repo/x86_64"
+
+ for pkg in "${ORDER[@]}"; do
+ dir="hyprland-raveos/$pkg"
+ [ -d "$dir" ] || continue
+
+ PKGVER=$(grep '^pkgver=' "$dir/PKGBUILD" | head -1 | cut -d= -f2 | tr -d "'\"")
+ PKGREL=$(grep '^pkgrel=' "$dir/PKGBUILD" | head -1 | cut -d= -f2 | tr -d "'\"")
+
+ echo "=== Checking $pkg (${PKGVER}-${PKGREL}) ==="
+ if ls "$CORE"/${pkg}-${PKGVER}-${PKGREL}-*.pkg.tar.zst 2>/dev/null | grep -q .; then
+ echo "$pkg already built -> skipping"
+ continue
+ fi
+
+ echo "=== Building $pkg ==="
+ cd "$dir"
+ rm -f *.pkg.tar.zst || true
+ makepkg -s --noconfirm -f
+
+ for built in *.pkg.tar.zst; do
+ [ -f "$built" ] || continue
+ cp -v "$built" /tmp/builtpkgs/
+ sudo pacman -U --noconfirm "$built" || true
+ done
+ cd - >/dev/null
+ done
+
+ - name: Sign built packages
+ run: |
+ set -euo pipefail
+ export GNUPGHOME=/tmp/raveos-gnupg
+ for pkg in /tmp/builtpkgs/*.pkg.tar.zst; do
+ [ -f "$pkg" ] || continue
+ gpg --batch --yes --pinentry-mode loopback \
+ --passphrase "${{ secrets.GPG_PRIVATE_KEY_PASSPHRASE }}" \
+ --local-user 25C7668F1235F5664F037671BDB2A9CE6EBFF113 \
+ --detach-sign --no-armor "$pkg"
+ done
+
+ - name: Update repo database and sync to VPS
+ run: |
+ set -euo pipefail
+ BUILT=$(ls /tmp/builtpkgs/*.pkg.tar.zst 2>/dev/null || true)
+ if [ -z "$BUILT" ]; then
+ echo "Nincs új csomag -> kihagyva"
+ exit 0
+ fi
+
+ CORE="/tmp/raveos-core-repo/x86_64"
+ for pkg in $BUILT; do
+ PKGFILE=$(basename "$pkg")
+ PKGNAME=$(echo "$PKGFILE" | sed 's/-[0-9][^-]*-[^-]*-[^-]*\.pkg\.tar\.zst$//')
+ rm -f "$CORE/${PKGNAME}-"*.pkg.tar.zst* 2>/dev/null || true
+ cp -v "$pkg" "$CORE/"
+ [ -f "$pkg.sig" ] && cp -v "$pkg.sig" "$CORE/"
+ done
+
+ export GNUPGHOME=/tmp/raveos-gnupg
+ cd "$CORE"
+ ALLPKGS=$(ls *.pkg.tar.zst)
+ repo-add raveos-core-repo.db.tar.xz $ALLPKGS
+
+ for f in raveos-core-repo.db.tar.xz raveos-core-repo.files.tar.xz; do
+ gpg --batch --yes --pinentry-mode loopback \
+ --passphrase "${{ secrets.GPG_PRIVATE_KEY_PASSPHRASE }}" \
+ --local-user 25C7668F1235F5664F037671BDB2A9CE6EBFF113 \
+ --detach-sign --no-armor -o "$f.sig" "$f"
+ done
+ ln -sf raveos-core-repo.db.tar.xz.sig raveos-core-repo.db.sig
+ ln -sf raveos-core-repo.files.tar.xz.sig raveos-core-repo.files.sig
+
+ RSYNC_SSH="ssh -p 2222 -i $HOME/.ssh/vps_backup_key -o StrictHostKeyChecking=no"
+ rsync -az --delete -e "$RSYNC_SSH" \
+ "$CORE/" root@10.66.66.1:/root/docker/repo/repo/x86_64/
+
+ echo "::notice title=Hyprland stack published::All packages updated in repo"
+
+ - name: Cleanup
+ if: always()
+ run: |
+ gpgconf --homedir /tmp/raveos-gnupg --kill gpg-agent || true
+ sudo rm -rf /tmp/raveos-gnupg || true
+ sudo rm -rf /tmp/builtpkgs || true
+ sudo rm -rf /tmp/raveos-core-repo || true
+ df -h
diff --git a/.forgejo/workflows/build-kernel.yml b/.forgejo/workflows/build-kernel.yml
index a532055..cac3432 100644
--- a/.forgejo/workflows/build-kernel.yml
+++ b/.forgejo/workflows/build-kernel.yml
@@ -71,8 +71,8 @@ jobs:
run: |
set -euo pipefail
cd linux-raveos
- chmod -R 777 .
- sudo -u builder makepkg -s --noconfirm --needed
+ rm -f *.pkg.tar.zst || true
+ makepkg -s --noconfirm -f
mkdir -p /tmp/builtpkgs
cp -v *.pkg.tar.zst /tmp/builtpkgs/
diff --git a/.forgejo/workflows/build-theme-send-core-repo.yml b/.forgejo/workflows/build-theme-send-core-repo.yml
index 1ad9a43..1683b3e 100644
--- a/.forgejo/workflows/build-theme-send-core-repo.yml
+++ b/.forgejo/workflows/build-theme-send-core-repo.yml
@@ -23,7 +23,7 @@ jobs:
run: |
set -euo pipefail
sudo pacman -S --needed --noconfirm \
- base-devel git pacman-contrib cmake qt6-tools go cargo gtk4-layer-shell hyprland
+ base-devel git pacman-contrib cmake qt6-tools go cargo gtk4-layer-shell
- name: Sync core repo from VPS (rsync pull)
run: |
diff --git a/.forgejo/workflows/hyprland-update-check.yml b/.forgejo/workflows/hyprland-update-check.yml
new file mode 100644
index 0000000..f6afab7
--- /dev/null
+++ b/.forgejo/workflows/hyprland-update-check.yml
@@ -0,0 +1,129 @@
+name: Hyprland Stack Update Check
+
+on:
+ schedule:
+ - cron: '0 6 * * 1,4'
+ workflow_dispatch:
+
+jobs:
+ check-update:
+ runs-on: iso-builder
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+ token: ${{ secrets.FORGEJO_TOKEN }}
+
+ - name: Check for existing open PR
+ id: prcheck
+ run: |
+ set -euo pipefail
+ OPEN_PRS=$(curl -fsSL \
+ -H "Authorization: token ${{ secrets.FORGEJO_TOKEN }}" \
+ "https://git.rp1.hu/api/v1/repos/${{ github.repository }}/pulls?state=open&limit=50")
+ EXISTS=$(echo "$OPEN_PRS" | python3 -c "
+ import sys, json
+ pulls = json.load(sys.stdin)
+ found = any(p.get('head', {}).get('ref', '').startswith('update/hyprland-stack') for p in pulls)
+ print('yes' if found else 'no')
+ ")
+ echo "EXISTS=$EXISTS" >> $GITHUB_OUTPUT
+ echo "Open PR exists: $EXISTS"
+
+ - name: Check upstream versions
+ id: check
+ if: steps.prcheck.outputs.EXISTS == 'no'
+ run: |
+ set -euo pipefail
+ sudo pacman -S --needed --noconfirm pacman-contrib curl jq
+
+ UPDATED_PKGS=()
+ SUMMARY=""
+
+ PKGS=(
+ hyprutils
+ hyprlang
+ hyprwayland-scanner
+ aquamarine
+ hyprcursor
+ hyprgraphics
+ hyprwire
+ hyprland-guiutils
+ hyprland
+ xdg-desktop-portal-hyprland
+ hyprpolkitagent
+ hyprland-qt-support
+ dms-shell
+ )
+
+ for pkg in "${PKGS[@]}"; do
+ dir="hyprland-raveos/$pkg"
+ [ -d "$dir" ] || continue
+
+ LOCAL_VER=$(grep '^pkgver=' "$dir/PKGBUILD" | head -1 | cut -d= -f2 | tr -d "'\"")
+
+ UPSTREAM_PKGBUILD=$(curl -fsSL --retry 3 "https://gitlab.archlinux.org/archlinux/packaging/packages/${pkg}/-/raw/main/PKGBUILD" 2>/dev/null || true)
+ [ -n "$UPSTREAM_PKGBUILD" ] || continue
+
+ UPSTREAM_VER=$(echo "$UPSTREAM_PKGBUILD" | grep '^pkgver=' | head -1 | cut -d= -f2 | tr -d "'\"")
+ [ -n "$UPSTREAM_VER" ] || continue
+
+ if [ "$LOCAL_VER" != "$UPSTREAM_VER" ]; then
+ echo "Update available for $pkg: $LOCAL_VER -> $UPSTREAM_VER"
+
+ # Frissites letoltese es pkgrel beallitasa
+ echo "$UPSTREAM_PKGBUILD" > "$dir/PKGBUILD"
+ sed -i 's/^pkgrel=[0-9]*/pkgrel=10/' "$dir/PKGBUILD"
+ if [ "$pkg" = "hyprpolkitagent" ] || [ "$pkg" = "hyprland-qt-support" ]; then
+ sed -i 's/^pkgrel=10/pkgrel=20/' "$dir/PKGBUILD"
+ fi
+
+ UPDATED_PKGS+=("$pkg")
+ SUMMARY="${SUMMARY}\n- **${pkg}**: \`${LOCAL_VER}\` -> \`${UPSTREAM_VER}-10\`"
+ else
+ echo "$pkg is up-to-date ($LOCAL_VER)"
+ fi
+ done
+
+ if [ ${#UPDATED_PKGS[@]} -gt 0 ]; then
+ echo "HAS_UPDATES=yes" >> $GITHUB_OUTPUT
+ echo "COUNT=${#UPDATED_PKGS[@]}" >> $GITHUB_OUTPUT
+ echo -e "SUMMARY<<EOF\n${SUMMARY}\nEOF" >> $GITHUB_OUTPUT
+ else
+ echo "HAS_UPDATES=no" >> $GITHUB_OUTPUT
+ echo "No updates found for hyprland stack."
+ fi
+
+ - name: Create branch and open single Pull Request
+ if: steps.prcheck.outputs.EXISTS == 'no' && steps.check.outputs.HAS_UPDATES == 'yes'
+ run: |
+ set -euo pipefail
+ DATE=$(date +%Y%m%d-%H%M)
+ BRANCH="update/hyprland-stack-${DATE}"
+
+ git config user.name "RaveOS Bot"
+ git config user.email "bot@raveos.hu"
+ git checkout -b "$BRANCH"
+
+ git add hyprland-raveos/
+ git commit -m "update: hyprland stack (${{ steps.check.outputs.COUNT }} packages)"
+
+ git remote set-url origin "https://bot:${{ secrets.FORGEJO_TOKEN }}@git.rp1.hu/RaveOS/RaveOS-PKGBUILD.git"
+ git push origin "$BRANCH"
+
+ PR_BODY="Automata Hyprland stack frissítés (${{ steps.check.outputs.COUNT }} csomag):\n${{ steps.check.outputs.SUMMARY }}\n\nA csomagok a merge után az \`iso-builder\` runneren sorrendben fordulnak le, GPG aláírással kerülnek a RaveOS repóba."
+
+ curl -fsSL -X POST \
+ -H "Authorization: token ${{ secrets.FORGEJO_TOKEN }}" \
+ -H "Content-Type: application/json" \
+ "https://git.rp1.hu/api/v1/repos/${{ github.repository }}/pulls" \
+ -d "$(jq -n \
+ --arg title "Hyprland stack frissítés (${{ steps.check.outputs.COUNT }} csomag)" \
+ --arg head "$BRANCH" \
+ --arg base "main" \
+ --arg body "$PR_BODY" \
+ '{title: $title, head: $head, base: $base, body: $body}')"
+
+ echo "Single PR successfully opened for hyprland stack update."
diff --git a/hyprland-raveos/aquamarine/PKGBUILD b/hyprland-raveos/aquamarine/PKGBUILD
new file mode 100644
index 0000000..4a513b7
--- /dev/null
+++ b/hyprland-raveos/aquamarine/PKGBUILD
@@ -0,0 +1,45 @@
+# Maintainer: Caleb Maclennan <caleb@alerque.com>
+# Contributor: Aaron Blasko <blaskoazzolaaaron [at] gmail.com>
+
+pkgname=aquamarine
+pkgver=0.15.0
+pkgrel=10
+pkgdesc='a very light linux rendering backend library'
+arch=(x86_64 aarch64)
+url="https://github.com/hyprwm/$pkgname"
+license=(BSD-3-Clause)
+depends=(libgcc
+ libstdc++
+ glibc # libc.so libm.so
+ hyprutils libhyprutils.so
+ libdisplay-info libdisplay-info.so
+ libdrm # libdrm.so
+ libglvnd libEGL.so
+ libinput # libinput.so
+ mesa # libgbm.so
+ opengl-driver
+ pixman
+ seatd libseat.so
+ systemd-libs libudev.so
+ wayland libwayland-client.so
+ wayland-protocols)
+makedepends=(cmake
+ hyprwayland-scanner)
+provides=("lib$pkgname.so")
+_archive="$pkgname-$pkgver"
+source=("$url/archive/v$pkgver/$_archive.tar.gz")
+sha256sums=('bb5323f58cd2f379cb11c39893336e49980fe2e9fb101745addd87cebde3d13d')
+
+build() {
+ cd "$_archive"
+ cmake -B build \
+ -D CMAKE_INSTALL_PREFIX=/usr \
+ -D CMAKE_BUILD_TYPE=Release
+ cmake --build build
+}
+
+package() {
+ cd "$_archive"
+ DESTDIR="$pkgdir" cmake --install build
+ install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE
+}
diff --git a/hyprland-raveos/dms-shell/PKGBUILD b/hyprland-raveos/dms-shell/PKGBUILD
new file mode 100644
index 0000000..89cc547
--- /dev/null
+++ b/hyprland-raveos/dms-shell/PKGBUILD
@@ -0,0 +1,90 @@
+# Maintainer: Caleb Maclennan <caleb@alerque.com>
+
+pkgbase=dms-shell
+_pkg1=DankMaterialShell
+_pkg2=dank-qml-common
+pkgname=($pkgbase $pkgbase-hyprland $pkgbase-niri)
+pkgver=1.6.0
+pkgrel=10
+pkgdesc='A Quickshell-based desktop shell with Material 3 design principles'
+arch=(x86_64 aarch64)
+url="https://github.com/AvengeMedia/$_pkg1"
+license=(MIT)
+depends=(accountsservice
+ quickshell)
+optdepends=('cava: Audio visualizer'
+ 'cups-pk-helper: Printer Management'
+ 'i2c-tools: External monitor brightness control'
+ 'iwd: Required for network managementa via iwd'
+ 'matugen: Dynamic wallpaper-based theming'
+ 'networkmanager: Required for network managementa via networkmanager'
+ 'power-profiles-daemon: Set power profile'
+ 'qt6-multimedia: Sound effect support'
+ 'qt6ct: Qt6 application theming'
+ 'systemd: Required for network managementa via systemd-networkd'
+ 'wtype: Paste from clipboard history and plugins')
+makedepends=(git
+ go)
+replaces=($pkgname-bin)
+source=("git+$url.git#tag=v$pkgver"
+ "git+${url/$_pkg1/$_pkg2}")
+sha256sums=('51186d2a9af990b4640c6b0d9298ba54a1fe16becd14c527243980438eae844a'
+ 'SKIP')
+
+prepare() {
+ cd "$_pkg1"
+ git submodule init
+ git config submodule.$_pkg2.url ../$_pkg2
+ git -c protocol.file.allow=always submodule update
+ sed -i \
+ -e '/@update-desktop-database/d' \
+ -e '/@gtk-update-icon-cache/d' \
+ -e '/^install:/s/install-shell //' \
+ Makefile
+ pushd core
+ make sync-shell
+
+}
+
+build() {
+ cd "$_pkg1/core"
+ export CGO_CPPFLAGS="$CPPFLAGS"
+ export CGO_CFLAGS="$CFLAGS"
+ export CGO_CXXFLAGS="$CXXFLAGS"
+ go build -v \
+ -tags distro_binary \
+ -tags withshell \
+ -trimpath \
+ -buildmode=pie \
+ -mod=readonly \
+ -modcacherw \
+ -ldflags="-s -w -linkmode=external -extldflags \"${LDFLAGS}\" -X main.Version=v$pkgver" \
+ -o bin/dms ./cmd/dms
+}
+
+package_dms-shell() {
+ cd "$_pkg1"
+ depends+=(dms-shell-compositor)
+ optdepneds+=('dms-shell-hyprland: Hyprland specific dependencies')
+ optdepneds+=('dms-shell-niri: Niri specific dependencies')
+ make DESTDIR="$pkgdir" PREFIX="/usr" SYSTEMD_USER_DIR="$pkgdir/usr/lib/systemd/user" install
+ install -Dm0644 -t "$pkgdir/usr/share/doc/$pkgname/" README.md
+ cp -r "docs/"* "$pkgdir/usr/share/doc/$pkgname/"
+}
+
+package_dms-shell-hyprland() {
+ pkgdesc+=' (for Hyprland)'
+ provides=(dms-shell-compositor)
+ depends=(dms-shell
+ hyprland)
+ optdepends=()
+}
+
+package_dms-shell-niri() {
+ pkgdesc+=' (for Niri)'
+ provides=(dms-shell-compositor)
+ depends=(niri)
+ depends=(dms-shell
+ niri)
+ optdepends=()
+}
diff --git a/hyprland-raveos/hyprcursor/PKGBUILD b/hyprland-raveos/hyprcursor/PKGBUILD
new file mode 100644
index 0000000..713e91b
--- /dev/null
+++ b/hyprland-raveos/hyprcursor/PKGBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Caleb Maclennan <caleb@alerque.com>
+
+pkgname=hyprcursor
+pkgver=0.1.13
+pkgrel=10
+pkgdesc='The hyprland cursor format, library and utilities'
+arch=(x86_64 aarch64)
+url="https://github.com/hyprwm/$pkgname"
+license=(BSD-3-Clause)
+depends=(cairo # libcairo.so
+ libgcc # libgcc_s.so
+ 'libstdc++' # libstdc++.so
+ glibc # libc.so libm.so
+ hyprlang libhyprlang.so
+ librsvg librsvg-2.so
+ libzip libzip.so
+ tomlplusplus libtomlplusplus.so)
+makedepends=(cmake)
+provides=("lib$pkgname.so")
+_archive="$pkgname-$pkgver"
+source=("$url/archive/v$pkgver/$_archive.tar.gz")
+sha256sums=('82af8b2ce27242ffdd6baebaa71b3f6c8665dc25c52bfcfccc16912622896af8')
+
+build() {
+ cd "$_archive"
+ cmake -B build \
+ -D CMAKE_INSTALL_PREFIX=/usr \
+ -D CMAKE_BUILD_TYPE=Release
+ cmake --build build
+}
+
+package() {
+ cd "$_archive"
+ DESTDIR="$pkgdir" cmake --install build
+ install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE
+}
diff --git a/hyprland-raveos/hyprgraphics/PKGBUILD b/hyprland-raveos/hyprgraphics/PKGBUILD
new file mode 100644
index 0000000..6e32497
--- /dev/null
+++ b/hyprland-raveos/hyprgraphics/PKGBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Caleb Maclennan <caleb@alerque.com>
+
+pkgname=hyprgraphics
+pkgver=0.5.1
+pkgrel=10
+pkgdesc='hyprland graphics resources and utilities'
+arch=(x86_64 aarch64)
+url="https://github.com/hyprwm/$pkgname"
+license=(BSD-3-Clause)
+depends=(cairo # libcairo.so
+ file libmagic.so
+ libgcc # libgcc_s.so
+ 'libstdc++' # libstdc++.so
+ glibc # libc.so libm.so
+ hyprutils libhyprutils.so
+ libjpeg-turbo libjpeg.so
+ libjxl libjxl.so libjxl_threads.so
+ libpng # libpng.so
+ librsvg
+ libwebp libwebp.so
+ libglvnd
+ pango libpangocairo-1.0.so
+ pixman)
+makedepends=(cmake)
+provides=("lib$pkgname.so")
+_archive="$pkgname-$pkgver"
+source=("$url/archive/v$pkgver/$_archive.tar.gz")
+sha256sums=('861ecaad872835922dd5745a612d7a4cc7bfc4babb1d06bc92bc63c2ac013b74')
+
+build() {
+ cd "$_archive"
+ cmake -B build \
+ -D CMAKE_INSTALL_PREFIX=/usr \
+ -D CMAKE_BUILD_TYPE=Release
+ cmake --build build
+}
+
+package() {
+ cd "$_archive"
+ DESTDIR="$pkgdir" cmake --install build
+ install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE
+}
diff --git a/hyprland-raveos/hyprland-guiutils/PKGBUILD b/hyprland-raveos/hyprland-guiutils/PKGBUILD
new file mode 100644
index 0000000..8b7bb09
--- /dev/null
+++ b/hyprland-raveos/hyprland-guiutils/PKGBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Caleb Maclennan <caleb@alerque.com>
+
+pkgname=hyprland-guiutils
+pkgver=0.2.2
+pkgrel=10
+pkgdesc='Hyprland GUI utilities'
+arch=(x86_64 aarch64)
+url="https://github.com/hyprwm/$pkgname"
+license=(BSD-3-Clause)
+depends=(
+ libgcc
+ libstdc++
+ glibc # libc.so libm.so
+ hyprlang
+ hyprtoolkit libhyprtoolkit.so
+ hyprutils libhyprutils.so
+ libdrm
+ pixman
+)
+makedepends=(cmake)
+replaces=(hyprland-qtutils)
+_archive="$pkgname-$pkgver"
+source=("$url/archive/v$pkgver/$_archive.tar.gz")
+sha256sums=('16f92a6c5a22ac58e1fc313f6b202c188da45e804e1f21ff57dfd0da5c1a01b7')
+
+build() {
+ cd "$_archive"
+ local cmake_flags=(
+ -D CMAKE_BUILD_TYPE=Release
+ -D CMAKE_INSTALL_PREFIX=/usr
+ )
+ cmake -B build ${cmake_flags[@]}
+ cmake --build build
+}
+
+package() {
+ cd "$_archive"
+ DESTDIR="$pkgdir" cmake --install build
+ install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE
+}
diff --git a/hyprland-raveos/hyprland-qt-support/PKGBUILD b/hyprland-raveos/hyprland-qt-support/PKGBUILD
new file mode 100644
index 0000000..f25a94a
--- /dev/null
+++ b/hyprland-raveos/hyprland-qt-support/PKGBUILD
@@ -0,0 +1,41 @@
+# Maintainer: Caleb Maclennan <caleb@alerque.com>
+# Contributor: Charles Dong <chardon_cs@proton.me>
+
+pkgname=hyprland-qt-support
+pkgver=0.1.0
+pkgrel=20
+pkgdesc='QML style provider for Hypr* QT apps'
+arch=(x86_64 aarch64)
+url="https://github.com/hyprwm/$pkgname"
+license=(BSD-3-Clause)
+depends=(
+ libgcc
+ libstdc++
+ glibc # libc.so libm.so
+ hyprlang libhyprlang.so
+ qt6-base # libQt6Core.so libQt6Gui.so libQt6Widgets.so
+ qt6-declarative # libQt6Qml.so libQt6QuickControls2.so
+)
+makedepends=(cmake)
+provides=(libhyprland-quick-style-impl.so
+ libhyprland-quick-style.so
+ libhyprland-quick-style-implplugin.so
+ libhyprland-quick-styleplugin.so)
+_archive="$pkgname-$pkgver"
+source=("$url/archive/v$pkgver/$_archive.tar.gz")
+sha256sums=('cac1f980bd088b890097f3f999cfdf03e73ee94c53f3c92d0b3bc23baa9e7b2c')
+
+build() {
+ cd "$_archive"
+ cmake -B build \
+ -D CMAKE_INSTALL_PREFIX=/usr \
+ -D INSTALL_QML_PREFIX=/lib/qt6/qml \
+ -D CMAKE_BUILD_TYPE=Release
+ cmake --build build
+}
+
+package() {
+ cd "$_archive"
+ DESTDIR="$pkgdir" cmake --install build
+ install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE
+}
diff --git a/hyprland-raveos/hyprland/PKGBUILD b/hyprland-raveos/hyprland/PKGBUILD
new file mode 100644
index 0000000..04736e5
--- /dev/null
+++ b/hyprland-raveos/hyprland/PKGBUILD
@@ -0,0 +1,105 @@
+# Maintainer: Caleb Maclennan <caleb@alerque.com>
+# Contributor: ThatOneCalculator <kainoa@t1c.dev>
+# Contributor: Brenno Lemos <brenno@syndel.is>
+# Contributor: Gabriel Fox <inbox@gabrielfox.dev>
+
+pkgname=(hyprland hyprpm)
+pkgver=0.56.2
+pkgrel=10
+pkgdesc='a highly customizable dynamic tiling Wayland compositor'
+arch=(x86_64 aarch64)
+url="https://github.com/hyprwm/${pkgname^}"
+license=(BSD-3-Clause)
+depends=(cairo # libcairo.so
+ aquamarine libaquamarine.so
+ libgcc # libgcc_s.so
+ 'libstdc++' # libstdc++.so
+ glibc # libc.so libm.so
+ glib2 libgio-2.0.so libgobject-2.0.so
+ glslang # libglslang-default-resource-limits.so libglslang.so
+ hyprcursor libhyprcursor.so
+ hyprgraphics libhyprgraphics.so
+ hyprland-guiutils
+ hyprlang libhyprlang.so
+ hyprutils libhyprutils.so
+ hyprwire libhyprwire.so
+ lcms2 liblcms2.so
+ libdrm # libdrm.so
+ libglvnd libEGL.so libGLESv2.so
+ libinput # libinput.so
+ libx11
+ libxcb # libxcb-dri3.so libxcb-present.so libxcb-render.so libxcb-res.so libxcb-shm.so libxcb.so libxcb-xfixes.so libxcb-xinput.so
+ libxcomposite # libxcb-composite.so
+ libxcursor # libXcursor.so
+ libxfixes
+ libxkbcommon libxkbcommon.so
+ libxrender
+ lua # liblua.so
+ mesa # libgbm.so
+ muparser # libmuparser.so
+ opengl-driver
+ pango libpango-1.0.so libpangocairo-1.0.so
+ pixman libpixman-1.so
+ re2 libre2.so
+ tomlplusplus libtomlplusplus.so
+ util-linux-libs libuuid.so
+ wayland libwayland-server.so
+ wayland-protocols
+ xcb-proto
+ xcb-util
+ xcb-util-errors # libxcb-errors.so
+ xcb-util-image
+ xcb-util-keysyms
+ xcb-util-renderutil # libxcb-render-util.so
+ xcb-util-wm # libxcb-ewmh.so libxcb-icccm.so
+ xorg-xwayland)
+makedepends=(cmake
+ glaze
+ hyprland-protocols
+ hyprwayland-scanner
+ meson
+ ninja
+ xorgproto)
+optdepends=('hyprpm: build and install plugins'
+ 'hyprshutdown: clean logout and shutdown helper'
+ 'xdg-desktop-portal-hyprland: xdg-desktop-portal backend for hyprland')
+provides=(wayland-compositor)
+_archive="${pkgname^}-$pkgver"
+source=("$_archive.tar.gz::$url/releases/download/v$pkgver/source-v$pkgver.tar.gz")
+sha256sums=('03ad3f5ef152ff44116ffd56fcf808486211ecabf4f0ba567108ee746ba5cd2e')
+
+prepare() {
+ ln -sf hyprland-source "$_archive"
+ cd "$_archive"
+ sed -i -e '/^release:/{n;s/-D/-DCMAKE_SKIP_RPATH=ON -D/}' Makefile
+ sed -i -e '/find_package.glaze/s/7...<8 //' {.,hyprpm,start}/CMakeLists.txt
+}
+
+build() {
+ cd "$_archive"
+ make release PREFIX=/usr
+}
+
+package_hyprland() {
+ cd "$_archive"
+ make DESTDIR="$pkgdir" install
+ rm -fv "$pkgdir/usr/include/hyprland/src/version.h.in"
+ find $pkgdir -name '*hyprpm*' -delete
+ install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" LICENSE
+}
+
+package_hyprpm() {
+ pkgdesc='Plugin manager for Hyprland'
+ depends=(cmake
+ cpio
+ glaze
+ hyprland
+ hyprland-protocols
+ hyprwayland-scanner
+ meson)
+ cd "$_archive"
+ make DESTDIR="$pkgdir" install
+ find $pkgdir -type f,l -not -name '*hyprpm*' -delete
+ find $pkgdir -type d -empty -delete
+ install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" LICENSE
+}
diff --git a/hyprland-raveos/hyprlang/PKGBUILD b/hyprland-raveos/hyprlang/PKGBUILD
new file mode 100644
index 0000000..2d5e25f
--- /dev/null
+++ b/hyprland-raveos/hyprlang/PKGBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Caleb Maclennan <caleb@alerque.com>
+
+pkgname=hyprlang
+pkgver=0.6.8
+pkgrel=10
+pkgdesc='implementation library for the hypr config language'
+arch=(x86_64 aarch64)
+url="https://github.com/hyprwm/$pkgname"
+license=(BSD-3-Clause)
+depends=(libgcc
+ 'libstdc++'
+ glibc
+ hyprutils libhyprutils.so)
+makedepends=(cmake)
+provides=("lib$pkgname.so")
+_archive="$pkgname-$pkgver"
+source=("$url/archive/v$pkgver/$_archive.tar.gz")
+sha256sums=('d10a0778b646e04d83e8b90cc0f764fb96958c01a15c3c0678d95a40fc647ed5')
+
+build() {
+ cd "$_archive"
+ cmake -B build \
+ -D CMAKE_INSTALL_PREFIX=/usr \
+ -D CMAKE_BUILD_TYPE=Release
+ cmake --build build
+}
+
+package() {
+ cd "$_archive"
+ DESTDIR="$pkgdir" cmake --install build
+ install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE
+}
diff --git a/hyprland-raveos/hyprpolkitagent/PKGBUILD b/hyprland-raveos/hyprpolkitagent/PKGBUILD
new file mode 100644
index 0000000..fd592a6
--- /dev/null
+++ b/hyprland-raveos/hyprpolkitagent/PKGBUILD
@@ -0,0 +1,39 @@
+# Maintainer: Caleb Maclennan <caleb@alerque.com>
+# Contributor: Adam Perkowski <adas1per@protonmail.com>
+
+pkgname=hyprpolkitagent
+pkgver=0.1.3
+pkgrel=20
+pkgdesc='Simple polkit authentication agent for Hyprland, written in QT/QML'
+arch=(x86_64 aarch64)
+url="https://github.com/hyprwm/$pkgname"
+license=(BSD-3-Clause)
+depends=(libgcc # libgcc_s.so
+ 'libstdc++' # libstdc++.so
+ glibc # libc.so libm.so
+ hyprland-qt-support
+ hyprutils
+ polkit-qt6 # libpolkit-qt6-core-1.so libpolkit-qt6-agent-1.so
+ qt6-base # libQt6Widgets.so libQt6Gui.so libQt6Qml.so libQt6Core.so
+ qt6-declarative) # libQt6QuickControls2.so
+makedepends=(cmake)
+_archive="$pkgname-$pkgver"
+source=("$url/archive/v$pkgver/$_archive.tar.gz")
+sha256sums=('a8fa714b92d47331f056b608cb731dd1f5cc3845a9109cb22c6e6eb55b4eac84')
+
+build() {
+ cd "$_archive"
+ cmake -B build \
+ -D CMAKE_INSTALL_PREFIX=/usr \
+ -D CMAKE_INSTALL_LIBEXECDIR=lib/$pkgname \
+ -D CMAKE_BUILD_TYPE=Release
+ cmake --build build
+}
+
+package() {
+ cd "$_archive"
+ DESTDIR="$pkgdir" cmake --install build
+ install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE
+}
+
+
diff --git a/hyprland-raveos/hyprutils/PKGBUILD b/hyprland-raveos/hyprutils/PKGBUILD
new file mode 100644
index 0000000..adb0efb
--- /dev/null
+++ b/hyprland-raveos/hyprutils/PKGBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Caleb Maclennan <caleb@alerque.com>
+# Maintainer: Lukas Fleischer <lfleischer@archlinux.org>
+# Contributor: alba4k <blaskoazzolaaaron@gmail.com>
+
+pkgname=hyprutils
+pkgver=0.14.2
+pkgrel=10
+pkgdesc='Hyprland utilities library used across the ecosystem'
+arch=(x86_64)
+url="https://github.com/hyprwm/$pkgname"
+license=(BSD-3-Clause)
+depends=(pixman libpixman-1.so)
+makedepends=(cmake)
+# checkdepends=(gtest)
+provides=(libhyprutils.so)
+_archive="$pkgname-$pkgver"
+source=("$url/archive/v$pkgver/$_archive.tar.gz")
+sha256sums=('2061b7b08c8104fb02a609553b28f6c8580e5ec38633015845f1c4553980175b')
+
+build() {
+ cd "$_archive"
+ local cmake_options=(
+ -D CMAKE_BUILD_TYPE=Release
+ -D CMAKE_INSTALL_PREFIX=/usr
+ -D BUILD_TESTING=False
+ )
+ cmake -W no-dev ${cmake_options[@]} -S . -B ./build
+ cmake --build build
+}
+
+package() {
+ cd "$_archive"
+ DESTDIR="$pkgdir" cmake --install build
+ install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" LICENSE
+}
diff --git a/hyprland-raveos/hyprwayland-scanner/PKGBUILD b/hyprland-raveos/hyprwayland-scanner/PKGBUILD
new file mode 100644
index 0000000..be7894b
--- /dev/null
+++ b/hyprland-raveos/hyprwayland-scanner/PKGBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Lukas Fleischer <lfleischer@archlinux.org>
+# Maintainer: Caleb Maclennan <caleb@alerque.com>
+# Contributor: alba4k <blaskoazzolaaaron@gmail.com>
+
+pkgname="hyprwayland-scanner"
+pkgver=0.4.6
+pkgrel=10
+pkgdesc="A Hyprland implementation of wayland-scanner, in and for C++"
+arch=(x86_64)
+url="https://github.com/hyprwm/hyprwayland-scanner"
+license=('BSD-3-Clause')
+depends=('pugixml')
+makedepends=('git' 'cmake' 'gcc')
+_archive="${pkgname}-$pkgver"
+source=("$_archive.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz")
+provides=(hyprwayland-scaner)
+sha256sums=('05f55fd1a20d8ca81b5030980fdb7c87147749230145bdb3745af2741d617f5c')
+
+build() {
+ cd "$_archive"
+ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX=/usr -B build
+ cmake --build build --config Release
+}
+
+package() {
+ cd "$_archive"
+ DESTDIR="${pkgdir}" cmake --install build
+ install -Dm644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
+}
diff --git a/hyprland-raveos/hyprwire/PKGBUILD b/hyprland-raveos/hyprwire/PKGBUILD
new file mode 100644
index 0000000..985006f
--- /dev/null
+++ b/hyprland-raveos/hyprwire/PKGBUILD
@@ -0,0 +1,38 @@
+# Maintainer: Caleb Maclennan <caleb@alerque.com>
+
+pkgname=hyprwire
+pkgver=0.3.1
+pkgrel=10
+pkgdesc='A fast and consistent wire protocol for IPC'
+arch=(x86_64)
+url="https://github.com/hyprwm/$pkgname"
+license=(BSD-3-Clause)
+depends=(
+ libgcc
+ libstdc++
+ glibc # libc.so libm.so
+ hyprutils libhyprutils.so
+ libffi libffi.so
+ pugixml # libpugixml.so
+)
+makedepends=(cmake)
+provides=(libhyprwire.so)
+_archive="$pkgname-$pkgver"
+source=("$url/archive/v$pkgver/$_archive.tar.gz")
+sha256sums=('92a673d40ae6a7d66fbcd0a34ec071e026e17eaeeb0040c3375e4b2a80dba737')
+
+build() {
+ cd "$_archive"
+ local cmake_options=(
+ -D CMAKE_BUILD_TYPE=None
+ -D CMAKE_INSTALL_PREFIX=/usr
+ )
+ cmake -B build -W no-dev ${cmake_options[@]}
+ cmake --build build
+}
+
+package() {
+ cd "$_archive"
+ DESTDIR="$pkgdir" cmake --install build
+ install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" LICENSE
+}
diff --git a/hyprland-raveos/xdg-desktop-portal-hyprland/PKGBUILD b/hyprland-raveos/xdg-desktop-portal-hyprland/PKGBUILD
new file mode 100644
index 0000000..5990440
--- /dev/null
+++ b/hyprland-raveos/xdg-desktop-portal-hyprland/PKGBUILD
@@ -0,0 +1,58 @@
+# Maintainer: Caleb Maclennan <caleb@alerque.com>
+# Contributor: Aaron Blasko <blaskoazzolaaaron [at] gmail.com>
+
+pkgname=xdg-desktop-portal-hyprland
+pkgver=1.4.1
+_protocolver=4d29e48433270a2af06b8bc711ca1fe5109746cd
+pkgrel=10
+pkgdesc='xdg-desktop-portal backend for hyprland'
+url="https://github.com/hyprwm/$pkgname"
+arch=(x86_64)
+license=(MIT)
+provides=(xdg-desktop-portal-impl)
+depends=(
+ libgcc
+ libstdc++
+ glibc
+ hyprlang libhyprlang.so
+ hyprutils libhyprutils.so
+ libinih
+ pipewire
+ qt6-base
+ sdbus-cpp libsdbus-c++.so
+ util-linux-libs libuuid.so
+ xdg-desktop-portal
+)
+makedepends=(cmake
+ hyprland-protocols
+ hyprwayland-scanner
+ wayland
+ wayland-protocols)
+optdepends=('grim: required for the screenshot portal to function'
+ 'slurp: support for interactive mode for the screenshot portal')
+_archive="$pkgname-$pkgver"
+source=("$url/archive/v$pkgver/$_archive.tar.gz"
+ "https://github.com/hyprwm/hyprland-protocols/archive/$_protocolver.tar.gz")
+sha256sums=('3652c14f63a9666acea2c841e196782dbc0f74ea5b4783622dd04a32f08b709f'
+ '5f6be4d870e94314f05ec7ff9c9c1f028748230ff80a7f89aeaf66c08e5c70e0')
+
+prepare() {
+ cd "$_archive/subprojects"
+ rm -rf hyprland-protocols sdbus-cpp
+ ln -sfT "$srcdir/hyprland-protocols-$_protocolver" hyprland-protocols
+}
+
+build() {
+ cd "$_archive"
+ cmake -B build \
+ -D CMAKE_INSTALL_PREFIX=/usr \
+ -D CMAKE_INSTALL_LIBEXECDIR=/usr/lib \
+ -D CMAKE_BUILD_TYPE=Release
+ cmake --build build
+}
+
+package() {
+ cd "$_archive"
+ DESTDIR="$pkgdir" cmake --install build
+ install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" LICENSE
+}
diff --git a/raveos-calamares-module/PKGBUILD b/raveos-calamares-module/PKGBUILD
index 29cbcb0..977ac60 100644
--- a/raveos-calamares-module/PKGBUILD
+++ b/raveos-calamares-module/PKGBUILD
@@ -1,7 +1,7 @@
# Maintainer: nippy <nippy@tuta.io>
pkgname=raveos-calamares-module
pkgver=2.0.0
-pkgrel=19
+pkgrel=22
pkgdesc="RaveOS Calamares modules: Wi-Fi, Welcome, Desktop Selector"
arch=('x86_64')
options=('!debug')
diff --git a/raveos-calamares-module/desktopselect/desktopselect.conf b/raveos-calamares-module/desktopselect/desktopselect.conf
index 593920a..644cc56 100644
--- a/raveos-calamares-module/desktopselect/desktopselect.conf
+++ b/raveos-calamares-module/desktopselect/desktopselect.conf
@@ -46,8 +46,6 @@ mandatory_packages:
- raveos-tools
- gamemode
- lib32-gamemode
- - ananicy-cpp
- - cachyos-ananicy-rules-git
- plymouth
- raveos-plymouth-theme
- yay
@@ -65,6 +63,7 @@ desktops:
- gvfs-smb
- gvfs-nfs
- gvfs-mtp
+ - wl-clipboard
- raveos-plasma-theme
- name: "GNOME Desktop"
@@ -158,6 +157,11 @@ desktops:
- gnome-calculator
- polkit-gnome
- raveos-hyprland-theme
+ - amdgpu_top
+ - nvtop
+ - intel-gpu-tools
+ - wl-clipboard
+ - cliphist
- gvfs
- gvfs-smb
- gvfs-mtp
diff --git a/raveos-calamares-theme/PKGBUILD b/raveos-calamares-theme/PKGBUILD
index 38e9be8..a205716 100644
--- a/raveos-calamares-theme/PKGBUILD
+++ b/raveos-calamares-theme/PKGBUILD
@@ -1,7 +1,7 @@
# Maintainer: nippy <nippy@tuta.io>
pkgname=raveos-calamares-theme
pkgver=2.0.0
-pkgrel=50
+pkgrel=51
pkgdesc="RaveOS Calamares Theme"
arch=('any')
url="https://git.rp1.hu/RaveOS"
diff --git a/raveos-calamares-theme/etc/calamares/modules/netinstall-apps.yaml b/raveos-calamares-theme/etc/calamares/modules/netinstall-apps.yaml
index 6d3b256..5739a20 100644
--- a/raveos-calamares-theme/etc/calamares/modules/netinstall-apps.yaml
+++ b/raveos-calamares-theme/etc/calamares/modules/netinstall-apps.yaml
@@ -346,6 +346,7 @@
- simplescreenrecorder
- smplayer
- vlc
+ - vlc-plugins-all
- youtube-dl
- name: "Virtualbox"
description: "Virtualbox Package"
diff --git a/raveos-calamares-theme/etc/calamares/modules/shellprocess-final.conf b/raveos-calamares-theme/etc/calamares/modules/shellprocess-final.conf
index fc06d93..d37b8c3 100644
--- a/raveos-calamares-theme/etc/calamares/modules/shellprocess-final.conf
+++ b/raveos-calamares-theme/etc/calamares/modules/shellprocess-final.conf
@@ -29,4 +29,5 @@ script:
- "install -Dm644 /etc/systemd/system/reflector-once.service ${ROOT}/etc/systemd/system/reflector-once.service"
- "chroot ${ROOT} systemctl enable reflector-once.service"
- "gsettings set org.gnome.desktop.interface gtk-theme 'Yaru-olive-dark'"
- - "gsettings set org.gnome.desktop.interface icon-theme 'Adwaitaru-olive'" \ No newline at end of file
+ - "gsettings set org.gnome.desktop.interface icon-theme 'Adwaitaru-olive'"
+ - "sh -c 'echo \"MESA_SHADER_CACHE_MAX_SIZE=12G\" >> ${ROOT}/etc/environment; echo \"__GL_SHADER_DISK_CACHE_SIZE=12884901888\" >> ${ROOT}/etc/environment'" \ No newline at end of file
diff --git a/raveos-cosmic-theme/.SRCINFO b/raveos-cosmic-theme/.SRCINFO
index 3c50e9a..e8bc7f9 100644
--- a/raveos-cosmic-theme/.SRCINFO
+++ b/raveos-cosmic-theme/.SRCINFO
@@ -1,11 +1,15 @@
pkgbase = raveos-cosmic-theme
pkgdesc = RaveOS Cosmic theme payload and installer
- pkgver = 0.0.0
- pkgrel = 6
+ pkgver = 1.0.0
+ pkgrel = 1
url = https://raveos.local
install = raveos-cosmic-theme.install
arch = any
license = custom
+ conflicts = raveos-gnome-theme
+ conflicts = raveos-hyprland-theme
+ conflicts = raveos-plasma-theme
depends = fastfetch
+ depends = raveos-sddm-theme
pkgname = raveos-cosmic-theme
diff --git a/raveos-cosmic-theme/PKGBUILD b/raveos-cosmic-theme/PKGBUILD
index ab2ac23..c1a76e2 100644
--- a/raveos-cosmic-theme/PKGBUILD
+++ b/raveos-cosmic-theme/PKGBUILD
@@ -1,37 +1,21 @@
# Maintainer: nippy <nippy@tuta.io>
-#
-# raveos-cosmic-theme
-# -------------------
-# COSMIC DE téma csomag: kitty, fastfetch, COSMIC terminal konfig,
-# háttérkép.
-#
-# Az apply script (raveos-cosmic-theme-apply.service) boot-kor 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.
pkgname=raveos-cosmic-theme
-pkgver=0.0.0
-pkgrel=16
+pkgver=1.0.0
+pkgrel=1
pkgdesc="RaveOS Cosmic theme payload and installer"
arch=('any')
url="https://raveos.local"
license=('custom')
-conflicts=('raveos-hyprland-theme' 'raveos-gnome-theme')
+options=('!debug')
+conflicts=('raveos-gnome-theme' 'raveos-hyprland-theme' 'raveos-plasma-theme')
-depends=('raveos-sddm-theme')
-
-optdepends=(
- 'fastfetch: terminál üdvözlő (profile.d script indítja)'
-)
+depends=('fastfetch' 'raveos-sddm-theme')
+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"
@@ -39,26 +23,31 @@ SRCPKGDEST="${startdir}/build"
LOGDEST="${startdir}/build"
package() {
- # theme-data payload: kitty, fastfetch, COSMIC konfig stb.
+ install -dm755 "${pkgdir}/usr/share/backgrounds/raveos"
+ install -Dm644 "${startdir}/theme-data/background" \
+ "${pkgdir}/usr/share/backgrounds/raveos/raveos-main-bg.jpeg"
+
+ 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"
+
+ install -Dm755 "${startdir}/theme-data/profile.d/raveos-fastfetch.sh" \
+ "${pkgdir}/etc/profile.d/raveos-fastfetch.sh"
+
install -dm755 "${pkgdir}/usr/share/raveos/cosmic-theme"
cp -r --no-preserve=ownership "${startdir}/theme-data" \
"${pkgdir}/usr/share/raveos/cosmic-theme/"
- # SDDM téma: külön csomagban (raveos-sddm-theme), lásd depends
-
- # apply script: boot-kor futó installer (systemd service hívja)
install -Dm755 "${startdir}/raveos-cosmic-apply.sh" \
"${pkgdir}/usr/lib/raveos-cosmic-theme/auto-apply.sh"
- # first-login script: első bejelentkezéskor fut (XDG autostart)
install -Dm755 "${startdir}/raveos-cosmic-first-login.sh" \
"${pkgdir}/usr/lib/raveos-cosmic-theme/first-login.sh"
- # systemd service: egyszer fut (ConditionPathExists=!.applied guard)
install -Dm644 "${startdir}/raveos-cosmic-theme-apply.service" \
"${pkgdir}/usr/lib/systemd/system/raveos-cosmic-theme-apply.service"
- # XDG autostart: first-login script indítása
install -Dm644 "${startdir}/raveos-cosmic-first-login.desktop" \
"${pkgdir}/etc/xdg/autostart/raveos-cosmic-first-login.desktop"
}
diff --git a/raveos-cosmic-theme/raveos-cosmic-apply.sh b/raveos-cosmic-theme/raveos-cosmic-apply.sh
index 13853dd..3cedb60 100644..100755
--- a/raveos-cosmic-theme/raveos-cosmic-apply.sh
+++ b/raveos-cosmic-theme/raveos-cosmic-apply.sh
@@ -1,24 +1,15 @@
#!/usr/bin/env bash
-# raveos-cosmic-apply.sh
-# ----------------------
-# Telepíti a COSMIC 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-cosmic-theme-apply.service hívja
-# egyszer, első boot után.
-
set -euo pipefail
PAYLOAD="/usr/share/raveos/cosmic-theme/theme-data"
if [[ ! -d "$PAYLOAD" ]]; then
- echo "Hiba: hiányzó payload: $PAYLOAD" >&2
+ echo "Hiba: hianyzo payload: $PAYLOAD" >&2
exit 1
fi
if [[ ${EUID} -ne 0 ]]; then
- echo "Root jogosultság szükséges." >&2
+ echo "Root jogosultsag szukseges." >&2
exit 1
fi
@@ -31,24 +22,34 @@ ensure_bashrc_hook() {
fi
}
-# A Calamares (systemd-localed) altal beallitott billentyuzet-kiosztast atirja
-# a cosmic-comp xkb_config-jaba, hogy a COSMIC mar az elso bejelentkezeskor a
-# valasztott kiosztast hasznalja (nem az angol alapallapotot).
write_cosmic_xkb() {
- local home="$1"
+ local target_cosmic="$1"
local kb_layout="hu"
local kb_variant=""
local xorg_kb="/etc/X11/xorg.conf.d/00-keyboard.conf"
+
if [[ -f "${xorg_kb}" ]]; then
kb_layout="$(awk '/XkbLayout/ {print $3}' "${xorg_kb}" 2>/dev/null | tr -d '"' | head -1)"
kb_layout="${kb_layout%%,*}"
kb_variant="$(awk '/XkbVariant/ {print $3}' "${xorg_kb}" 2>/dev/null | tr -d '"' | head -1)"
kb_variant="${kb_variant%%,*}"
+ elif [[ -f /etc/default/keyboard ]]; then
+ kb_layout="$(awk -F'"' '/^XKBLAYOUT=/{print $2; exit}' /etc/default/keyboard 2>/dev/null)"
+ kb_layout="${kb_layout%%,*}"
+ kb_variant="$(awk -F'"' '/^XKBVARIANT=/{print $2; exit}' /etc/default/keyboard 2>/dev/null)"
+ kb_variant="${kb_variant%%,*}"
+ elif command -v localectl >/dev/null 2>&1; then
+ local loc_layout loc_var
+ loc_layout="$(localectl status 2>/dev/null | awk -F': ' '/X11 Layout/{print $2}')"
+ [[ -n "$loc_layout" ]] && kb_layout="${loc_layout%%,*}"
+ loc_var="$(localectl status 2>/dev/null | awk -F': ' '/X11 Variant/{print $2}')"
+ [[ -n "$loc_var" ]] && kb_variant="${loc_var%%,*}"
fi
[[ -n "$kb_layout" ]] || kb_layout="hu"
- mkdir -p "${home}/.config/cosmic/com.system76.CosmicComp/v1"
- cat > "${home}/.config/cosmic/com.system76.CosmicComp/v1/xkb_config" <<EOF
+ mkdir -p "${target_cosmic}/com.system76.CosmicComp/v1"
+ if [[ ! -f "${target_cosmic}/com.system76.CosmicComp/v1/xkb_config" ]]; then
+ cat > "${target_cosmic}/com.system76.CosmicComp/v1/xkb_config" <<XKB_EOF
(
rules: "",
model: "",
@@ -58,66 +59,75 @@ write_cosmic_xkb() {
repeat_delay: 600,
repeat_rate: 25,
)
-EOF
+XKB_EOF
+ fi
}
-# Háttérkép rendszerkönyvtárba
+# Rendszerszintu hatterkep es fastfetch
[[ -f "${PAYLOAD}/background" ]] && \
install -Dm644 "${PAYLOAD}/background" /usr/share/backgrounds/raveos/raveos-main-bg.jpeg
-# Fastfetch profile.d script (terminál nyitáskor fut)
[[ -f "${PAYLOAD}/profile.d/raveos-fastfetch.sh" ]] && \
install -Dm755 "${PAYLOAD}/profile.d/raveos-fastfetch.sh" /etc/profile.d/raveos-fastfetch.sh
-# COSMIC rendszerfájlok színátírása (RaveOS paletta)
-if [[ -d /usr/share/cosmic ]]; then
- find /usr/share/cosmic -type f -exec sed -i \
- -e 's/0.3882353/0.29411766/g' \
- -e 's/0.8156863/0.52156866/g' \
- -e 's/0.8745098/0.003921569/g' \
- {} + || true
-fi
-
-# SDDM: a téma és konfig a PKGBUILD + .install hook által van telepítve, itt nincs teendő
-
+# Skel beallitasa uj felhasznaloknak
mkdir -p \
/etc/skel/.config/kitty \
/etc/skel/.config/fastfetch \
- /etc/skel/.config/cosmic/com.system76.CosmicTerm/v1
+ /etc/skel/.config/cosmic
[[ -f "${PAYLOAD}/kitty/kitty.conf" ]] && \
install -Dm644 "${PAYLOAD}/kitty/kitty.conf" /etc/skel/.config/kitty/kitty.conf
-[[ -d "${PAYLOAD}/cosmic-term/v1" ]] && \
- cp -r "${PAYLOAD}/cosmic-term/v1/." /etc/skel/.config/cosmic/com.system76.CosmicTerm/v1/
+
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
+
+if [[ -d "${PAYLOAD}/cosmic" ]]; then
+ cp -r "${PAYLOAD}/cosmic/." /etc/skel/.config/cosmic/
+fi
+
+write_cosmic_xkb /etc/skel/.config/cosmic
ensure_bashrc_hook /etc/skel/.bashrc
-write_cosmic_xkb /etc/skel
+# Meglevo felhasznalok kimeletes frissitese
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
+ user_marker="${home}/.config/raveos-cosmic-theme/.applied"
+ [[ -f "$user_marker" ]] && continue
+
mkdir -p \
"${home}/.config/kitty" \
"${home}/.config/fastfetch" \
- "${home}/.config/cosmic/com.system76.CosmicTerm/v1"
+ "${home}/.config/cosmic" \
+ "${home}/.config/raveos-cosmic-theme"
- [[ -f "${PAYLOAD}/kitty/kitty.conf" ]] && \
+ if [[ -f "${PAYLOAD}/kitty/kitty.conf" && ! -f "${home}/.config/kitty/kitty.conf" ]]; then
install -Dm644 "${PAYLOAD}/kitty/kitty.conf" "${home}/.config/kitty/kitty.conf"
- [[ -d "${PAYLOAD}/cosmic-term/v1" ]] && \
- cp -r "${PAYLOAD}/cosmic-term/v1/." "${home}/.config/cosmic/com.system76.CosmicTerm/v1/"
+ fi
+
for f in config.jsonc config-kitty.jsonc raveos-logo.png raveos-logo.txt; do
- [[ -f "${PAYLOAD}/fastfetch/${f}" ]] && \
+ if [[ -f "${PAYLOAD}/fastfetch/${f}" && ! -f "${home}/.config/fastfetch/${f}" ]]; then
install -Dm644 "${PAYLOAD}/fastfetch/${f}" "${home}/.config/fastfetch/${f}"
+ fi
done
+
+ if [[ -d "${PAYLOAD}/cosmic" ]]; then
+ cp -rn "${PAYLOAD}/cosmic/." "${home}/.config/cosmic/" 2>/dev/null || true
+ fi
+
+ write_cosmic_xkb "${home}/.config/cosmic"
ensure_bashrc_hook "${home}/.bashrc"
- write_cosmic_xkb "${home}"
+ touch "$user_marker"
- chown -R "${uid}:${gid}" "$home"
+ for dir in "${home}/.config/kitty" "${home}/.config/fastfetch" "${home}/.config/cosmic" "${home}/.config/raveos-cosmic-theme"; do
+ [[ -d "$dir" ]] && chown -R "${uid}:${gid}" "$dir" 2>/dev/null || true
+ done
+ [[ -f "${home}/.bashrc" ]] && chown "${uid}:${gid}" "${home}/.bashrc" 2>/dev/null || true
done < /etc/passwd
-echo "Telepítés kész."
+echo "COSMIC tema telepites kesz."
diff --git a/raveos-cosmic-theme/raveos-cosmic-first-login.sh b/raveos-cosmic-theme/raveos-cosmic-first-login.sh
index 7ad8982..4964028 100644..100755
--- a/raveos-cosmic-theme/raveos-cosmic-first-login.sh
+++ b/raveos-cosmic-theme/raveos-cosmic-first-login.sh
@@ -4,61 +4,64 @@ set -euo pipefail
marker_dir="${HOME}/.config/raveos-cosmic-theme"
marker_file="${marker_dir}/.first-login-done"
wallpaper="/usr/share/backgrounds/raveos/raveos-main-bg.jpeg"
+theme_ron="/usr/share/raveos/cosmic-theme/theme-data/cosmic/raveos.ron"
+cosmic_payload="/usr/share/raveos/cosmic-theme/theme-data/cosmic"
mkdir -p "${marker_dir}"
[[ -e "${marker_file}" ]] && exit 0
[[ "${XDG_CURRENT_DESKTOP:-}" == *COSMIC* ]] || exit 0
-sleep 5
+sleep 2
-mkdir -p "${HOME}/.config/cosmic/com.system76.CosmicTheme/v1"
-mkdir -p "${HOME}/.config/cosmic/com.system76.CosmicTheme.Appearance/v1"
-
-echo '(accent: (r: 75, g: 133, b: 1, a: 255))' > "${HOME}/.config/cosmic/com.system76.CosmicTheme/v1/active_theme"
-echo 'accent_color: Some("#4B8501")' > "${HOME}/.config/cosmic/com.system76.CosmicTheme.Appearance/v1/custom"
+# Hivatalos RaveOS tema importalasa ha elerheto
+if command -v cosmic-settings >/dev/null 2>&1 && [[ -f "${theme_ron}" ]]; then
+ cosmic-settings appearance import "${theme_ron}" >/dev/null 2>&1 || true
+fi
-cat > "${HOME}/.config/cosmic/com.system76.CosmicTheme.ron" <<EOF
-(
- active_theme: (
- accent: (r: 75, g: 133, b: 1, a: 255),
- ),
-)
-EOF
+# Alapertelmezett konfig masolasa ha meg nem letezne
+if [[ -d "${cosmic_payload}" ]]; then
+ mkdir -p "${HOME}/.config/cosmic"
+ cp -rn "${cosmic_payload}/." "${HOME}/.config/cosmic/" 2>/dev/null || true
+fi
+# Hatterkep beallitasa
if [[ -f "${wallpaper}" ]]; then
- mkdir -p "${HOME}/.config/cosmic/com.system76.CosmicBackground/v1"
- cat > "${HOME}/.config/cosmic/com.system76.CosmicBackground/v1/all" <<EOF
+ mkdir -p "${HOME}/.config/cosmic/com.system76.CosmicBackground/v1"
+ if [[ ! -f "${HOME}/.config/cosmic/com.system76.CosmicBackground/v1/all" ]]; then
+ cat > "${HOME}/.config/cosmic/com.system76.CosmicBackground/v1/all" <<BG_EOF
(
output: "all",
source: Path("${wallpaper}"),
- filter_by_theme: true,
- rotation_frequency: 300,
+ filter_by_theme: false,
+ rotation_frequency: 3600,
filter_method: Lanczos,
scaling_mode: Zoom,
sampling_method: Alphanumeric,
)
-EOF
- echo "true" > "${HOME}/.config/cosmic/com.system76.CosmicBackground/v1/same-on-all"
+BG_EOF
+ echo "true" > "${HOME}/.config/cosmic/com.system76.CosmicBackground/v1/same-on-all"
+ fi
fi
-# Billentyuzet-kiosztas: a Calamares (systemd-localed) altal beallitott
-# layout/variant atvetele az X11 konfigbol; ez az, amit a cosmic-comp is olvas.
-kb_layout="hu"
-kb_variant=""
-xorg_kb="/etc/X11/xorg.conf.d/00-keyboard.conf"
-if [[ -f "${xorg_kb}" ]]; then
- kb_tmp="$(awk '/XkbLayout/ {print $3}' "${xorg_kb}" 2>/dev/null | tr -d '"' | head -1)"
- [[ -n "$kb_tmp" ]] && kb_layout="${kb_tmp%%,*}"
- kb_tmp="$(awk '/XkbVariant/ {print $3}' "${xorg_kb}" 2>/dev/null | tr -d '"' | head -1)"
- [[ -n "$kb_tmp" ]] && kb_variant="${kb_tmp%%,*}"
-elif [[ -f /etc/default/keyboard ]]; then
- kb_tmp="$(awk -F'"' '/^XKBLAYOUT=/{print $2; exit}' /etc/default/keyboard 2>/dev/null)"
- [[ -n "$kb_tmp" ]] && kb_layout="${kb_tmp%%,*}"
- kb_tmp="$(awk -F'"' '/^XKBVARIANT=/{print $2; exit}' /etc/default/keyboard 2>/dev/null)"
- [[ -n "$kb_tmp" ]] && kb_variant="${kb_tmp%%,*}"
-fi
-mkdir -p "${HOME}/.config/cosmic/com.system76.CosmicComp/v1"
-cat > "${HOME}/.config/cosmic/com.system76.CosmicComp/v1/xkb_config" <<EOF
+# Billentyuzet-kiosztas beallitasa
+if [[ ! -f "${HOME}/.config/cosmic/com.system76.CosmicComp/v1/xkb_config" ]]; then
+ kb_layout="hu"
+ kb_variant=""
+ xorg_kb="/etc/X11/xorg.conf.d/00-keyboard.conf"
+ if [[ -f "${xorg_kb}" ]]; then
+ kb_tmp="$(awk '/XkbLayout/ {print $3}' "${xorg_kb}" 2>/dev/null | tr -d '"' | head -1)"
+ [[ -n "$kb_tmp" ]] && kb_layout="${kb_tmp%%,*}"
+ kb_tmp="$(awk '/XkbVariant/ {print $3}' "${xorg_kb}" 2>/dev/null | tr -d '"' | head -1)"
+ [[ -n "$kb_tmp" ]] && kb_variant="${kb_tmp%%,*}"
+ elif [[ -f /etc/default/keyboard ]]; then
+ kb_tmp="$(awk -F'"' '/^XKBLAYOUT=/{print $2; exit}' /etc/default/keyboard 2>/dev/null)"
+ [[ -n "$kb_tmp" ]] && kb_layout="${kb_tmp%%,*}"
+ kb_tmp="$(awk -F'"' '/^XKBVARIANT=/{print $2; exit}' /etc/default/keyboard 2>/dev/null)"
+ [[ -n "$kb_tmp" ]] && kb_variant="${kb_tmp%%,*}"
+ fi
+
+ mkdir -p "${HOME}/.config/cosmic/com.system76.CosmicComp/v1"
+ cat > "${HOME}/.config/cosmic/com.system76.CosmicComp/v1/xkb_config" <<XKB_EOF
(
rules: "",
model: "",
@@ -68,10 +71,7 @@ cat > "${HOME}/.config/cosmic/com.system76.CosmicComp/v1/xkb_config" <<EOF
repeat_delay: 600,
repeat_rate: 25,
)
-EOF
-
-pkill cosmic-bg || true
-pkill cosmic-settings-daemon || true
-pkill cosmic-panel || true
+XKB_EOF
+fi
touch "${marker_file}"
diff --git a/raveos-cosmic-theme/raveos-cosmic-theme.install b/raveos-cosmic-theme/raveos-cosmic-theme.install
new file mode 100644
index 0000000..c022d33
--- /dev/null
+++ b/raveos-cosmic-theme/raveos-cosmic-theme.install
@@ -0,0 +1,13 @@
+_enable_apply_service() {
+ if command -v systemctl >/dev/null 2>&1; then
+ systemctl enable raveos-cosmic-theme-apply.service >/dev/null 2>&1 || true
+ fi
+}
+
+post_install() {
+ _enable_apply_service
+}
+
+post_upgrade() {
+ _enable_apply_service
+}
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicBackground/v1/all b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicBackground/v1/all
new file mode 100644
index 0000000..8fe1512
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicBackground/v1/all
@@ -0,0 +1,9 @@
+(
+ output: "all",
+ source: Path("/usr/share/backgrounds/raveos/raveos-main-bg.jpeg"),
+ filter_by_theme: false,
+ rotation_frequency: 3600,
+ filter_method: Lanczos,
+ scaling_mode: Zoom,
+ sampling_method: Alphanumeric,
+)
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicBackground/v1/same-on-all b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicBackground/v1/same-on-all
new file mode 100644
index 0000000..27ba77d
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicBackground/v1/same-on-all
@@ -0,0 +1 @@
+true
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/background b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/background
new file mode 100644
index 0000000..1857f28
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/background
@@ -0,0 +1 @@
+"#2E3440"
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/black b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/black
new file mode 100644
index 0000000..50a0d4a
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/black
@@ -0,0 +1 @@
+"#3B4252"
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/blue b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/blue
new file mode 100644
index 0000000..e4e9258
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/blue
@@ -0,0 +1 @@
+"#81A1C1"
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_black b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_black
new file mode 100644
index 0000000..837b101
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_black
@@ -0,0 +1 @@
+"#4C566A"
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_blue b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_blue
new file mode 100644
index 0000000..e4e9258
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_blue
@@ -0,0 +1 @@
+"#81A1C1"
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_cyan b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_cyan
new file mode 100644
index 0000000..801528a
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_cyan
@@ -0,0 +1 @@
+"#8FBCBB"
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_green b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_green
new file mode 100644
index 0000000..8bc468f
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_green
@@ -0,0 +1 @@
+"#A3BE8C"
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_magenta b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_magenta
new file mode 100644
index 0000000..ea3dbdf
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_magenta
@@ -0,0 +1 @@
+"#B48EAD"
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_red b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_red
new file mode 100644
index 0000000..4595ea9
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_red
@@ -0,0 +1 @@
+"#BF616A"
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_white b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_white
new file mode 100644
index 0000000..dc1daca
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_white
@@ -0,0 +1 @@
+"#ECEFF4"
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_yellow b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_yellow
new file mode 100644
index 0000000..752e0cc
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/bright_yellow
@@ -0,0 +1 @@
+"#EBCB8B"
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/cyan b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/cyan
new file mode 100644
index 0000000..1d0fafc
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/cyan
@@ -0,0 +1 @@
+"#88C0D0"
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/font_face b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/font_face
new file mode 100644
index 0000000..c2271f1
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/font_face
@@ -0,0 +1 @@
+"JetBrains Mono"
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/font_size b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/font_size
new file mode 100644
index 0000000..b4de394
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/font_size
@@ -0,0 +1 @@
+11
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/foreground b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/foreground
new file mode 100644
index 0000000..2518659
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/foreground
@@ -0,0 +1 @@
+"#D8DEE9"
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/green b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/green
new file mode 100644
index 0000000..8bc468f
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/green
@@ -0,0 +1 @@
+"#A3BE8C"
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/magenta b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/magenta
new file mode 100644
index 0000000..ea3dbdf
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/magenta
@@ -0,0 +1 @@
+"#B48EAD"
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/opacity b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/opacity
new file mode 100644
index 0000000..ca6156a
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/opacity
@@ -0,0 +1 @@
+0.92
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/red b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/red
new file mode 100644
index 0000000..4595ea9
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/red
@@ -0,0 +1 @@
+"#BF616A"
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/white b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/white
new file mode 100644
index 0000000..dff1bbf
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/white
@@ -0,0 +1 @@
+"#E5E9F0"
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/yellow b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/yellow
new file mode 100644
index 0000000..752e0cc
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTerm/v1/yellow
@@ -0,0 +1 @@
+"#EBCB8B"
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v1/accent b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v1/accent
new file mode 100644
index 0000000..8695581
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v1/accent
@@ -0,0 +1,5 @@
+Some((
+ red: 0.29411766,
+ green: 0.52156866,
+ blue: 0.003921569,
+))
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/accent b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/accent
new file mode 100644
index 0000000..d97d9fd
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/accent
@@ -0,0 +1 @@
+Some("#4B8501FF") \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/active_hint b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/active_hint
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/active_hint
@@ -0,0 +1 @@
+3 \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/alpha_map b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/alpha_map
new file mode 100644
index 0000000..06f3e6a
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/alpha_map
@@ -0,0 +1,16 @@
+(
+ extremely_low: 0.9,
+ extremely_low_2: 0.87692,
+ very_low: 0.85385,
+ very_low_2: 0.83076,
+ low: 0.80769,
+ low_2: 0.78461,
+ medium: 0.76154,
+ medium_2: 0.73846,
+ high: 0.71538,
+ high_2: 0.69231,
+ very_high: 0.66023,
+ very_high_2: 0.64615,
+ extremely_high: 0.62308,
+ extremely_high_2: 0.6,
+) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/bg_color b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/bg_color
new file mode 100644
index 0000000..b4a1259
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/bg_color
@@ -0,0 +1 @@
+Some("#1B1B1BFF") \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/corner_radii b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/corner_radii
new file mode 100644
index 0000000..7d52139
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/corner_radii
@@ -0,0 +1,8 @@
+(
+ radius_0: (0.0, 0.0, 0.0, 0.0),
+ radius_xs: (4.0, 4.0, 4.0, 4.0),
+ radius_s: (8.0, 8.0, 8.0, 8.0),
+ radius_m: (16.0, 16.0, 16.0, 16.0),
+ radius_l: (32.0, 32.0, 32.0, 32.0),
+ radius_xl: (160.0, 160.0, 160.0, 160.0),
+) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/destructive b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/destructive
new file mode 100644
index 0000000..e5e9b08
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/destructive
@@ -0,0 +1 @@
+Some("#FFA09AFF") \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/frosted b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/frosted
new file mode 100644
index 0000000..55b60b7
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/frosted
@@ -0,0 +1 @@
+Medium \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/frosted_applets b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/frosted_applets
new file mode 100644
index 0000000..02e4a84
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/frosted_applets
@@ -0,0 +1 @@
+false \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/frosted_maximized_apps b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/frosted_maximized_apps
new file mode 100644
index 0000000..02e4a84
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/frosted_maximized_apps
@@ -0,0 +1 @@
+false \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/frosted_panel b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/frosted_panel
new file mode 100644
index 0000000..02e4a84
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/frosted_panel
@@ -0,0 +1 @@
+false \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/frosted_system_interface b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/frosted_system_interface
new file mode 100644
index 0000000..02e4a84
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/frosted_system_interface
@@ -0,0 +1 @@
+false \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/frosted_windows b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/frosted_windows
new file mode 100644
index 0000000..02e4a84
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/frosted_windows
@@ -0,0 +1 @@
+false \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/gaps b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/gaps
new file mode 100644
index 0000000..6fe974b
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/gaps
@@ -0,0 +1 @@
+(0, 8) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/neutral_tint b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/neutral_tint
new file mode 100644
index 0000000..397c505
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/neutral_tint
@@ -0,0 +1 @@
+Some("#636363FF") \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/palette b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/palette
new file mode 100644
index 0000000..bcb60fc
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/palette
@@ -0,0 +1,35 @@
+Dark((
+ name: "cosmic-dark",
+ bright_red: "#FFA09AFF",
+ bright_green: "#5EDB8CFF",
+ bright_orange: "#FFA37DFF",
+ gray_1: "#1B1B1BFF",
+ gray_2: "#262626FF",
+ neutral_0: "#000000FF",
+ neutral_1: "#030303FF",
+ neutral_2: "#161616FF",
+ neutral_3: "#2E2E2EFF",
+ neutral_4: "#484848FF",
+ neutral_5: "#636363FF",
+ neutral_6: "#808080FF",
+ neutral_7: "#9E9E9EFF",
+ neutral_8: "#BEBEBEFF",
+ neutral_9: "#DEDEDEFF",
+ neutral_10: "#FFFFFFFF",
+ accent_blue: "#4B8501FF",
+ accent_indigo: "#A1C0EBFF",
+ accent_purple: "#E79CFEFF",
+ accent_pink: "#FF9CB1FF",
+ accent_red: "#FDA1A0FF",
+ accent_orange: "#FFAD00FF",
+ accent_yellow: "#F7E062FF",
+ accent_green: "#92CF9CFF",
+ accent_warm_grey: "#CABAB4FF",
+ ext_warm_grey: "#9B8E8AFF",
+ ext_orange: "#FFAD00FF",
+ ext_yellow: "#FEDB40FF",
+ ext_blue: "#48B9C7FF",
+ ext_purple: "#CF7DFFFF",
+ ext_pink: "#F93A83FF",
+ ext_indigo: "#3E88FFFF",
+)) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/primary_container_bg b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/primary_container_bg
new file mode 100644
index 0000000..4af1832
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/primary_container_bg
@@ -0,0 +1 @@
+None \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/secondary_container_bg b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/secondary_container_bg
new file mode 100644
index 0000000..4af1832
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/secondary_container_bg
@@ -0,0 +1 @@
+None \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/spacing b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/spacing
new file mode 100644
index 0000000..464b264
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/spacing
@@ -0,0 +1,12 @@
+(
+ space_none: 0,
+ space_xxxs: 4,
+ space_xxs: 8,
+ space_xs: 12,
+ space_s: 16,
+ space_m: 24,
+ space_l: 32,
+ space_xl: 48,
+ space_xxl: 64,
+ space_xxxl: 128,
+) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/success b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/success
new file mode 100644
index 0000000..e070594
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/success
@@ -0,0 +1 @@
+Some("#5EDB8CFF") \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/text_tint b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/text_tint
new file mode 100644
index 0000000..7eaff82
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/text_tint
@@ -0,0 +1 @@
+Some("#E7E7E7FF") \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/warning b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/warning
new file mode 100644
index 0000000..58188a8
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/warning
@@ -0,0 +1 @@
+Some("#FFA37DFF") \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/window_hint b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/window_hint
new file mode 100644
index 0000000..4af1832
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark.Builder/v2/window_hint
@@ -0,0 +1 @@
+None \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/accent b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/accent
new file mode 100644
index 0000000..8838015
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/accent
@@ -0,0 +1,14 @@
+(
+ base: "#4B8501FF",
+ hover: "#507E15FF",
+ pressed: "#304D0BFF",
+ selected: "#507E15FF",
+ selected_text: "#4B8501FF",
+ focus: "#4B8501FF",
+ divider: "#000000FF",
+ on: "#000000FF",
+ disabled: "#4B8501FF",
+ on_disabled: "#264200FF",
+ border: "#4B8501FF",
+ disabled_border: "#4B850180",
+) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/accent_button b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/accent_button
new file mode 100644
index 0000000..dd2b81c
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/accent_button
@@ -0,0 +1,14 @@
+(
+ base: "#4B8501FF",
+ hover: "#507E15FF",
+ pressed: "#304D0BFF",
+ selected: "#507E15FF",
+ selected_text: "#4B8501FF",
+ focus: "#4B8501FF",
+ divider: "#030303FF",
+ on: "#FFFFFFFF",
+ disabled: "#4B8501FF",
+ on_disabled: "#FFFFFF80",
+ border: "#4B8501FF",
+ disabled_border: "#4B850180",
+) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/accent_text b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/accent_text
new file mode 100644
index 0000000..5e2bb6b
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/accent_text
@@ -0,0 +1 @@
+Some("#8DCC5DFF") \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/active_hint b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/active_hint
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/active_hint
@@ -0,0 +1 @@
+3 \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/alpha_map b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/alpha_map
new file mode 100644
index 0000000..06f3e6a
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/alpha_map
@@ -0,0 +1,16 @@
+(
+ extremely_low: 0.9,
+ extremely_low_2: 0.87692,
+ very_low: 0.85385,
+ very_low_2: 0.83076,
+ low: 0.80769,
+ low_2: 0.78461,
+ medium: 0.76154,
+ medium_2: 0.73846,
+ high: 0.71538,
+ high_2: 0.69231,
+ very_high: 0.66023,
+ very_high_2: 0.64615,
+ extremely_high: 0.62308,
+ extremely_high_2: 0.6,
+) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/background b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/background
new file mode 100644
index 0000000..42fbb41
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/background
@@ -0,0 +1,20 @@
+(
+ base: "#1B1B1BFF",
+ component: (
+ base: "#2E2E2EFF",
+ hover: "#434343FF",
+ pressed: "#585858FF",
+ selected: "#434343FF",
+ selected_text: "#4B8501FF",
+ focus: "#4B8501FF",
+ divider: "#C0C0C033",
+ on: "#C0C0C0FF",
+ disabled: "#2E2E2E80",
+ on_disabled: "#C0C0C0A6",
+ border: "#BEBEBEFF",
+ disabled_border: "#BEBEBE80",
+ ),
+ divider: "#444444FF",
+ on: "#E7E7E7FF",
+ small_widget: "#27272740",
+) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/button b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/button
new file mode 100644
index 0000000..9dccbb2
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/button
@@ -0,0 +1,14 @@
+(
+ base: "#9E9E9E40",
+ hover: "#63636366",
+ pressed: "#2B2B2B9F",
+ selected: "#63636366",
+ selected_text: "#4B8501FF",
+ focus: "#4B8501FF",
+ divider: "#C0C0C033",
+ on: "#C0C0C0FF",
+ disabled: "#9E9E9E20",
+ on_disabled: "#C0C0C0A6",
+ border: "#BEBEBEFF",
+ disabled_border: "#BEBEBE80",
+) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/control_tint b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/control_tint
new file mode 100644
index 0000000..397c505
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/control_tint
@@ -0,0 +1 @@
+Some("#636363FF") \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/corner_radii b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/corner_radii
new file mode 100644
index 0000000..7d52139
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/corner_radii
@@ -0,0 +1,8 @@
+(
+ radius_0: (0.0, 0.0, 0.0, 0.0),
+ radius_xs: (4.0, 4.0, 4.0, 4.0),
+ radius_s: (8.0, 8.0, 8.0, 8.0),
+ radius_m: (16.0, 16.0, 16.0, 16.0),
+ radius_l: (32.0, 32.0, 32.0, 32.0),
+ radius_xl: (160.0, 160.0, 160.0, 160.0),
+) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/destructive b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/destructive
new file mode 100644
index 0000000..148f0f5
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/destructive
@@ -0,0 +1,14 @@
+(
+ base: "#FFA09AFF",
+ hover: "#E0948FFF",
+ pressed: "#8A5B58FF",
+ selected: "#E0948FFF",
+ selected_text: "#4B8501FF",
+ focus: "#4B8501FF",
+ divider: "#000000FF",
+ on: "#000000FF",
+ disabled: "#FFA09AFF",
+ on_disabled: "#80504DFF",
+ border: "#FFA09AFF",
+ disabled_border: "#FFA09A80",
+) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/destructive_button b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/destructive_button
new file mode 100644
index 0000000..9164a4f
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/destructive_button
@@ -0,0 +1,14 @@
+(
+ base: "#FFA09AFF",
+ hover: "#E0948FFF",
+ pressed: "#8A5B58FF",
+ selected: "#E0948FFF",
+ selected_text: "#4B8501FF",
+ focus: "#4B8501FF",
+ divider: "#030303FF",
+ on: "#000000FF",
+ disabled: "#FFA09AFF",
+ on_disabled: "#00000080",
+ border: "#FFA09AFF",
+ disabled_border: "#FFA09A80",
+) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/frosted b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/frosted
new file mode 100644
index 0000000..55b60b7
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/frosted
@@ -0,0 +1 @@
+Medium \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/frosted_applets b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/frosted_applets
new file mode 100644
index 0000000..02e4a84
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/frosted_applets
@@ -0,0 +1 @@
+false \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/frosted_maximized_apps b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/frosted_maximized_apps
new file mode 100644
index 0000000..02e4a84
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/frosted_maximized_apps
@@ -0,0 +1 @@
+false \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/frosted_panel b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/frosted_panel
new file mode 100644
index 0000000..02e4a84
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/frosted_panel
@@ -0,0 +1 @@
+false \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/frosted_system_interface b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/frosted_system_interface
new file mode 100644
index 0000000..02e4a84
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/frosted_system_interface
@@ -0,0 +1 @@
+false \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/frosted_windows b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/frosted_windows
new file mode 100644
index 0000000..02e4a84
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/frosted_windows
@@ -0,0 +1 @@
+false \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/gaps b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/gaps
new file mode 100644
index 0000000..6fe974b
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/gaps
@@ -0,0 +1 @@
+(0, 8) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/icon_button b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/icon_button
new file mode 100644
index 0000000..e417156
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/icon_button
@@ -0,0 +1,14 @@
+(
+ base: "#00000000",
+ hover: "#63636333",
+ pressed: "#16161680",
+ selected: "#63636333",
+ selected_text: "#4B8501FF",
+ focus: "#4B8501FF",
+ divider: "#BEBEBE33",
+ on: "#BEBEBEFF",
+ disabled: "#00000000",
+ on_disabled: "#BEBEBEA6",
+ border: "#BEBEBEFF",
+ disabled_border: "#BEBEBE80",
+) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/is_dark b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/is_dark
new file mode 100644
index 0000000..f32a580
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/is_dark
@@ -0,0 +1 @@
+true \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/is_high_contrast b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/is_high_contrast
new file mode 100644
index 0000000..02e4a84
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/is_high_contrast
@@ -0,0 +1 @@
+false \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/link_button b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/link_button
new file mode 100644
index 0000000..02f16fd
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/link_button
@@ -0,0 +1,14 @@
+(
+ base: "#00000000",
+ hover: "#00000000",
+ pressed: "#00000000",
+ selected: "#00000000",
+ selected_text: "#4B8501FF",
+ focus: "#4B8501FF",
+ divider: "#8DCC5D33",
+ on: "#8DCC5DFF",
+ disabled: "#00000000",
+ on_disabled: "#47662E80",
+ border: "#BEBEBEFF",
+ disabled_border: "#BEBEBE80",
+) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/list_button b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/list_button
new file mode 100644
index 0000000..6b4f870
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/list_button
@@ -0,0 +1,14 @@
+(
+ base: "#00000000",
+ hover: "#00000000",
+ pressed: "#16161680",
+ selected: "#00000000",
+ selected_text: "#4B8501FF",
+ focus: "#4B8501FF",
+ divider: "#C0C0C033",
+ on: "#C0C0C0FF",
+ disabled: "#00000000",
+ on_disabled: "#C0C0C0A6",
+ border: "#BEBEBEFF",
+ disabled_border: "#BEBEBE80",
+) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/name b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/name
new file mode 100644
index 0000000..7147ddb
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/name
@@ -0,0 +1 @@
+"cosmic-dark" \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/palette b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/palette
new file mode 100644
index 0000000..1e4380e
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/palette
@@ -0,0 +1,35 @@
+(
+ name: "cosmic-dark",
+ bright_red: "#FFA09AFF",
+ bright_green: "#5EDB8CFF",
+ bright_orange: "#FFA37DFF",
+ gray_1: "#1B1B1BFF",
+ gray_2: "#262626FF",
+ neutral_0: "#000000FF",
+ neutral_1: "#030303FF",
+ neutral_2: "#161616FF",
+ neutral_3: "#2E2E2EFF",
+ neutral_4: "#484848FF",
+ neutral_5: "#636363FF",
+ neutral_6: "#808080FF",
+ neutral_7: "#9E9E9EFF",
+ neutral_8: "#BEBEBEFF",
+ neutral_9: "#DEDEDEFF",
+ neutral_10: "#FFFFFFFF",
+ accent_blue: "#4B8501FF",
+ accent_indigo: "#A1C0EBFF",
+ accent_purple: "#E79CFEFF",
+ accent_pink: "#FF9CB1FF",
+ accent_red: "#FDA1A0FF",
+ accent_orange: "#FFAD00FF",
+ accent_yellow: "#F7E062FF",
+ accent_green: "#92CF9CFF",
+ accent_warm_grey: "#CABAB4FF",
+ ext_warm_grey: "#9B8E8AFF",
+ ext_orange: "#FFAD00FF",
+ ext_yellow: "#FEDB40FF",
+ ext_blue: "#48B9C7FF",
+ ext_purple: "#CF7DFFFF",
+ ext_pink: "#F93A83FF",
+ ext_indigo: "#3E88FFFF",
+) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/primary b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/primary
new file mode 100644
index 0000000..7aba8c0
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/primary
@@ -0,0 +1,20 @@
+(
+ base: "#272727FF",
+ component: (
+ base: "#363636FF",
+ hover: "#4A4A4AFF",
+ pressed: "#5E5E5EFF",
+ selected: "#4A4A4AFF",
+ selected_text: "#4B8501FF",
+ focus: "#4B8501FF",
+ divider: "#FFFFFF33",
+ on: "#FFFFFFFF",
+ disabled: "#36363680",
+ on_disabled: "#FFFFFFA6",
+ border: "#BEBEBEFF",
+ disabled_border: "#BEBEBE80",
+ ),
+ divider: "#525252FF",
+ on: "#FFFFFFFF",
+ small_widget: "#34343440",
+) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/secondary b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/secondary
new file mode 100644
index 0000000..4ac89e0
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/secondary
@@ -0,0 +1,20 @@
+(
+ base: "#343434FF",
+ component: (
+ base: "#3B3B3BFF",
+ hover: "#4F4F4FFF",
+ pressed: "#626262FF",
+ selected: "#4F4F4FFF",
+ selected_text: "#4B8501FF",
+ focus: "#4B8501FF",
+ divider: "#D0D0D033",
+ on: "#D0D0D0FF",
+ disabled: "#3B3B3B80",
+ on_disabled: "#D0D0D0A6",
+ border: "#BEBEBEFF",
+ disabled_border: "#BEBEBE80",
+ ),
+ divider: "#515151FF",
+ on: "#C7C7C7FF",
+ small_widget: "#41414140",
+) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/shade b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/shade
new file mode 100644
index 0000000..1afc7ab
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/shade
@@ -0,0 +1 @@
+"#00000052" \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/spacing b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/spacing
new file mode 100644
index 0000000..464b264
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/spacing
@@ -0,0 +1,12 @@
+(
+ space_none: 0,
+ space_xxxs: 4,
+ space_xxs: 8,
+ space_xs: 12,
+ space_s: 16,
+ space_m: 24,
+ space_l: 32,
+ space_xl: 48,
+ space_xxl: 64,
+ space_xxxl: 128,
+) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/success b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/success
new file mode 100644
index 0000000..3dc55ee
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/success
@@ -0,0 +1,14 @@
+(
+ base: "#5EDB8CFF",
+ hover: "#5FC384FF",
+ pressed: "#3A7851FF",
+ selected: "#5FC384FF",
+ selected_text: "#4B8501FF",
+ focus: "#4B8501FF",
+ divider: "#000000FF",
+ on: "#000000FF",
+ disabled: "#5EDB8CFF",
+ on_disabled: "#2F6E46FF",
+ border: "#5EDB8CFF",
+ disabled_border: "#5EDB8C80",
+) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/success_button b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/success_button
new file mode 100644
index 0000000..dc22d2e
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/success_button
@@ -0,0 +1,14 @@
+(
+ base: "#5EDB8CFF",
+ hover: "#5FC384FF",
+ pressed: "#3A7851FF",
+ selected: "#5FC384FF",
+ selected_text: "#4B8501FF",
+ focus: "#4B8501FF",
+ divider: "#030303FF",
+ on: "#000000FF",
+ disabled: "#5EDB8CFF",
+ on_disabled: "#00000080",
+ border: "#5EDB8CFF",
+ disabled_border: "#5EDB8C80",
+) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/text_button b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/text_button
new file mode 100644
index 0000000..4d953f4
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/text_button
@@ -0,0 +1,14 @@
+(
+ base: "#00000000",
+ hover: "#63636333",
+ pressed: "#16161680",
+ selected: "#63636333",
+ selected_text: "#4B8501FF",
+ focus: "#4B8501FF",
+ divider: "#8DCC5D33",
+ on: "#8DCC5DFF",
+ disabled: "#00000000",
+ on_disabled: "#8DCC5DA6",
+ border: "#BEBEBEFF",
+ disabled_border: "#BEBEBE80",
+) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/text_tint b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/text_tint
new file mode 100644
index 0000000..7eaff82
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/text_tint
@@ -0,0 +1 @@
+Some("#E7E7E7FF") \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/transparent_background b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/transparent_background
new file mode 100644
index 0000000..a9262f3
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/transparent_background
@@ -0,0 +1,20 @@
+(
+ base: "#1B1B1BC2",
+ component: (
+ base: "#2E2E2EC2",
+ hover: "#424242C8",
+ pressed: "#565656CE",
+ selected: "#424242C8",
+ selected_text: "#4B8501FF",
+ focus: "#4B8501FF",
+ divider: "#C0C0C033",
+ on: "#C0C0C0FF",
+ disabled: "#2E2E2E61",
+ on_disabled: "#C0C0C0A6",
+ border: "#BEBEBEFF",
+ disabled_border: "#BEBEBE80",
+ ),
+ divider: "#434343CE",
+ on: "#E7E7E7FF",
+ small_widget: "#27272740",
+) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/transparent_primary b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/transparent_primary
new file mode 100644
index 0000000..ccda7c3
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/transparent_primary
@@ -0,0 +1,20 @@
+(
+ base: "#272727FF",
+ component: (
+ base: "#363636FF",
+ hover: "#363636FF",
+ pressed: "#363636FF",
+ selected: "#363636FF",
+ selected_text: "#4B8501FF",
+ focus: "#4B8501FF",
+ divider: "#CACACA33",
+ on: "#CACACAFF",
+ disabled: "#36363680",
+ on_disabled: "#CACACAA6",
+ border: "#BEBEBEFF",
+ disabled_border: "#BEBEBE80",
+ ),
+ divider: "#515151FF",
+ on: "#F8F8F8FF",
+ small_widget: "#34343440",
+) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/transparent_secondary b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/transparent_secondary
new file mode 100644
index 0000000..4ac89e0
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/transparent_secondary
@@ -0,0 +1,20 @@
+(
+ base: "#343434FF",
+ component: (
+ base: "#3B3B3BFF",
+ hover: "#4F4F4FFF",
+ pressed: "#626262FF",
+ selected: "#4F4F4FFF",
+ selected_text: "#4B8501FF",
+ focus: "#4B8501FF",
+ divider: "#D0D0D033",
+ on: "#D0D0D0FF",
+ disabled: "#3B3B3B80",
+ on_disabled: "#D0D0D0A6",
+ border: "#BEBEBEFF",
+ disabled_border: "#BEBEBE80",
+ ),
+ divider: "#515151FF",
+ on: "#C7C7C7FF",
+ small_widget: "#41414140",
+) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/warning b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/warning
new file mode 100644
index 0000000..0b0e0a6
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/warning
@@ -0,0 +1,14 @@
+(
+ base: "#FFA37DFF",
+ hover: "#E09678FF",
+ pressed: "#8A5C49FF",
+ selected: "#E09678FF",
+ selected_text: "#4B8501FF",
+ focus: "#4B8501FF",
+ divider: "#000000FF",
+ on: "#000000FF",
+ disabled: "#FFA37DFF",
+ on_disabled: "#80523FFF",
+ border: "#FFA37DFF",
+ disabled_border: "#FFA37D80",
+) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/warning_button b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/warning_button
new file mode 100644
index 0000000..66fcf7e
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/warning_button
@@ -0,0 +1,14 @@
+(
+ base: "#FFA37DFF",
+ hover: "#E09678FF",
+ pressed: "#8A5C49FF",
+ selected: "#E09678FF",
+ selected_text: "#4B8501FF",
+ focus: "#4B8501FF",
+ divider: "#FFFFFFFF",
+ on: "#000000FF",
+ disabled: "#FFA37DFF",
+ on_disabled: "#00000080",
+ border: "#FFA37DFF",
+ disabled_border: "#FFA37D80",
+) \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/window_hint b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/window_hint
new file mode 100644
index 0000000..4af1832
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Dark/v2/window_hint
@@ -0,0 +1 @@
+None \ No newline at end of file
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Mode/v1/auto_switch b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Mode/v1/auto_switch
new file mode 100644
index 0000000..c508d53
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Mode/v1/auto_switch
@@ -0,0 +1 @@
+false
diff --git a/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Mode/v1/is_dark b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Mode/v1/is_dark
new file mode 100644
index 0000000..27ba77d
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/com.system76.CosmicTheme.Mode/v1/is_dark
@@ -0,0 +1 @@
+true
diff --git a/raveos-cosmic-theme/theme-data/cosmic/raveos.ron b/raveos-cosmic-theme/theme-data/cosmic/raveos.ron
new file mode 100644
index 0000000..543cd65
--- /dev/null
+++ b/raveos-cosmic-theme/theme-data/cosmic/raveos.ron
@@ -0,0 +1,91 @@
+(
+ palette: Dark((
+ name: "cosmic-dark",
+ bright_red: "#FFA09AFF",
+ bright_green: "#5EDB8CFF",
+ bright_orange: "#FFA37DFF",
+ gray_1: "#1B1B1BFF",
+ gray_2: "#262626FF",
+ neutral_0: "#000000FF",
+ neutral_1: "#030303FF",
+ neutral_2: "#161616FF",
+ neutral_3: "#2E2E2EFF",
+ neutral_4: "#484848FF",
+ neutral_5: "#636363FF",
+ neutral_6: "#808080FF",
+ neutral_7: "#9E9E9EFF",
+ neutral_8: "#BEBEBEFF",
+ neutral_9: "#DEDEDEFF",
+ neutral_10: "#FFFFFFFF",
+ accent_blue: "#4B8501FF",
+ accent_indigo: "#A1C0EBFF",
+ accent_purple: "#E79CFEFF",
+ accent_pink: "#FF9CB1FF",
+ accent_red: "#FDA1A0FF",
+ accent_orange: "#FFAD00FF",
+ accent_yellow: "#F7E062FF",
+ accent_green: "#92CF9CFF",
+ accent_warm_grey: "#CABAB4FF",
+ ext_warm_grey: "#9B8E8AFF",
+ ext_orange: "#FFAD00FF",
+ ext_yellow: "#FEDB40FF",
+ ext_blue: "#48B9C7FF",
+ ext_purple: "#CF7DFFFF",
+ ext_pink: "#F93A83FF",
+ ext_indigo: "#3E88FFFF",
+ )),
+ spacing: (
+ space_none: 0,
+ space_xxxs: 4,
+ space_xxs: 8,
+ space_xs: 12,
+ space_s: 16,
+ space_m: 24,
+ space_l: 32,
+ space_xl: 48,
+ space_xxl: 64,
+ space_xxxl: 128,
+ ),
+ corner_radii: (
+ radius_0: (0.0, 0.0, 0.0, 0.0),
+ radius_xs: (4.0, 4.0, 4.0, 4.0),
+ radius_s: (8.0, 8.0, 8.0, 8.0),
+ radius_m: (16.0, 16.0, 16.0, 16.0),
+ radius_l: (32.0, 32.0, 32.0, 32.0),
+ radius_xl: (160.0, 160.0, 160.0, 160.0),
+ ),
+ neutral_tint: Some("#636363FF"),
+ bg_color: Some("#1B1B1BFF"),
+ primary_container_bg: None,
+ secondary_container_bg: None,
+ text_tint: Some("#E7E7E7FF"),
+ accent: Some("#4B8501FF"),
+ success: Some("#5EDB8CFF"),
+ warning: Some("#FFA37DFF"),
+ destructive: Some("#FFA09AFF"),
+ frosted: Medium,
+ gaps: (0, 8),
+ active_hint: 3,
+ window_hint: None,
+ frosted_windows: false,
+ frosted_system_interface: false,
+ frosted_panel: false,
+ frosted_applets: false,
+ frosted_maximized_apps: false,
+ alpha_map: (
+ extremely_low: 0.9,
+ extremely_low_2: 0.87692,
+ very_low: 0.85385,
+ very_low_2: 0.83076,
+ low: 0.80769,
+ low_2: 0.78461,
+ medium: 0.76154,
+ medium_2: 0.73846,
+ high: 0.71538,
+ high_2: 0.69231,
+ very_high: 0.66023,
+ very_high_2: 0.64615,
+ extremely_high: 0.62308,
+ extremely_high_2: 0.6,
+ ),
+) \ No newline at end of file
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..8ad40c5
--- /dev/null
+++ b/raveos-gnome-theme/00-raveos
@@ -0,0 +1,166 @@
+[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..cdcaa58
--- /dev/null
+++ b/raveos-gnome-theme/99_raveos-gnome.gschema.override
@@ -0,0 +1,54 @@
+[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..13c3bbd 100644
--- a/raveos-gnome-theme/PKGBUILD
+++ b/raveos-gnome-theme/PKGBUILD
@@ -1,28 +1,16 @@
# Maintainer: nippy <nippy@tuta.io>
-#
-# raveos-gnome-theme
-# ------------------
-# GNOME DE téma csomag: kitty, fastfetch, GNOME shell extensions,
-# GTK/ikon témák, dconf alapértelmezések.
-#
-# 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.
pkgname=raveos-gnome-theme
-pkgver=0.0.0
-pkgrel=30
+pkgver=1.0.0
+pkgrel=1
pkgdesc="RaveOS GNOME theme payload and 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 +20,6 @@ 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"
@@ -40,18 +27,44 @@ SRCPKGDEST="${startdir}/build"
LOGDEST="${startdir}/build"
package() {
- # theme-data payload: kitty, fastfetch, GTK, extensions, GNOME konfig stb.
+ 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/"
+
+ 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"
+
+ install -Dm644 "${startdir}/theme-data/background" \
+ "${pkgdir}/usr/share/backgrounds/raveos/raveos-main-bg.jpeg"
+
+ 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
+
+ install -Dm755 "${startdir}/theme-data/profile.d/raveos-fastfetch.sh" \
+ "${pkgdir}/etc/profile.d/raveos-fastfetch.sh"
+
+ install -Dm644 "${startdir}/dconf-user-profile" \
+ "${pkgdir}/etc/dconf/profile/user"
+ install -Dm644 "${startdir}/00-raveos" \
+ "${pkgdir}/etc/dconf/db/local.d/00-raveos"
+
+ install -Dm644 "${startdir}/99_raveos-gnome.gschema.override" \
+ "${pkgdir}/usr/share/glib-2.0/schemas/99_raveos-gnome.gschema.override"
+
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
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..31b3896 100755
--- a/raveos-gnome-theme/raveos-gnome-apply.sh
+++ b/raveos-gnome-theme/raveos-gnome-apply.sh
@@ -1,20 +1,9 @@
#!/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.
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
@@ -26,10 +15,6 @@ if [[ ${EUID} -ne 0 ]]; then
exit 1
fi
-# ---------------------------------------------------------------------------
-# SEGÉDFÜGGVÉNYEK
-# ---------------------------------------------------------------------------
-
ensure_bashrc_hook() {
local bashrc_path="$1"
local hook_line='[[ -f /etc/profile.d/raveos-fastfetch.sh ]] && source /etc/profile.d/raveos-fastfetch.sh'
@@ -42,7 +27,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 +38,88 @@ 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
-# ---------------------------------------------------------------------------
-
-# 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)
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
+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
+
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
-# SDDM: a téma és konfig a PKGBUILD + .install hook által van telepítve, itt nincs teendő
+mkdir -p \
+ /etc/skel/.config/kitty \
+ /etc/skel/.config/fastfetch \
+ /etc/skel/.config/burn-my-windows/profiles \
+ /etc/skel/.config/raveos
-# ---------------------------------------------------------------------------
-# MEGLÉVŐ USEREK FRISSÍTÉSE
-# /etc/passwd alapján minden UID >= 1000 bejelentkező user home-ja
-# ---------------------------------------------------------------------------
+[[ -f "${PAYLOAD}/kitty/kitty.conf" ]] && \
+ install -Dm644 "${PAYLOAD}/kitty/kitty.conf" /etc/skel/.config/kitty/kitty.conf
-install_user() {
- local target_user="$1"
- local passwd_line target_uid target_gid target_home tmpdir
+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
- 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
+[[ -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
- 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"
+write_mimeapps_defaults /etc/skel/.config/mimeapps.list
+ensure_bashrc_hook /etc/skel/.bashrc
+echo "1" > /etc/skel/.config/raveos/gnome-migrated
- 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/"
+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
- [[ -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"
+ mkdir -p \
+ "${home}/.config/kitty" \
+ "${home}/.config/fastfetch" \
+ "${home}/.config/burn-my-windows/profiles" \
+ "${home}/.config/raveos"
- 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
+ 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
- tmpdir="$(mktemp -d)"
- chmod 755 "$tmpdir"
- build_user_dconf_dump "${target_home}" "${tmpdir}/full-system-dump.ini"
- chmod 644 "${tmpdir}/full-system-dump.ini"
+ 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
- # 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%%,*}"
+ 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
- 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
+ if [[ ! -f "${home}/.config/mimeapps.list" ]]; then
+ write_mimeapps_defaults "${home}/.config/mimeapps.list"
fi
- rm -rf "$tmpdir"
+ ensure_bashrc_hook "${home}/.bashrc"
+ echo "1" > "${home}/.config/raveos/gnome-migrated"
- chown -R "${target_uid}:${target_gid}" \
- "${target_home}/.config" "${target_home}/.local" \
- "${target_home}/.themes" "${target_home}/.icons" "${target_home}/.bashrc"
-}
+ 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
-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
-# ---------------------------------------------------------------------------
-# SKEL TELEPÍTÉS
-# Új usereknek (useradd által másolt /etc/skel tartalom)
-# ---------------------------------------------------------------------------
-
-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
-
-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 "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..dedef0b 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,15 @@ _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
+ _update_system_configs
_enable_apply_service
}
+
+post_remove() {
+ _update_system_configs
+}
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 })
diff --git a/raveos-plasma-theme/.SRCINFO b/raveos-plasma-theme/.SRCINFO
index fe775be..e0ceeb8 100644
--- a/raveos-plasma-theme/.SRCINFO
+++ b/raveos-plasma-theme/.SRCINFO
@@ -1,11 +1,17 @@
-pkgbase = raveos-kde-theme
- pkgdesc = RaveOS KDE theme payload and installer
- pkgver = 0.0.0
- pkgrel = 21
+pkgbase = raveos-plasma-theme
+ pkgdesc = RaveOS Plasma theme payload and installer
+ pkgver = 1.0.0
+ pkgrel = 2
url = https://raveos.local
- install = raveos-kde-theme.install
+ install = raveos-plasma-theme.install
arch = any
license = custom
+ conflicts = raveos-gnome-theme
+ conflicts = raveos-hyprland-theme
+ conflicts = raveos-cosmic-theme
depends = fastfetch
+ depends = raveos-sddm-theme
+ depends = wl-clipboard
+ options = !debug
-pkgname = raveos-kde-theme
+pkgname = raveos-plasma-theme
diff --git a/raveos-plasma-theme/PKGBUILD b/raveos-plasma-theme/PKGBUILD
index 9e9a274..29465be 100644
--- a/raveos-plasma-theme/PKGBUILD
+++ b/raveos-plasma-theme/PKGBUILD
@@ -1,33 +1,21 @@
# Maintainer: nippy <nippy@tuta.io>
-#
-# raveos-plasma-theme
-# -------------------
-# KDE Plasma DE téma csomag: kitty, fastfetch, Plasma splash, Konsole profil,
-# kickoff ikon, háttérkép.
-#
-# Az apply script (raveos-plasma-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.
pkgname=raveos-plasma-theme
-pkgver=0.0.0
-pkgrel=37
+pkgver=1.0.0
+pkgrel=2
pkgdesc="RaveOS Plasma theme payload and installer"
arch=('any')
url="https://raveos.local"
license=('custom')
+options=('!debug')
+conflicts=('raveos-gnome-theme' 'raveos-hyprland-theme' 'raveos-cosmic-theme')
-depends=('fastfetch' 'raveos-sddm-theme')
+depends=('fastfetch' 'raveos-sddm-theme' 'wl-clipboard')
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"
@@ -35,34 +23,46 @@ SRCPKGDEST="${startdir}/build"
LOGDEST="${startdir}/build"
package() {
- # theme-data payload: kitty, fastfetch, Plasma konfig, Konsole, splash stb.
+ install -dm755 "${pkgdir}/usr/share/backgrounds/raveos"
+ install -Dm644 "${startdir}/theme-data/background" \
+ "${pkgdir}/usr/share/backgrounds/raveos/raveos-main-bg.jpeg"
+
+ install -dm755 "${pkgdir}/usr/share/plasma/look-and-feel/org.kde.raveos.desktop"
+ cp -r --no-preserve=ownership "${startdir}/theme-data/plasma-splash/." \
+ "${pkgdir}/usr/share/plasma/look-and-feel/org.kde.raveos.desktop/"
+
+ 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"
+ install -Dm644 "${startdir}/theme-data/plasma/org.kde.plasma.kickoff.svg" \
+ "${pkgdir}/usr/share/icons/hicolor/scalable/apps/distributor-logo-raveos.svg"
+
+ install -dm755 "${pkgdir}/usr/share/konsole"
+ install -Dm644 "${startdir}/theme-data/konsole/RaveOS.colorscheme" \
+ "${pkgdir}/usr/share/konsole/RaveOS.colorscheme"
+ install -Dm644 "${startdir}/theme-data/konsole/RaveOS.profile" \
+ "${pkgdir}/usr/share/konsole/RaveOS.profile"
+
+ install -dm755 "${pkgdir}/etc/xdg"
+ install -Dm644 "${startdir}/kdeglobals" "${pkgdir}/etc/xdg/kdeglobals"
+ install -Dm644 "${startdir}/ksplashrc" "${pkgdir}/etc/xdg/ksplashrc"
+ install -Dm644 "${startdir}/kscreenlockerrc" "${pkgdir}/etc/xdg/kscreenlockerrc"
+ install -Dm644 "${startdir}/konsolerc" "${pkgdir}/etc/xdg/konsolerc"
+
+ install -Dm755 "${startdir}/theme-data/profile.d/raveos-fastfetch.sh" \
+ "${pkgdir}/etc/profile.d/raveos-fastfetch.sh"
+
install -dm755 "${pkgdir}/usr/share/raveos/plasma-theme"
cp -r --no-preserve=ownership "${startdir}/theme-data" \
"${pkgdir}/usr/share/raveos/plasma-theme/"
- # SDDM téma: külön csomagban (raveos-sddm-theme), lásd depends
-
- # apply script: post_install hook hívja
install -Dm755 "${startdir}/raveos-plasma-apply.sh" \
"${pkgdir}/usr/lib/raveos-plasma-theme/auto-apply.sh"
-
- # first-login script: első bejelentkezéskor fut (XDG autostart)
install -Dm755 "${startdir}/raveos-plasma-first-login.sh" \
"${pkgdir}/usr/lib/raveos-plasma-theme/first-login.sh"
-
- # systemd service (a post_install hook enable-oli)
install -Dm644 "${startdir}/raveos-plasma-theme-apply.service" \
"${pkgdir}/usr/lib/systemd/system/raveos-plasma-theme-apply.service"
-
- # XDG autostart: first-login script indítása
install -Dm644 "${startdir}/raveos-plasma-first-login.desktop" \
"${pkgdir}/etc/xdg/autostart/raveos-plasma-first-login.desktop"
-
- # Kickoff/rendszer ikon - globálisan is telepítve, nem csak user-szinten
- install -Dm644 "${startdir}/theme-data/plasma/org.kde.plasma.kickoff.svg" \
- "${pkgdir}/usr/share/pixmaps/raveos-logo.svg"
- install -Dm644 "${startdir}/theme-data/plasma/org.kde.plasma.kickoff.svg" \
- "${pkgdir}/usr/share/icons/hicolor/scalable/apps/raveos-logo.svg"
- install -Dm644 "${startdir}/theme-data/plasma/org.kde.plasma.kickoff.svg" \
- "${pkgdir}/usr/share/icons/hicolor/scalable/apps/distributor-logo-raveos.svg"
}
diff --git a/raveos-plasma-theme/kdeglobals b/raveos-plasma-theme/kdeglobals
new file mode 100644
index 0000000..5bdede9
--- /dev/null
+++ b/raveos-plasma-theme/kdeglobals
@@ -0,0 +1,8 @@
+[General]
+ColorScheme=BreezeDark
+
+[Icons]
+Theme=breeze-dark
+
+[KDE]
+widgetStyle=Breeze
diff --git a/raveos-plasma-theme/konsolerc b/raveos-plasma-theme/konsolerc
new file mode 100644
index 0000000..19c0700
--- /dev/null
+++ b/raveos-plasma-theme/konsolerc
@@ -0,0 +1,8 @@
+[Desktop Entry]
+DefaultProfile=RaveOS.profile
+
+[General]
+ConfigVersion=1
+
+[UiSettings]
+ColorScheme=RaveOS
diff --git a/raveos-plasma-theme/kscreenlockerrc b/raveos-plasma-theme/kscreenlockerrc
new file mode 100644
index 0000000..3a51502
--- /dev/null
+++ b/raveos-plasma-theme/kscreenlockerrc
@@ -0,0 +1,3 @@
+[Greeter][Wallpaper][org.kde.image][General]
+FillMode=2
+Image=file:///usr/share/backgrounds/raveos/raveos-main-bg.jpeg
diff --git a/raveos-plasma-theme/ksplashrc b/raveos-plasma-theme/ksplashrc
new file mode 100644
index 0000000..f39b790
--- /dev/null
+++ b/raveos-plasma-theme/ksplashrc
@@ -0,0 +1,3 @@
+[KSplash]
+Engine=KSplashQML
+Theme=org.kde.raveos.desktop
diff --git a/raveos-plasma-theme/raveos-plasma-apply.sh b/raveos-plasma-theme/raveos-plasma-apply.sh
index 7b88c99..2e7854e 100644..100755
--- a/raveos-plasma-theme/raveos-plasma-apply.sh
+++ b/raveos-plasma-theme/raveos-plasma-apply.sh
@@ -1,12 +1,4 @@
#!/usr/bin/env bash
-# raveos-plasma-apply.sh
-# ----------------------
-# Telepíti a KDE Plasma 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-plasma-theme.install post_install
-# hook-ja hívja közvetlenül.
set -euo pipefail
@@ -23,10 +15,6 @@ if [[ ${EUID} -ne 0 ]]; then
exit 1
fi
-# ---------------------------------------------------------------------------
-# SEGÉDFÜGGVÉNYEK
-# ---------------------------------------------------------------------------
-
ensure_bashrc_hook() {
local bashrc_path="$1"
local hook_line='[[ -f /etc/profile.d/raveos-fastfetch.sh ]] && source /etc/profile.d/raveos-fastfetch.sh'
@@ -39,15 +27,15 @@ ensure_bashrc_hook() {
disable_kmix_autostart() {
local target_home="$1"
mkdir -p "${target_home}/.config/autostart"
- cat > "${target_home}/.config/autostart/kmix_autostart.desktop" <<'EOF'
+ cat > "${target_home}/.config/autostart/kmix_autostart.desktop" <<'KMEOF'
[Desktop Entry]
Hidden=true
-EOF
+KMEOF
}
write_konsolerc() {
local target_home="$1"
- cat > "${target_home}/.config/konsolerc" <<'EOF'
+ cat > "${target_home}/.config/konsolerc" <<'KSEOF'
[Desktop Entry]
DefaultProfile=RaveOS.profile
@@ -56,340 +44,127 @@ ConfigVersion=1
[UiSettings]
ColorScheme=RaveOS
-EOF
-}
-
-write_kxkbrc() {
- local target_home="$1"
- local kb_layout="hu"
- local kb_tmp
- if [[ -f /etc/default/keyboard ]]; then
- kb_tmp="$(awk -F'"' '/^XKBLAYOUT=/{print $2; exit}' /etc/default/keyboard 2>/dev/null)"
- [[ -n "$kb_tmp" ]] && kb_layout="${kb_tmp%%,*}"
- fi
- cat > "${target_home}/.config/kxkbrc" <<EOF
-[Layout]
-LayoutList=${kb_layout}
-EOF
-}
-
-write_plasma_wallpaper_config() {
- local target_home="$1"
- local applet_config="${target_home}/.config/plasma-org.kde.plasma.desktop-appletsrc"
-
- mkdir -p "${target_home}/.config"
- if [[ ! -f "${applet_config}" ]]; then
- if command -v kwriteconfig6 &>/dev/null; then
- kwriteconfig6 --file "${applet_config}" \
- --group Containments --group 1 --group Wallpaper \
- --group org.kde.image --group General \
- --key Image "file://${wallpaper_dst}"
- kwriteconfig6 --file "${applet_config}" \
- --group Containments --group 1 --group Wallpaper \
- --group org.kde.image --group General \
- --key FillMode 2
- else
- cat >> "${applet_config}" <<EOF
-
-[Containments][1][Wallpaper][org.kde.image][General]
-FillMode=2
-Image=file://${wallpaper_dst}
-EOF
- fi
- else
- local containments
- containments=$(grep -oP '(?<=^\[Containments\]\[)\d+(?=\])' "${applet_config}" | sort -un)
- [[ -z "${containments}" ]] && containments="1"
- for c in ${containments}; do
- if command -v kwriteconfig6 &>/dev/null; then
- kwriteconfig6 --file "${applet_config}" \
- --group Containments --group "${c}" --group Wallpaper \
- --group org.kde.image --group General \
- --key Image "file://${wallpaper_dst}"
- kwriteconfig6 --file "${applet_config}" \
- --group Containments --group "${c}" --group Wallpaper \
- --group org.kde.image --group General \
- --key FillMode 2
- fi
- done
- fi
-}
-
-write_kickoff_config() {
- local target_home="$1"
- local kickoff_image="${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg"
- [[ -f "$kickoff_image" ]] || kickoff_image="/usr/share/pixmaps/raveos-logo.svg"
- [[ -f "$kickoff_image" ]] || kickoff_image="/usr/share/icons/breeze/applets/256/org.kde.plasma.kickoff.svg"
- [[ -f "${target_home}/.config/plasma-org.kde.plasma.desktop-appletsrc" ]] || return 0
-
- while IFS=: read -r containment applet; do
- [[ -n "${containment}" && -n "${applet}" ]] || continue
- if command -v kwriteconfig6 &>/dev/null; then
- kwriteconfig6 --file "${target_home}/.config/plasma-org.kde.plasma.desktop-appletsrc" \
- --group Containments --group "${containment}" --group Applets \
- --group "${applet}" --group Configuration --group General \
- --key useCustomButtonImage true
- kwriteconfig6 --file "${target_home}/.config/plasma-org.kde.plasma.desktop-appletsrc" \
- --group Containments --group "${containment}" --group Applets \
- --group "${applet}" --group Configuration --group General \
- --key customButtonImage "file://${kickoff_image}"
- kwriteconfig6 --file "${target_home}/.config/plasma-org.kde.plasma.desktop-appletsrc" \
- --group Containments --group "${containment}" --group Applets \
- --group "${applet}" --group Configuration --group General \
- --key icon "${kickoff_image}"
- else
- cat >> "${target_home}/.config/plasma-org.kde.plasma.desktop-appletsrc" <<EOF
-
-[Containments][${containment}][Applets][${applet}][Configuration][General]
-customButtonImage=file://${kickoff_image}
-icon=${kickoff_image}
-useCustomButtonImage=true
-EOF
- fi
- done < <(
- awk '
- match($0, /^\[Containments\]\[([0-9]+)\]\[Applets\]\[([0-9]+)\]$/, m) { c=m[1]; a=m[2]; next }
- /^plugin=org\.kde\.plasma\.(kickoff|kicker|simplemenu|kickoffdashboard)$/ && c != "" && a != "" { print c ":" a }
- ' "${target_home}/.config/plasma-org.kde.plasma.desktop-appletsrc" | sort -u
- )
+KSEOF
}
write_kscreenlockerrc() {
local target_home="$1"
mkdir -p "${target_home}/.config"
- cat > "${target_home}/.config/kscreenlockerrc" <<EOF
+ cat > "${target_home}/.config/kscreenlockerrc" <<KLEOF
[Greeter][Wallpaper][org.kde.image][General]
FillMode=2
Image=file://${wallpaper_dst}
-EOF
+KLEOF
}
write_ksplashrc() {
local target_home="$1"
mkdir -p "${target_home}/.config"
- cat > "${target_home}/.config/ksplashrc" <<'EOF'
+ cat > "${target_home}/.config/ksplashrc" <<'SPLEOF'
[KSplash]
Engine=KSplashQML
Theme=org.kde.raveos.desktop
-EOF
+SPLEOF
}
-# ---------------------------------------------------------------------------
-# RENDSZERSZINTŰ TELEPÍTÉS
-# ---------------------------------------------------------------------------
-
-# Háttérkép rendszerkönyvtárba
-[[ -f "${PAYLOAD}/background" ]] && \
- install -Dm644 "${PAYLOAD}/background" "$wallpaper_dst"
-
-# Fastfetch profile.d script (terminál nyitáskor fut)
-[[ -f "${PAYLOAD}/profile.d/raveos-fastfetch.sh" ]] && \
- install -Dm755 "${PAYLOAD}/profile.d/raveos-fastfetch.sh" /etc/profile.d/raveos-fastfetch.sh
-
-# Kickoff/rendszer ikon globálisan
-if [[ -f "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" ]]; then
- install -Dm644 "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" /usr/share/pixmaps/raveos-logo.svg
- install -Dm644 "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" \
- /usr/share/icons/hicolor/scalable/apps/raveos-logo.svg
- install -Dm644 "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" \
- /usr/share/icons/hicolor/scalable/apps/distributor-logo-raveos.svg
-
- for theme in breeze breeze-dark hicolor; do
- [[ -d "/usr/share/icons/${theme}" ]] || continue
- find "/usr/share/icons/${theme}" -name "start-here*" -delete 2>/dev/null || true
- find "/usr/share/icons/${theme}" -name "distributor-logo*" -delete 2>/dev/null || true
- install -Dm644 "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" \
- "/usr/share/icons/${theme}/scalable/places/start-here-kde.svg"
- install -Dm644 "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" \
- "/usr/share/icons/${theme}/scalable/places/start-here.svg"
- install -Dm644 "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" \
- "/usr/share/icons/${theme}/scalable/places/distributor-logo.svg"
- done
-
- for dir in \
- /usr/local/share/icons/breeze/applets/256 \
- /usr/local/share/icons/breeze-dark/applets/256 \
- /usr/share/icons/breeze/applets/256 \
- /usr/share/icons/breeze-dark/applets/256; do
- install -Dm644 "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" \
- "${dir}/org.kde.plasma.kickoff.svg"
- done
- install -Dm644 "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" \
- /usr/local/share/icons/Adwaita/symbolic/places/start-here-symbolic.svg
- install -Dm644 "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" \
- /usr/share/icons/Adwaita/symbolic/places/start-here-symbolic.svg
- for size in 22 32 64 96; do
- for dir in \
- /usr/local/share/icons/breeze/places/${size} \
- /usr/local/share/icons/breeze-dark/places/${size} \
- /usr/share/icons/breeze/places/${size} \
- /usr/share/icons/breeze-dark/places/${size}; do
- install -Dm644 "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" \
- "${dir}/start-here-kde.svg"
- install -Dm644 "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" \
- "${dir}/start-here.svg"
- done
- done
-fi
-
-# Plasma splash téma
-if [[ -d "${PAYLOAD}/plasma-splash" ]]; then
- mkdir -p /usr/share/plasma/look-and-feel
- rm -rf /usr/share/plasma/look-and-feel/org.kde.raveos.desktop
- cp -r --no-preserve=ownership "${PAYLOAD}/plasma-splash" \
- /usr/share/plasma/look-and-feel/org.kde.raveos.desktop
-fi
-
-# 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
-# ---------------------------------------------------------------------------
-
-apply_user_payload() {
- local target_user="$1"
- local passwd_line target_uid target_gid target_home
-
- 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/autostart" \
- "${target_home}/.local/share/konsole" \
- "${target_home}/.local/share/icons/breeze/applets/256" \
- "${target_home}/.local/share/icons/breeze-dark/applets/256" \
- "${target_home}/.local/share/icons/breeze/places/22" \
- "${target_home}/.local/share/icons/breeze/places/32" \
- "${target_home}/.local/share/icons/breeze/places/64" \
- "${target_home}/.local/share/icons/breeze/places/96" \
- "${target_home}/.local/share/icons/breeze-dark/places/22" \
- "${target_home}/.local/share/icons/breeze-dark/places/32" \
- "${target_home}/.local/share/icons/breeze-dark/places/64" \
- "${target_home}/.local/share/icons/breeze-dark/places/96" \
- "${target_home}/.local/share/icons/Adwaita/symbolic/places"
-
- install -Dm644 "$wallpaper_dst" "${target_home}/.config/background"
-
- [[ -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}/konsole/RaveOS.colorscheme" ]] && \
- install -Dm644 "${PAYLOAD}/konsole/RaveOS.colorscheme" \
- "${target_home}/.local/share/konsole/RaveOS.colorscheme"
- [[ -f "${PAYLOAD}/konsole/RaveOS.profile" ]] && \
- install -Dm644 "${PAYLOAD}/konsole/RaveOS.profile" \
- "${target_home}/.local/share/konsole/RaveOS.profile"
-
- if [[ -f "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" ]]; then
- install -Dm644 "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" \
- "${target_home}/.local/share/icons/breeze/applets/256/org.kde.plasma.kickoff.svg"
- install -Dm644 "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" \
- "${target_home}/.local/share/icons/breeze-dark/applets/256/org.kde.plasma.kickoff.svg"
- install -Dm644 "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" \
- "${target_home}/.local/share/icons/Adwaita/symbolic/places/start-here-symbolic.svg"
- for size in 22 32 64 96; do
- install -Dm644 "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" \
- "${target_home}/.local/share/icons/breeze/places/${size}/start-here-kde.svg"
- install -Dm644 "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" \
- "${target_home}/.local/share/icons/breeze-dark/places/${size}/start-here-kde.svg"
- install -Dm644 "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" \
- "${target_home}/.local/share/icons/breeze/places/${size}/start-here.svg"
- install -Dm644 "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" \
- "${target_home}/.local/share/icons/breeze-dark/places/${size}/start-here.svg"
- done
- fi
+write_kdeglobals() {
+ local target_home="$1"
+ mkdir -p "${target_home}/.config"
+ cat > "${target_home}/.config/kdeglobals" <<'GLBEOF'
+[General]
+ColorScheme=BreezeDark
- write_konsolerc "$target_home"
- write_kxkbrc "$target_home"
- write_plasma_wallpaper_config "$target_home"
- write_kickoff_config "$target_home"
- write_kscreenlockerrc "$target_home"
- write_ksplashrc "$target_home"
- disable_kmix_autostart "$target_home"
- ensure_bashrc_hook "${target_home}/.bashrc"
+[Icons]
+Theme=breeze-dark
- chown -R "${target_uid}:${target_gid}" \
- "${target_home}/.config" "${target_home}/.local" "${target_home}/.bashrc"
+[KDE]
+widgetStyle=Breeze
+GLBEOF
}
-while IFS=: read -r user _ uid _ _ home shell; do
- [[ "$uid" -ge 1000 ]] || continue
- [[ -d "$home" ]] || continue
- [[ "$shell" != "/usr/bin/nologin" && "$shell" != "/bin/false" ]] || continue
- apply_user_payload "$user"
-done < /etc/passwd
-
-# ---------------------------------------------------------------------------
-# SKEL TELEPÍTÉS
-# Új usereknek (useradd által másolt /etc/skel tartalom)
-# ---------------------------------------------------------------------------
-
+# skel konfiguráció új felhasználóknak
mkdir -p \
/etc/skel/.config/kitty \
/etc/skel/.config/fastfetch \
/etc/skel/.config/autostart \
- /etc/skel/.local/share/konsole \
- /etc/skel/.local/share/icons/breeze/applets/256 \
- /etc/skel/.local/share/icons/breeze-dark/applets/256 \
- /etc/skel/.local/share/icons/breeze/places/22 \
- /etc/skel/.local/share/icons/breeze/places/32 \
- /etc/skel/.local/share/icons/breeze/places/64 \
- /etc/skel/.local/share/icons/breeze/places/96 \
- /etc/skel/.local/share/icons/breeze-dark/places/22 \
- /etc/skel/.local/share/icons/breeze-dark/places/32 \
- /etc/skel/.local/share/icons/breeze-dark/places/64 \
- /etc/skel/.local/share/icons/breeze-dark/places/96 \
- /etc/skel/.local/share/icons/Adwaita/symbolic/places
+ /etc/skel/.config/raveos \
+ /etc/skel/.local/share/konsole
[[ -f "${PAYLOAD}/background" ]] && \
install -Dm644 "${PAYLOAD}/background" /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}/konsole/RaveOS.colorscheme" ]] && \
install -Dm644 "${PAYLOAD}/konsole/RaveOS.colorscheme" /etc/skel/.local/share/konsole/RaveOS.colorscheme
[[ -f "${PAYLOAD}/konsole/RaveOS.profile" ]] && \
install -Dm644 "${PAYLOAD}/konsole/RaveOS.profile" /etc/skel/.local/share/konsole/RaveOS.profile
-if [[ -f "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" ]]; then
- install -Dm644 "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" \
- /etc/skel/.local/share/icons/breeze/applets/256/org.kde.plasma.kickoff.svg
- install -Dm644 "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" \
- /etc/skel/.local/share/icons/breeze-dark/applets/256/org.kde.plasma.kickoff.svg
- install -Dm644 "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" \
- /etc/skel/.local/share/icons/Adwaita/symbolic/places/start-here-symbolic.svg
- for size in 22 32 64 96; do
- install -Dm644 "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" \
- "/etc/skel/.local/share/icons/breeze/places/${size}/start-here-kde.svg"
- install -Dm644 "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" \
- "/etc/skel/.local/share/icons/breeze-dark/places/${size}/start-here-kde.svg"
- install -Dm644 "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" \
- "/etc/skel/.local/share/icons/breeze/places/${size}/start-here.svg"
- install -Dm644 "${PAYLOAD}/plasma/org.kde.plasma.kickoff.svg" \
- "/etc/skel/.local/share/icons/breeze-dark/places/${size}/start-here.svg"
- done
-fi
-
write_konsolerc /etc/skel
-write_plasma_wallpaper_config /etc/skel
-write_kickoff_config /etc/skel
write_kscreenlockerrc /etc/skel
write_ksplashrc /etc/skel
+write_kdeglobals /etc/skel
disable_kmix_autostart /etc/skel
ensure_bashrc_hook /etc/skel/.bashrc
+echo "1" > /etc/skel/.config/raveos/plasma-migrated
-command -v gtk-update-icon-cache &>/dev/null && \
- gtk-update-icon-cache -f -t /usr/share/icons/hicolor || true
+# meglévő felhasználók frissítése
+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/kitty" \
+ "${home}/.config/fastfetch" \
+ "${home}/.config/autostart" \
+ "${home}/.config/raveos" \
+ "${home}/.local/share/konsole"
+
+ 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
+
+ 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
+
+ if [[ ! -f "${home}/.local/share/konsole/RaveOS.colorscheme" && -f "${PAYLOAD}/konsole/RaveOS.colorscheme" ]]; then
+ install -Dm644 "${PAYLOAD}/konsole/RaveOS.colorscheme" "${home}/.local/share/konsole/RaveOS.colorscheme"
+ fi
+
+ if [[ ! -f "${home}/.local/share/konsole/RaveOS.profile" && -f "${PAYLOAD}/konsole/RaveOS.profile" ]]; then
+ install -Dm644 "${PAYLOAD}/konsole/RaveOS.profile" "${home}/.local/share/konsole/RaveOS.profile"
+ fi
+
+ if [[ ! -f "${home}/.config/konsolerc" ]]; then
+ write_konsolerc "${home}"
+ fi
+
+ if [[ ! -f "${home}/.config/autostart/kmix_autostart.desktop" ]]; then
+ disable_kmix_autostart "${home}"
+ fi
+
+ ensure_bashrc_hook "${home}/.bashrc"
+ echo "1" > "${home}/.config/raveos/plasma-migrated"
+
+ chown "${uid}:${gid}" "${home}/.config" "${home}/.local" 2>/dev/null || true
+ chown -R "${uid}:${gid}" \
+ "${home}/.config/kitty" \
+ "${home}/.config/fastfetch" \
+ "${home}/.config/autostart" \
+ "${home}/.config/raveos" \
+ "${home}/.local/share/konsole" \
+ "${home}/.bashrc" 2>/dev/null || true
+
+done < /etc/passwd
-echo "Telepítés kész."
+echo "RaveOS Plasma beállítás sikeresen alkalmazva."
diff --git a/raveos-plasma-theme/raveos-plasma-first-login.sh b/raveos-plasma-theme/raveos-plasma-first-login.sh
index a1a3720..f16f43d 100644..100755
--- a/raveos-plasma-theme/raveos-plasma-first-login.sh
+++ b/raveos-plasma-theme/raveos-plasma-first-login.sh
@@ -1,11 +1,10 @@
#!/usr/bin/env bash
set -euo pipefail
-marker_dir="${HOME}/.config/raveos-kde-theme"
-marker_file="${marker_dir}/.first-login-done"
+marker_dir="${HOME}/.config/raveos"
+marker_file="${marker_dir}/plasma-first-login-done"
wallpaper="/usr/share/backgrounds/raveos/raveos-main-bg.jpeg"
kickoff_image="/usr/share/raveos/plasma-theme/theme-data/plasma/org.kde.plasma.kickoff.svg"
-applet_config="${HOME}/.config/plasma-org.kde.plasma.desktop-appletsrc"
mkdir -p "${marker_dir}"
[[ -e "${marker_file}" ]] && exit 0
@@ -15,25 +14,17 @@ until qdbus6 org.kde.plasmashell /PlasmaShell >/dev/null 2>&1 || qdbus org.kde.p
sleep 2
done
-sleep 10
+sleep 5
QDBUS=""
if command -v qdbus6 >/dev/null 2>&1; then
- QDBUS="qdbus6"
+ QDBUS="qdbus6"
elif command -v qdbus >/dev/null 2>&1; then
- QDBUS="qdbus"
+ QDBUS="qdbus"
fi
if command -v plasma-apply-lookandfeel >/dev/null 2>&1; then
- plasma-apply-lookandfeel -a org.kde.breezedark.desktop >/dev/null 2>&1 || true
-fi
-
-if command -v kwriteconfig6 >/dev/null 2>&1; then
- kwriteconfig6 --file "${HOME}/.config/ksplashrc" --group KSplash --key Engine KSplashQML
- kwriteconfig6 --file "${HOME}/.config/ksplashrc" --group KSplash --key Theme org.kde.raveos.desktop
- kwriteconfig6 --file "${HOME}/.config/kdeglobals" --group KDE --key widgetStyle Breeze
- kwriteconfig6 --file "${HOME}/.config/kdeglobals" --group General --key ColorScheme BreezeDark
- kwriteconfig6 --file "${HOME}/.config/kdeglobals" --group Icons --key Theme breeze-dark
+ plasma-apply-lookandfeel -a org.kde.breezedark.desktop >/dev/null 2>&1 || true
fi
if [[ -f "${wallpaper}" ]] && command -v plasma-apply-wallpaperimage >/dev/null 2>&1; then
@@ -41,39 +32,40 @@ if [[ -f "${wallpaper}" ]] && command -v plasma-apply-wallpaperimage >/dev/null
fi
if [[ -n "$QDBUS" ]]; then
- $QDBUS org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript "
- if ('${wallpaper}' !== '') {
- var desktops = desktops();
- for (var i = 0; i < desktops.length; i++) {
- desktops[i].wallpaperPlugin = 'org.kde.image';
- desktops[i].currentConfigGroup = ['Wallpaper', 'org.kde.image', 'General'];
- desktops[i].writeConfig('Image', 'file://${wallpaper}');
- desktops[i].writeConfig('FillMode', 2);
- }
- }
-
- if ('${kickoff_image}' !== '') {
- function setKickoffIcon(applet, iconPath) {
- var groups = [['Configuration', 'General'], ['General']];
- for (var i = 0; i < groups.length; i++) {
- applet.currentConfigGroup = groups[i];
- applet.writeConfig('useCustomButtonImage', 'true');
- applet.writeConfig('customButtonImage', 'file://' + iconPath);
- applet.writeConfig('icon', iconPath);
+ $QDBUS org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript "
+ if ('${wallpaper}' !== '') {
+ var d = desktops();
+ for (var i = 0; i < d.length; i++) {
+ d[i].wallpaperPlugin = 'org.kde.image';
+ d[i].currentConfigGroup = ['Wallpaper', 'org.kde.image', 'General'];
+ d[i].writeConfig('Image', 'file://${wallpaper}');
+ d[i].writeConfig('FillMode', 2);
+ }
}
- }
- var panels = panels();
- for (var i = 0; i < panels.length; i++) {
- var applets = panels[i].applets;
- for (var j = 0; j < applets.length; j++) {
- var plugin = applets[j].pluginName;
- if (plugin === 'org.kde.plasma.kickoff' || plugin === 'org.kde.plasma.kicker' || plugin === 'org.kde.plasma.simplemenu' || plugin === 'org.kde.plasma.kickoffdashboard') {
- setKickoffIcon(applets[j], '${kickoff_image}');
- }
- }
- }
- }
- " >/dev/null 2>&1 || true
+ " >/dev/null 2>&1 || true
+fi
+
+if [[ -f "${HOME}/.config/plasma-org.kde.plasma.desktop-appletsrc" ]] && command -v kwriteconfig6 >/dev/null 2>&1; then
+ while IFS=: read -r containment applet; do
+ [[ -n "${containment}" && -n "${applet}" ]] || continue
+ kwriteconfig6 --file "${HOME}/.config/plasma-org.kde.plasma.desktop-appletsrc" \
+ --group Containments --group "${containment}" --group Applets \
+ --group "${applet}" --group Configuration --group General \
+ --key useCustomButtonImage true
+ kwriteconfig6 --file "${HOME}/.config/plasma-org.kde.plasma.desktop-appletsrc" \
+ --group Containments --group "${containment}" --group Applets \
+ --group "${applet}" --group Configuration --group General \
+ --key customButtonImage "file://${kickoff_image}"
+ kwriteconfig6 --file "${HOME}/.config/plasma-org.kde.plasma.desktop-appletsrc" \
+ --group Containments --group "${containment}" --group Applets \
+ --group "${applet}" --group Configuration --group General \
+ --key icon "${kickoff_image}"
+ done < <(
+ awk '
+ match($0, /^\[Containments\]\[([0-9]+)\]\[Applets\]\[([0-9]+)\]$/, m) { c=m[1]; a=m[2]; next }
+ /^plugin=org\.kde\.plasma\.(kickoff|kicker|simplemenu|kickoffdashboard)$/ && c != "" && a != "" { print c ":" a }
+ ' "${HOME}/.config/plasma-org.kde.plasma.desktop-appletsrc" | sort -u
+ )
fi
touch "${marker_file}"
diff --git a/raveos-plasma-theme/raveos-plasma-theme-apply.service b/raveos-plasma-theme/raveos-plasma-theme-apply.service
index 90cfc9c..b66ba42 100644
--- a/raveos-plasma-theme/raveos-plasma-theme-apply.service
+++ b/raveos-plasma-theme/raveos-plasma-theme-apply.service
@@ -8,6 +8,7 @@ ConditionPathExists=!/var/lib/raveos-plasma-theme/.applied
Type=oneshot
ExecStart=/usr/lib/raveos-plasma-theme/auto-apply.sh
ExecStartPost=/usr/bin/install -Dm644 /dev/null /var/lib/raveos-plasma-theme/.applied
+RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
diff --git a/raveos-plasma-theme/raveos-plasma-theme.install b/raveos-plasma-theme/raveos-plasma-theme.install
index 9461d16..fbca6ac 100644
--- a/raveos-plasma-theme/raveos-plasma-theme.install
+++ b/raveos-plasma-theme/raveos-plasma-theme.install
@@ -9,7 +9,5 @@ post_install() {
}
post_upgrade() {
- # Do not rewrite a live Plasma session from inside a pacman transaction.
- rm -f /var/lib/raveos-plasma-theme/.applied
_enable_apply_service
}
diff --git a/raveos-welcome/PKGBUILD b/raveos-welcome/PKGBUILD
index 6cc410e..1449d1b 100644
--- a/raveos-welcome/PKGBUILD
+++ b/raveos-welcome/PKGBUILD
@@ -1,7 +1,7 @@
# Maintainer: nippy <nippy@tuta.io>
pkgname=raveos-welcome
pkgver=2.2.2
-pkgrel=2
+pkgrel=3
pkgdesc="RaveOS Welcome Application and Safe GPU Performance Optimizer"
arch=('x86_64')
url="https://git.rp1.hu/RaveOS/RaveOS-PKGBUILD"
diff --git a/raveos-welcome/raveos_welcome.py b/raveos-welcome/raveos_welcome.py
index daae931..ec1e2a8 100644
--- a/raveos-welcome/raveos_welcome.py
+++ b/raveos-welcome/raveos_welcome.py
@@ -280,6 +280,7 @@ T = {
"en": "With the App Installer you can install all important "
"software in one place — from browsers to developer tools."},
"finish_install": {"hu": "APP INSTALLER INDÍTÁSA", "en": "LAUNCH APP INSTALLER"},
+ "finish_reboot": {"hu": "ÚJRAINDÍTÁS", "en": "REBOOT SYSTEM"},
"finish_close": {"hu": "Bezárás", "en": "Close"},
"finish_install_missing": {"hu": "Nem található az App Installer.", "en": "App Installer not found."},
"finish_install_err": {"hu": "Nem sikerült elindítani. Napló: {log}", "en": "Failed to launch. Log: {log}"},
@@ -1778,10 +1779,22 @@ class FinishPage(QWidget):
self.card_body.setWordWrap(True)
card_lay.addWidget(self.card_body)
+ btn_box = QHBoxLayout()
+ btn_box.setSpacing(12)
+
+ self.reboot_btn = QPushButton(_t("finish_reboot"))
+ self.reboot_btn.setObjectName("secondary")
+ self.reboot_btn.clicked.connect(self._on_reboot)
+ btn_box.addWidget(self.reboot_btn)
+
+ btn_box.addStretch()
+
self.install_btn = QPushButton(_t("finish_install"))
self.install_btn.setObjectName("primary")
self.install_btn.clicked.connect(self.launch_installer.emit)
- card_lay.addWidget(self.install_btn, alignment=Qt.AlignmentFlag.AlignRight)
+ btn_box.addWidget(self.install_btn)
+
+ card_lay.addLayout(btn_box)
self.install_status = QLabel("")
self.install_status.setObjectName("body")
@@ -1792,12 +1805,17 @@ class FinishPage(QWidget):
lay.addWidget(card)
lay.addStretch()
+ def _on_reboot(self):
+ import subprocess
+ subprocess.Popen(["systemctl", "reboot"])
+
def retranslate(self):
self.done_label.setText(_t("finish_ok"))
self.title.setText(_t("finish_title"))
self.sub.setText(_t("finish_sub"))
self.card_title.setText(_t("finish_next_step"))
self.card_body.setText(_t("finish_inst_desc"))
+ self.reboot_btn.setText(_t("finish_reboot"))
self.install_btn.setText(_t("finish_install"))
def show_error(self, msg):