diff options
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): |