-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathperfect_linux.sh
More file actions
executable file
·60 lines (48 loc) · 1.94 KB
/
perfect_linux.sh
File metadata and controls
executable file
·60 lines (48 loc) · 1.94 KB
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
#!/bin/bash
# Liste des identifiants des extensions à installer
extensions=(
"blur-my-shell@aunetxi"
"dash-to-dock@micxgx.gmail.com"
"just-perfection-desktop@just-perfection"
"user-theme@gnome-shell-extensions.gcampax.github.com"
"Vitals@CoreCoding.com"
"background-logo@fedorahosted.org"
"hanabi-extension@jeffshee.github.io"
"mediacontrols@cliffniff.github.com"
)
# Fonction pour obtenir l'URL de téléchargement de l'extension
get_download_url() {
local uuid=$1
local shell_version="40" # Changez cette valeur selon votre version de GNOME Shell
local api_url="https://extensions.gnome.org/extension-info/?uuid=${uuid}&shell_version=${shell_version}"
local download_url=$(curl -s "$api_url" | grep -oP '(?<="download_url": ")[^"]*')
echo "https://extensions.gnome.org${download_url}"
}
# Créer un dossier temporaire pour télécharger les extensions
temp_dir=$(mktemp -d)
# Installer une extension
install_extension() {
local uuid=$1
local download_url=$(get_download_url "$uuid")
local extension_zip="$temp_dir/$(basename "$download_url")"
# Télécharger l'extension
echo "Téléchargement de $uuid..."
curl -s -L -o "$extension_zip" "$download_url"
# Extraire l'extension
echo "Extraction de $uuid..."
unzip -q "$extension_zip" -d "$temp_dir"
# Déplacer l'extension extraite vers le dossier des extensions
local extension_dir=$(unzip -qql "$extension_zip" | head -n1 | tr -s ' ' | cut -d' ' -f5-)
mv "$temp_dir/$extension_dir" ~/.local/share/gnome-shell/extensions/
# Activer l'extension
echo "Activation de $uuid..."
gnome-extensions enable "$uuid"
echo "$uuid installé et activé avec succès."
}
# Installer chaque extension de la liste
for extension in "${extensions[@]}"; do
install_extension "$extension"
done
# Nettoyer le dossier temporaire
rm -rf "$temp_dir"
echo "Toutes les extensions ont été téléchargées, installées et activées."