blob: 31d6994adacb1ab7778ecce207d7052284d33fed (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
|
#!/usr/bin/env bash
set -euo pipefail
PAYLOAD="/usr/share/raveos/gnome-theme/theme-data"
wallpaper_dst="/usr/share/backgrounds/raveos/raveos-main-bg.jpeg"
if [[ ! -d "$PAYLOAD" ]]; then
echo "Hiba: hiányzó payload: $PAYLOAD" >&2
exit 1
fi
if [[ ${EUID} -ne 0 ]]; then
echo "Root jogosultság szükséges." >&2
exit 1
fi
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
}
write_mimeapps_defaults() {
local mimeapps_path="$1"
mkdir -p "$(dirname "$mimeapps_path")"
cat > "$mimeapps_path" <<'MIMEOF'
[Default Applications]
image/jpeg=org.gnome.eog.desktop
image/png=org.gnome.eog.desktop
image/webp=org.gnome.eog.desktop
image/gif=org.gnome.eog.desktop
image/bmp=org.gnome.eog.desktop
image/tiff=org.gnome.eog.desktop
image/avif=org.gnome.eog.desktop
image/heif=org.gnome.eog.desktop
image/heic=org.gnome.eog.desktop
MIMEOF
}
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}" <<'DESKEOF'
[Desktop Entry]
NoDisplay=true
DESKEOF
done
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
mkdir -p \
/etc/skel/.config/kitty \
/etc/skel/.config/fastfetch \
/etc/skel/.config/burn-my-windows/profiles \
/etc/skel/.config/raveos
[[ -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}/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
for f in gtk-3.0/gtk.css gtk-4.0/gtk.css; do
[[ -f "${PAYLOAD}/${f}" ]] && install -Dm644 "${PAYLOAD}/${f}" "/etc/skel/.config/${f}"
done
[[ -f "${PAYLOAD}/skel/.local/share/flatpak/overrides/global" ]] && \
install -Dm644 "${PAYLOAD}/skel/.local/share/flatpak/overrides/global" \
/etc/skel/.local/share/flatpak/overrides/global
write_mimeapps_defaults /etc/skel/.config/mimeapps.list
ensure_bashrc_hook /etc/skel/.bashrc
echo "1" > /etc/skel/.config/raveos/gnome-migrated
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/burn-my-windows/profiles" \
"${home}/.config/raveos"
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}/.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
for f in gtk-3.0/gtk.css gtk-4.0/gtk.css; do
if [[ ! -f "${home}/.config/${f}" && -f "${PAYLOAD}/${f}" ]]; then
install -Dm644 "${PAYLOAD}/${f}" "${home}/.config/${f}"
fi
done
if command -v flatpak >/dev/null 2>&1; then
runuser -u "$user" -- env HOME="$home" flatpak override --user --filesystem=xdg-config/gtk-4.0:ro 2>/dev/null || true
elif [[ ! -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
if [[ ! -f "${home}/.config/mimeapps.list" ]]; then
write_mimeapps_defaults "${home}/.config/mimeapps.list"
fi
ensure_bashrc_hook "${home}/.bashrc"
echo "1" > "${home}/.config/raveos/gnome-migrated"
chown "${uid}:${gid}" "${home}/.bashrc" "${home}/.config/mimeapps.list" 2>/dev/null || true
chown "${uid}:${gid}" "${home}/.config" 2>/dev/null || true
for d in \
.config/kitty \
.config/fastfetch \
.config/burn-my-windows \
.config/gtk-3.0 \
.config/gtk-4.0 \
.config/raveos; do
[[ -e "${home}/${d}" ]] && chown -R "${uid}:${gid}" "${home}/${d}" 2>/dev/null || true
done
done < /etc/passwd
echo "RaveOS GNOME beállítás sikeresen alkalmazva."
|