summaryrefslogtreecommitdiff
path: root/raveos-cosmic-theme/raveos-cosmic-apply.sh
diff options
context:
space:
mode:
Diffstat (limited to 'raveos-cosmic-theme/raveos-cosmic-apply.sh')
-rwxr-xr-x[-rw-r--r--]raveos-cosmic-theme/raveos-cosmic-apply.sh96
1 files changed, 53 insertions, 43 deletions
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."