switch to flatpak zen browser

This commit is contained in:
2024-10-30 23:04:55 +01:00
parent 1229d516f9
commit 4fb1fa9d2c
14 changed files with 22 additions and 430 deletions

View File

@@ -1,12 +0,0 @@
#!/usr/bin/env bash
source $HOME/dotfiles/bin/helpers/functions.sh
printfe "%s\n" "cyan" "Exporting GNOME extensions"
source $HOME/dotfiles/bin/helpers/gnome_extensions.sh
export_gnome_extensions
printfe "%s\n" "cyan" "Exporting gnome-terminal settings"
dconf dump /org/gnome/terminal/ > ~/dotfiles/config/gnome-terminal.dconf
printfe "%s\n" "green" "Finished, don't forget to commit and push"

View File

@@ -180,17 +180,6 @@ tailscalecmd() {
ensure_tailscale_installed
}
extensions() {
if is_wsl; then
printfe "%s\n" "yellow" "Running in WSL, skipping extensions."
return
fi
printfe "%s\n" "cyan" "Ensuring GNOME Extensions are installed..."
source $HOME/dotfiles/bin/helpers/gnome_extensions.sh
ensure_gnome_extensions_installed
}
####################################################################################################
# Update system settings
####################################################################################################
@@ -206,45 +195,6 @@ fonts() {
ensure_fonts_installed
}
terminal() {
if is_wsl; then
printfe "%s\n" "yellow" "Running in WSL, skipping setting default terminal."
return
fi
printfe "%s\n" "cyan" "Setting gnome-terminal as default terminal..."
if [ -x "$(command -v gnome-terminal)" ]; then
current_terminal=$(sudo update-alternatives --query x-terminal-emulator | grep '^Value:' | awk '{print $2}')
if [ "$current_terminal" != $(which gnome-terminal) ]; then
printfe "%s\n" "yellow" " - Setting gnome-terminal as default terminal"
sudo update-alternatives --install /usr/bin/x-terminal-emulator x-terminal-emulator $(which gnome-terminal) 80
else
printfe "%s\n" "green" " - gnome-terminal is already the default terminal"
fi
else
printfe "%s\n" "red" " - gnome-terminal is not installed"
fi
# Reset gnome-terminal settings
printfe "%s\n" "cyan" "Resetting gnome-terminal settings..."
dconf reset -f /org/gnome/terminal/
# Set gnome-terminal settings from $HOME/dotfiles/config/gnome-terminal
printfe "%s\n" "cyan" "Loading gnome-terminal settings..."
dconf load /org/gnome/terminal/ < $HOME/dotfiles/config/gnome-terminal.dconf
}
default_shell() {
printfe "%s\n" "cyan" "Setting bash as default shell..."
if [ "$SHELL" != "/usr/bin/bash" ]; then
printfe "%s\n" "yellow" " - Setting bash as default shell"
chsh -s /usr/bin/bash
else
printfe "%s\n" "green" " - bash is already the default shell"
fi
}
git_repos() {
####################################################################################################
# Ensure git repos
@@ -256,7 +206,7 @@ git_repos() {
}
homemanager() {
home-manager switch
cd $HOME/dotfiles/config/home-manager && home-manager switch
}
####################################################################################################
@@ -282,14 +232,10 @@ if [ "$#" -eq 0 ]; then
git_repos
flatpakpkgs
tailscalecmd
extensions
fonts
terminal
default_shell
else
for arg in "$@"; do
case $arg in
--homemanager)
--home-manager)
homemanager
;;
--git)
@@ -321,18 +267,6 @@ else
--tailscale)
tailscalecmd
;;
--extensions)
extensions
;;
--fonts)
fonts
;;
--terminal)
terminal
;;
--default-shell)
default_shell
;;
*)
printfe "%s\n" "red" "Unknown option: $arg"
;;

View File

@@ -15,10 +15,6 @@ help() {
$HOME/dotfiles/bin/actions/help.sh $@
}
exports() {
$HOME/dotfiles/bin/actions/export.sh $@
}
secrets() {
$HOME/dotfiles/bin/actions/secrets.sh $@
}
@@ -62,10 +58,6 @@ case $1 in
logo continue
status $@
;;
"export")
logo
exports $@
;;
"help"|"--help"|"")
help $@
;;

View File

