this commit adds a lot of shit, look at the shit, too much sorry
Signed-off-by: Menno van Leeuwen <menno@vleeuwen.me>
This commit is contained in:
51
bin/helpers/gnome_extensions.sh
Executable file
51
bin/helpers/gnome_extensions.sh
Executable file
@@ -0,0 +1,51 @@
|
||||
#!/usr/bin/env zsh
|
||||
|
||||
source ~/dotfiles/bin/helpers/functions.sh
|
||||
|
||||
ensure_gnome_extensions_installed() {
|
||||
printfe "%s" "cyan" " - Loading GNOME extension json file..."
|
||||
echo -en '\r'
|
||||
|
||||
if [ ! -f ~/dotfiles/gnome/extensions.json ]; then
|
||||
printfe "%s\n" "red" " - No GNOME extensions file found."
|
||||
return
|
||||
fi
|
||||
|
||||
extensions=$(cat ~/dotfiles/gnome/extensions.json)
|
||||
gnome_extensions=($(echo $extensions | jq -r '.[]'))
|
||||
|
||||
for i in "${gnome_extensions[@]}";
|
||||
do
|
||||
printfe "%s" "cyan" " - Fetching extension details for $(echo $i | grep -oP 'extension/\K[^/]+')"
|
||||
echo -en '\r'
|
||||
|
||||
# Check if extension_id is already installed
|
||||
if gnome-extensions list | grep --quiet ${i}; then
|
||||
printfe "%s\n" "green" " - Extension $i is already installed."
|
||||
continue
|
||||
fi
|
||||
|
||||
printfe "%s" "cyan" " - Installing $i..."
|
||||
echo -en '\r'
|
||||
|
||||
result=$(gext install $i 2>&1)
|
||||
if [ $? -ne 0 ]; then
|
||||
printfe "%s\n" "red" " - Failed to install $i"
|
||||
printfe "%s\n" "red" " $result"
|
||||
continue
|
||||
fi
|
||||
|
||||
if echo $result | grep --quiet "Cannot find extension"; then
|
||||
printfe "%s\n" "red" " - Failed to install $i, extension not found."
|
||||
continue
|
||||
fi
|
||||
|
||||
printfe "%s\n" "green" " - Extension $i has been installed."
|
||||
done
|
||||
}
|
||||
|
||||
# Export a JSON file with all installed GNOME extensions IDs
|
||||
export_gnome_extensions() {
|
||||
extensions=$(gnome-extensions list --enabled --user)
|
||||
echo $extensions | jq -R -s -c 'split("\n")[:-1]' > ~/dotfiles/gnome/extensions.json
|
||||
}
|
Reference in New Issue
Block a user