@@ -1,95 +0,0 @@
#!/usr/bin/env bash
source $HOME/dotfiles/bin/helpers/functions.sh
install_font() {
font_url="$1"
font_name="$2"
if [[ "$OSTYPE" == "darwin"* ]]; then
font_dir="$HOME/Library/Fonts"
else
font_dir="$HOME/.local/share/fonts"
fi
mkdir -p $font_dir
# Check if any font files with the base name exist in the target directory
found=$(find "$font_dir" -name "${font_name}*.ttf" | wc -l)
if [ $found -gt 0 ]; then
printfe "%s\n" "green" " - $font_name is already installed"
else
printfe "%s" "yellow" " - Downloading $font_name..."
echo -en "\r"
result=$(curl -s -L -w "%{http_code}" -o /tmp/$font_name.zip $font_url)
if [ $? -ne 0 ] || [ "$result" -ne "200" ]; then
printfe "%s\n" "red" " - Failed to download $font_name"
printfe "%s\n" "red" " HTTP status code: $result"
return 1
fi
printfe "%s" "yellow" " - Unzipping $font_name..."
echo -en "\r"
result=$(unzip -o /tmp/$font_name.zip -d /tmp/$font_name 2>&1)
if [ $? -ne 0 ]; then
printfe "%s\n" "red" " - Failed to unzip $font_name"
printfe "%s\n" "red" " Error: $result"
return 1
fi
printfe "%s\n" "yellow" " - Moving $font_name to $font_dir..."
mv /tmp/$font_name/*.ttf $font_dir &> /dev/null
# Clear font cache
if [[ "$OSTYPE" != "darwin"* ]]; then
fc-cache -fv $font_dir &> /dev/null
fi
printfe "%s\n" "green" " - $font_name has been installed"
fi
}
ensure_fonts_installed() {
# Load fonts from cat $DOTFILES_CONFIG | shyaml keys config.fonts
fonts=($(cat $DOTFILES_CONFIG | shyaml keys config.fonts))
for font in "${fonts[@]}"; do
name=$(cat $DOTFILES_CONFIG | shyaml get-value config.fonts.$font.name)
url=$(cat $DOTFILES_CONFIG | shyaml get-value config.fonts.$font.url)
install_font $url $name
done
}
print_fonts_status() {
if [[ "$OSTYPE" == "darwin"* ]]; then
font_dir="$HOME/Library/Fonts"
else
font_dir="$HOME/.local/share/fonts"
fi
mkdir -p $font_dir
fonts=($(cat $DOTFILES_CONFIG | shyaml keys config.fonts))
total_fonts=0
installed_fonts=0
for font in "${fonts[@]}"; do
font_name=$(echo $font | awk '{print $2}')
((total_fonts++))
found=$(find "$font_dir" -name "${font_name}*.ttf" | wc -l)
if [ "$found" -gt 0 ]; then
((installed_fonts++))
fi
done
printfe "%s" "cyan" "NerdFonts:"
if [ "$installed_fonts" -eq "$total_fonts" ]; then
printfe "%s" "green" " $installed_fonts/$total_fonts "
else
printfe "%s" "red" " $installed_fonts/$total_fonts "
fi
printfe "%s\n" "cyan" "fonts installed"
}

View File

@@ -1,74 +0,0 @@
#!/usr/bin/env bash
source $HOME/dotfiles/bin/helpers/functions.sh
ensure_gnome_extensions_installed() {
if is_wsl; then
printfe "%s\n" "yellow" "Running in WSL, skipping GNOME extensions."
return
fi
# In case gnome-extensions is installed but we don't use GNOME let's do a check
if [ "$XDG_CURRENT_DESKTOP" != "GNOME" ]; then
printfe "%s\n" "red" " - XDG_CURRENT_DESKTOP is not GNOME, likely not running GNOME."
return
fi
# Attempt to connect to GNOME shell, if it fails, we can stop here
if ! gnome-extensions &> /dev/null; then
printfe "%s\n" "red" " - gnome-extensions command not found, likely not running GNOME?!"
return
fi
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() {
# Only export if we have the gnome-extensions command
if ! command -v gnome-extensions &> /dev/null; then
printfe "%s\n" "red" " - gnome-extensions command not found, likely not running GNOME."
return
fi
extensions=$(gnome-extensions list --enabled --user)
echo $extensions | jq -R -s -c 'split("\n")[:-1]' > ~/dotfiles/gnome/extensions.json
}

View File

@@ -3,7 +3,6 @@ All [] are optional parameters. And all <> are required parameters.
Usage: dotf [options] [optional parameters]
update: Pull latest changes, and update symlinks and configurations.
export: Export dconf, gsettings, and other configurations.
status: Show the status of the dotfiles repository.
secrets: Encrypt and decrypt secrets.
help: Shows this help message