update
This commit is contained in:
parent
fb104323be
commit
30f9fed77a
132
debian.sh
132
debian.sh
@ -10,6 +10,21 @@ fg_white="$(tput setaf 7)"
|
|||||||
reset="$(tput sgr0)"
|
reset="$(tput sgr0)"
|
||||||
scriptdir=$PWD
|
scriptdir=$PWD
|
||||||
|
|
||||||
|
# colored text
|
||||||
|
cecho() {
|
||||||
|
local text="$1"
|
||||||
|
local color="$2"
|
||||||
|
|
||||||
|
# Ensure the color variable exists and is valid
|
||||||
|
if [[ -z "$color" || -z "${!color}" ]]; then
|
||||||
|
echo "Error: Invalid color variable"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
local fg_color="${!color}"
|
||||||
|
# Print the colored string
|
||||||
|
echo -e "${fg_color}${text}${reset}"
|
||||||
|
}
|
||||||
|
|
||||||
confirm() {
|
confirm() {
|
||||||
# call with a prompt string or use a default
|
# call with a prompt string or use a default
|
||||||
read -r -p "${fg_yellow}${1:-Are you sure? [y/N]}${reset} " response
|
read -r -p "${fg_yellow}${1:-Are you sure? [y/N]}${reset} " response
|
||||||
@ -41,82 +56,36 @@ install_neovim=false
|
|||||||
install_dotfiles=false
|
install_dotfiles=false
|
||||||
install_gnome_configs=false
|
install_gnome_configs=false
|
||||||
include_debian_backports=false
|
include_debian_backports=false
|
||||||
# colored text stopped working? idk
|
|
||||||
# confirm "\033[94mSwap Left Super & Left Control? (Mac keyboard)\033[0m" && is_macbook=true
|
|
||||||
# confirm "\033[94mInstall GTK themes?\033[0m" && install_themes=true
|
|
||||||
# confirm "\0cc[94mInstall Nerd Fonts?\033[0m" && install_nerdfonts=true
|
|
||||||
|
|
||||||
echo "${fg_blue}"
|
echo "${fg_blue}"
|
||||||
cat ascii.txt
|
cat ascii.txt
|
||||||
echo "${fg_cyan}-----Debian Install Script-----${reset}"
|
echo "${reset}"
|
||||||
|
cecho "----debian install script-----" fg_cyan
|
||||||
confirm "Is this a server? (Y/N)" && is_server=true
|
confirm "Is this a server? (Y/N)" && is_server=true
|
||||||
confirm "Include debian backports in apt package manager? (Y/N)" && include_debian_backports=true
|
# confirm "Include debian backports in apt package manager? (Y/N)" && include_debian_backports=true
|
||||||
confirm "Swap Left Super & Left Control <for mac keyboard> (Y/N)" && is_macbook=true
|
confirm "Swap Left Super & Left Control <for mac keyboard> (Y/N)" && is_macbook=true
|
||||||
|
|
||||||
if $is_server; then
|
if $is_server; then
|
||||||
echo ":3"
|
echo ":3"
|
||||||
else
|
else
|
||||||
if echo $DESKTOP_SESSION | grep -q "gnome"; then
|
if echo $DESKTOP_SESSION | grep -q "gnome"; then
|
||||||
confirm "Install gnome extensions, tweaks, and configs? (Y/N)" && install_gnome_configs=true
|
confirm "Install gnome extensions, tweaks, and configs? (Y/N)" && install_gnome_configs=true
|
||||||
fi
|
|
||||||
fi
|
|
||||||
confirm "Install GTK themes? (Y/N)" && install_themes=true
|
confirm "Install GTK themes? (Y/N)" && install_themes=true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
confirm "Install Nerd Fonts? (Y/N)" && install_nerdfonts=true
|
confirm "Install Nerd Fonts? (Y/N)" && install_nerdfonts=true
|
||||||
confirm "Install billypom dotfiles? - includes .bash_aliases file, tmux, kitty, and nvim configs (Y/N)" && install_dotfiles=true
|
confirm "Install billypom dotfiles? - includes .bash_aliases file, tmux, kitty, and nvim configs (Y/N)" && install_dotfiles=true
|
||||||
confirm "Install Neovim? (Y/N)" && install_neovim=true
|
confirm "Install Neovim? (Y/N)" && install_neovim=true
|
||||||
|
|
||||||
echo "Updating package manager"
|
cecho "Updating package manager" fg_cyan
|
||||||
sudo apt update
|
sudo apt update
|
||||||
echo "Purging yucky packages"
|
cecho "Purging yucky packages" fg_cyan
|
||||||
sudo apt purge nano evolution nautilus
|
sudo apt purge nano evolution nautilus
|
||||||
echo "Installing yummy packages"
|
cecho "Installing yummy packages" fg_cyan
|
||||||
if $is_server; then
|
if $is_server; then
|
||||||
sudo apt install vim git cifs-utils nfs-common ripgrep stow virtualenv wget zip unzip kitty python3-pip ncdu tldr htop
|
sudo apt install vim git cifs-utils nfs-common ripgrep stow virtualenv wget zip unzip kitty python3-pip ncdu tldr htop
|
||||||
else
|
else
|
||||||
sudo apt install vim git cifs-utils nfs-common ripgrep stow virtualenv wget zip unzip kitty libfuse-dev python3-pip nemo ncdu tldr htop
|
sudo apt install vim git cifs-utils nfs-common ripgrep stow virtualenv wget zip unzip kitty python3-pip ncdu tldr htop libfuse-dev nemo
|
||||||
fi
|
|
||||||
|
|
||||||
if $is_server; then
|
|
||||||
echo ":3"
|
|
||||||
else
|
|
||||||
# wayland specific packages
|
|
||||||
if echo $XDG_SESSION_TYPE | grep -q "wayland"; then
|
|
||||||
echo "Installing wayland specific packages"
|
|
||||||
sudo apt install -y wl-clipboard
|
|
||||||
fi
|
|
||||||
|
|
||||||
# gnome specific packages
|
|
||||||
if echo $DESKTOP_SESSION | grep -q "gnome" && $install_gnome_configs; then
|
|
||||||
echo "Installing gnome-specific packages"
|
|
||||||
sudo apt install -y gnome-tweaks
|
|
||||||
gsettings set org.gnome.desktop.interface gtk-theme Lavanda-Sea-Dark
|
|
||||||
gsettings set org.gnome.shell.extensions.user-theme name Lavanda-Sea-Dark
|
|
||||||
gsettings set org.gnome.desktop.interface icon-theme breeze
|
|
||||||
gsettings set org.gnome.desktop.default-applications.terminal exec ‘kitty’
|
|
||||||
# better alt tab functionality
|
|
||||||
echo "Making alt-tab better :)"
|
|
||||||
gsettings set org.gnome.desktop.wm.keybindings switch-windows "['<Alt>Tab']"
|
|
||||||
gsettings set org.gnome.desktop.wm.keybindings switch-windows-backward "['<Shift><Alt>Tab', '<Alt>Above_Tab']"
|
|
||||||
gsettings set org.gnome.desktop.wm.keybindings switch-applications "[]"
|
|
||||||
gsettings set org.gnome.desktop.wm.keybindings switch-applications-backward "[]"
|
|
||||||
if $is_macbook; then
|
|
||||||
echo "Swapping left Super & left Control"
|
|
||||||
bash options/toggle-gnome-macbook-keyboard.sh 1
|
|
||||||
fi
|
|
||||||
sudo apt install -y pipx
|
|
||||||
# adds ~/.local/bin to PATH
|
|
||||||
pipx ensurepath
|
|
||||||
# https://github.com/essembeh/gnome-extensions-cli
|
|
||||||
pipx install gnome-extensions-cli --system-site-packages
|
|
||||||
# install gnome extensions
|
|
||||||
gext install dash-to-dock@micxgx.gmail.com user-theme@gnome-shell-extensions.gcampax.github.com openbar@neuromorph emoji-copy@felipeftn tiling-assistant@leleat-on-github Vitals@CoreCoding.com compiz-windows-effect@hermes83.github.com
|
|
||||||
# enable gnome extensions
|
|
||||||
gext enable dash-to-dock@micxgx.gmail.com user-theme@gnome-shell-extensions.gcampax.github.com openbar@neuromorph emoji-copy@felipeftn tiling-assistant@leleat-on-github Vitals@CoreCoding.com compiz-windows-effect@hermes83.github.com
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
# nerdfonts
|
|
||||||
if $install_nerdfonts; then
|
|
||||||
echo "Installing nerdfonts"
|
|
||||||
bash options/install-nerdfonts.sh
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# themes
|
# themes
|
||||||
@ -125,36 +94,57 @@ if $is_server; then
|
|||||||
else
|
else
|
||||||
if $install_themes; then
|
if $install_themes; then
|
||||||
# user theme directory
|
# user theme directory
|
||||||
echo "Installing themes"
|
cecho "Installing themes" fg_cyan
|
||||||
mkdir -p ~/.themes
|
mkdir -p ~/.themes
|
||||||
bash options/install-colloid-gtk-theme.sh
|
bash options/lavanda-gtk-theme.sh
|
||||||
bash options/install-lavanda-gtk-theme.sh
|
bash options/kora-gtk-icons.sh
|
||||||
|
bash options/tokyonight-gtk-theme.sh
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if $is_server; then
|
||||||
|
echo ":3"
|
||||||
|
else
|
||||||
|
# wayland specific packages
|
||||||
|
if echo $XDG_SESSION_TYPE | grep -q "wayland"; then
|
||||||
|
cecho "Installing wayland specific packages" fg_cyan
|
||||||
|
sudo apt install -y wl-clipboard
|
||||||
|
fi
|
||||||
|
|
||||||
|
# gnome specific packages
|
||||||
|
if echo $DESKTOP_SESSION | grep -q "gnome" && $install_gnome_configs; then
|
||||||
|
bash options/gnome-configs.sh
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
# nerdfonts
|
||||||
|
if $install_nerdfonts; then
|
||||||
|
cecho "Installing nerdfonts" fg_cyan
|
||||||
|
bash options/nerdfonts.sh
|
||||||
|
fi
|
||||||
|
|
||||||
# set default file manager
|
# set default file manager
|
||||||
xdg-mime default nemo.desktop inode/directory
|
xdg-mime default nemo.desktop inode/directory
|
||||||
|
|
||||||
# install neovim
|
# install neovim
|
||||||
if $install_neovim; then
|
if $install_neovim; then
|
||||||
echo "Installing neovim"
|
cecho "Installing neovim" fg_cyan
|
||||||
bash options/install-neovim.sh
|
bash options/neovim.sh
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# install my dotfiles
|
# install my dotfiles
|
||||||
if $install_dotfiles; then
|
if $install_dotfiles; then
|
||||||
echo "Installing billypom dotfiles"
|
cecho "Installing billypom dotfiles" fg_cyan
|
||||||
bash options/install-dotfiles.sh
|
bash options/dotfiles.sh
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# apt repositories setup
|
# apt repositories setup
|
||||||
# this wont work because of permissions...hmmm
|
# this wont work because of permissions...hmmm
|
||||||
if ! grep -q "deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware" /etc/apt/sources.list; then echo "deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware" >> /etc/apt/sources.list; fi
|
# if ! grep -q "deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware" /etc/apt/sources.list; then echo "deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware" >> /etc/apt/sources.list; fi
|
||||||
|
#
|
||||||
if ! grep -q "deb-src http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware" /etc/apt/sources.list; then echo "deb-src http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware" >> /etc/apt/sources.list; fi
|
# if ! grep -q "deb-src http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware" /etc/apt/sources.list; then echo "deb-src http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware" >> /etc/apt/sources.list; fi
|
||||||
if $include_debian_backports; then
|
# if $include_debian_backports; then
|
||||||
if ! grep -q "deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware" /etc/apt/sources.list; then echo "deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware" >> /etc/apt/sources.list; fi
|
# if ! grep -q "deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware" /etc/apt/sources.list; then echo "deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware" >> /etc/apt/sources.list; fi
|
||||||
|
#
|
||||||
if ! grep -q "deb-src http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware" /etc/apt/sources.list; then echo "deb-src http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware" >> /etc/apt/sources.list; fi
|
# if ! grep -q "deb-src http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware" /etc/apt/sources.list; then echo "deb-src http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware" >> /etc/apt/sources.list; fi
|
||||||
fi
|
# fi
|
||||||
echo "\e[0;32m--- debian install script finished running ---\e[0m"
|
echo "\e[0;32m--- debian install script finished running ---\e[0m"
|
||||||
|
|||||||
59
options/gnome-configs.sh
Executable file
59
options/gnome-configs.sh
Executable file
@ -0,0 +1,59 @@
|
|||||||
|
|
||||||
|
fg_black="$(tput setaf 0)"
|
||||||
|
fg_red="$(tput setaf 1)"
|
||||||
|
fg_green="$(tput setaf 2)"
|
||||||
|
fg_yellow="$(tput setaf 3)"
|
||||||
|
fg_blue="$(tput setaf 4)"
|
||||||
|
fg_magenta="$(tput setaf 5)"
|
||||||
|
fg_cyan="$(tput setaf 6)"
|
||||||
|
fg_white="$(tput setaf 7)"
|
||||||
|
reset="$(tput sgr0)"
|
||||||
|
scriptdir=$PWD
|
||||||
|
|
||||||
|
|
||||||
|
cecho() {
|
||||||
|
local text="$1"
|
||||||
|
local color="$2"
|
||||||
|
|
||||||
|
# Ensure the color variable exists and is valid
|
||||||
|
if [[ -z "$color" || -z "${!color}" ]]; then
|
||||||
|
echo "Error: Invalid color variable"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
local fg_color="${!color}"
|
||||||
|
# Print the colored string
|
||||||
|
echo -e "${fg_color}${text}${reset}"
|
||||||
|
}
|
||||||
|
|
||||||
|
cecho "Installing gnome-specific packages" fg_cyan
|
||||||
|
sudo apt install -y gnome-tweaks
|
||||||
|
gsettings set org.gnome.desktop.interface gtk-theme Tokyonight-Dark
|
||||||
|
gsettings set org.gnome.shell.extensions.user-theme name Tokyonight-Dark
|
||||||
|
gsettings set org.gnome.desktop.interface icon-theme kora
|
||||||
|
gsettings set org.gnome.desktop.default-applications.terminal exec ‘kitty’
|
||||||
|
# better alt tab functionality
|
||||||
|
cecho "Making alt-tab better :)" fg_cyan
|
||||||
|
gsettings set org.gnome.desktop.wm.keybindings switch-windows "['<Alt>Tab']"
|
||||||
|
gsettings set org.gnome.desktop.wm.keybindings switch-windows-backward "['<Shift><Alt>Tab', '<Alt>Above_Tab']"
|
||||||
|
gsettings set org.gnome.desktop.wm.keybindings switch-applications "[]"
|
||||||
|
gsettings set org.gnome.desktop.wm.keybindings switch-applications-backward "[]"
|
||||||
|
if $is_macbook; then
|
||||||
|
cecho "Swapping left Super & left Control" fg_cyan
|
||||||
|
bash options/toggle-gnome-macbook-keyboard.sh 1
|
||||||
|
fi
|
||||||
|
sudo apt install -y pipx
|
||||||
|
# adds ~/.local/bin to PATH
|
||||||
|
pipx ensurepath
|
||||||
|
# https://github.com/essembeh/gnome-extensions-cli
|
||||||
|
pipx install gnome-extensions-cli --system-site-packages
|
||||||
|
# install gnome extensions
|
||||||
|
gext install dash-to-dock@micxgx.gmail.com user-theme@gnome-shell-extensions.gcampax.github.com openbar@neuromorph emoji-copy@felipeftn tiling-assistant@leleat-on-github Vitals@CoreCoding.com compiz-windows-effect@hermes83.github.com
|
||||||
|
# enable gnome extensions
|
||||||
|
gext enable dash-to-dock@micxgx.gmail.com user-theme@gnome-shell-extensions.gcampax.github.com openbar@neuromorph emoji-copy@felipeftn tiling-assistant@leleat-on-github Vitals@CoreCoding.com compiz-windows-effect@hermes83.github.com
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
bash gnome-custom-keybinds.sh
|
||||||
|
|
||||||
|
|
||||||
96
options/gnome-custom-keybinds.sh
Executable file
96
options/gnome-custom-keybinds.sh
Executable file
@ -0,0 +1,96 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# this is the worst script in the world
|
||||||
|
# "name|command|binding"
|
||||||
|
keybindings=(
|
||||||
|
"Terminal|kitty|<Super>Return"
|
||||||
|
"wallpaper|~/utils/gnome-wallpaper/wallpaper.sh|Launch7"
|
||||||
|
"wallpaper2|~/utils/gnome-wallpaper/my_wallpaper.sh|<Control>Launch7"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Get the current list of custom keybindings
|
||||||
|
current_keybindings=$(gsettings get org.gnome.settings-daemon.plugins.media-keys custom-keybindings)
|
||||||
|
current_keybindings=$(echo "$current_keybindings" | sed "s/^\[\(.*\)\]$/\1/")
|
||||||
|
if [ "$current_keybindings" == "@as []" ]; then
|
||||||
|
echo "Current keybinds are empty"
|
||||||
|
next_index=0
|
||||||
|
else
|
||||||
|
# Get the highest index currently used
|
||||||
|
existing_indices=$(echo "$current_keybindings" | tr ',' '\n' | grep -o 'custom[0-9]\+' | sed 's/custom//' | sort -n)
|
||||||
|
if [ -z "$existing_indices" ]; then
|
||||||
|
next_index=0
|
||||||
|
else
|
||||||
|
last_index=$(echo "$existing_indices" | tail -n 1)
|
||||||
|
next_index=$((last_index + 1))
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Store new paths to update the keybinding list
|
||||||
|
new_keybinding_paths=()
|
||||||
|
|
||||||
|
# Get all existing bindings for comparison (just the binding part)
|
||||||
|
existing_bindings=()
|
||||||
|
for keybinding in $(echo "$current_keybindings" | tr ',' '\n'); do
|
||||||
|
binding_path=$(echo "$keybinding" | sed "s/^'//;s/'$//")
|
||||||
|
binding_command=$(gsettings get org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:$binding_path binding)
|
||||||
|
existing_bindings+=("$(echo $binding_command | sed "s/^'//;s/'$//")") # Remove quotes
|
||||||
|
done
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Loop over keybindings and add them
|
||||||
|
for entry in "${keybindings[@]}"; do
|
||||||
|
IFS='|' read -r name command binding <<< "$entry"
|
||||||
|
|
||||||
|
# Check if the binding already exists
|
||||||
|
if [ "$current_keybindings" == "@as []" ]; then
|
||||||
|
echo "Current keybinds are empty"
|
||||||
|
else
|
||||||
|
if [[ " ${existing_bindings[@]} " =~ " $binding " ]]; then
|
||||||
|
# If binding exists, prompt user to overwrite
|
||||||
|
echo "Keybinding '$binding' already exists for another action."
|
||||||
|
read -p "Do you want to overwrite it? (y/n): " overwrite
|
||||||
|
if [[ "$overwrite" != "y" && "$overwrite" != "Y" ]]; then
|
||||||
|
echo "Skipping '$binding'."
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Define the new keybinding path
|
||||||
|
new_path="/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom$next_index/"
|
||||||
|
new_keybinding_paths+=("'$new_path'") # Wrap paths in single quotes
|
||||||
|
|
||||||
|
# Set individual keybinding settings
|
||||||
|
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:"$new_path" name "$name"
|
||||||
|
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:"$new_path" command "$command"
|
||||||
|
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:"$new_path" binding "$binding"
|
||||||
|
|
||||||
|
echo "Added keybinding: $name ($binding) -> $command"
|
||||||
|
|
||||||
|
next_index=$((next_index + 1))
|
||||||
|
done
|
||||||
|
|
||||||
|
# Now merge old and new keybindings properly
|
||||||
|
# First, join the keybinding paths with commas, ensuring proper quoting
|
||||||
|
if [ "$current_keybindings" == "@as []" ]; then
|
||||||
|
echo "Current keybinds are empty"
|
||||||
|
all_keybindings=""
|
||||||
|
else
|
||||||
|
all_keybindings="$current_keybindings"
|
||||||
|
fi
|
||||||
|
|
||||||
|
for path in "${new_keybinding_paths[@]}"; do
|
||||||
|
# Add each new keybinding path to the list, ensuring proper formatting
|
||||||
|
if [ -z "$all_keybindings" ]; then
|
||||||
|
all_keybindings="$path"
|
||||||
|
else
|
||||||
|
all_keybindings="$all_keybindings,$path"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Ensure the list is properly wrapped in square brackets
|
||||||
|
all_keybindings="[$all_keybindings]"
|
||||||
|
|
||||||
|
# Update the system keybinding list
|
||||||
|
gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "$all_keybindings"
|
||||||
|
|
||||||
|
echo "Keybindings updated successfully!"
|
||||||
@ -1,43 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# credit: https://github.com/drewgrif/bookworm-scripts
|
|
||||||
|
|
||||||
# Function to check if a directory exists
|
|
||||||
check_directory() {
|
|
||||||
if [ -d "$1" ]; then
|
|
||||||
return 0 # Directory exists
|
|
||||||
else
|
|
||||||
return 1 # Directory does not exist
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Check if Colloid-icon-theme is installed
|
|
||||||
if check_directory "$HOME/.local/share/icons/Colloid-Dark"; then
|
|
||||||
echo "Colloid-icon-theme is already installed."
|
|
||||||
else
|
|
||||||
echo "Installing Colloid-icon-theme..."
|
|
||||||
cd ~/Downloads || exit
|
|
||||||
if [ -d "Colloid-icon-theme" ]; then
|
|
||||||
echo "Colloid-icon-theme repository already cloned. Skipping clone step."
|
|
||||||
else
|
|
||||||
git clone https://github.com/vinceliuice/Colloid-icon-theme.git
|
|
||||||
fi
|
|
||||||
cd Colloid-icon-theme || exit
|
|
||||||
./install.sh -t default -s default
|
|
||||||
rm -rf ~/Downloads/Colloid-icon-theme/
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check if Colloid-gtk-theme is installed
|
|
||||||
if check_directory "$HOME/.themes/Colloid-Dark"; then
|
|
||||||
echo "Colloid-gtk-theme is already installed."
|
|
||||||
else
|
|
||||||
echo "Installing Colloid-gtk-theme..."
|
|
||||||
cd ~/Downloads || exit
|
|
||||||
if [ -d "Colloid-gtk-theme" ]; then
|
|
||||||
echo "Colloid-gtk-theme repository already cloned. Skipping clone step."
|
|
||||||
else
|
|
||||||
git clone https://github.com/vinceliuice/Colloid-gtk-theme.git
|
|
||||||
fi
|
|
||||||
cd Colloid-gtk-theme || exit
|
|
||||||
yes | ./install.sh -c dark -t default --tweaks black
|
|
||||||
rm -rf ~/Downloads/Colloid-gtk-theme
|
|
||||||
fi
|
|
||||||
27
options/kora-gtk-icons.sh
Executable file
27
options/kora-gtk-icons.sh
Executable file
@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# credit: https://github.com/drewgrif/bookworm-scripts
|
||||||
|
|
||||||
|
# Function to check if a directory exists
|
||||||
|
check_directory() {
|
||||||
|
if [ -d "$1" ]; then
|
||||||
|
return 0 # Directory exists
|
||||||
|
else
|
||||||
|
return 1 # Directory does not exist
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Check if Colloid-icon-theme is installed
|
||||||
|
if check_directory "$HOME/.icons/kora"; then
|
||||||
|
echo "Kora icon theme is already installed"
|
||||||
|
else
|
||||||
|
echo "Installing kora icon theme"
|
||||||
|
DOWNLOAD_DIR="${XDG_DOWNLOAD_DIR:-$(xdg-user-dir DOWNLOAD)}"
|
||||||
|
cd $DOWNLOAD_DIR || exit
|
||||||
|
git clone https://github.com/bikass/kora.git
|
||||||
|
cd kora || exit
|
||||||
|
cp -r kora ~/.icons/kora
|
||||||
|
cp -r kora-light ~/.icons/kora-light
|
||||||
|
cp -r kora-light-panel ~/.icons/kora-light-panel
|
||||||
|
cp -r kora-pgrey ~/.icons/kora-pgrey
|
||||||
|
rm -rf $DOWNLOAD_DIR/kora
|
||||||
|
fi
|
||||||
@ -15,14 +15,11 @@ if check_directory "$HOME/.themes/Lavanda-Dark"; then
|
|||||||
echo "Lavanda gtk theme is already installed."
|
echo "Lavanda gtk theme is already installed."
|
||||||
else
|
else
|
||||||
echo "Installing Lavanda-gtk-theme..."
|
echo "Installing Lavanda-gtk-theme..."
|
||||||
cd ~/Downloads || exit
|
DOWNLOAD_DIR="${XDG_DOWNLOAD_DIR:-$(xdg-user-dir DOWNLOAD)}"
|
||||||
if [ -d "Lavanda-gtk-theme" ]; then
|
cd $DOWNLOAD_DIR || exit
|
||||||
echo "Lavanda-gtk-theme repository already cloned. Skipping clone step."
|
|
||||||
else
|
|
||||||
git clone https://github.com/vinceliuice/Lavanda-gtk-theme
|
git clone https://github.com/vinceliuice/Lavanda-gtk-theme
|
||||||
cd Lavanda-gtk-theme
|
cd Lavanda-gtk-theme
|
||||||
bash install.sh
|
bash install.sh
|
||||||
fi
|
rm -rf $DOWNLOAD_DIR/Lavanda-gtk-theme
|
||||||
rm -rf ~/Downloads/Lavanda-gtk-theme
|
|
||||||
echo "Finished installing Lavanda-gtk-theme"
|
echo "Finished installing Lavanda-gtk-theme"
|
||||||
fi
|
fi
|
||||||
24
options/tokyonight-gtk-theme.sh
Executable file
24
options/tokyonight-gtk-theme.sh
Executable file
@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
echo "Running: [sudo apt install gtk2-engines-murrine]"
|
||||||
|
sudo apt install gtk2-engines-murrine
|
||||||
|
|
||||||
|
# Function to check if a directory exists
|
||||||
|
check_directory() {
|
||||||
|
if [ -d "$1" ]; then
|
||||||
|
return 0 # Directory exists
|
||||||
|
else
|
||||||
|
return 1 # Directory does not exist
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Check if Colloid-icon-theme is installed
|
||||||
|
if check_directory "$HOME/.themes/Tokyonight-Dark/"; then
|
||||||
|
echo "Tokyonight dark theme already installed"
|
||||||
|
else
|
||||||
|
echo "Installing Tokyonight GTK theme"
|
||||||
|
DOWNLOAD_DIR="${XDG_DOWNLOAD_DIR:-$(xdg-user-dir DOWNLOAD)}"
|
||||||
|
cd $DOWNLOAD_DIR || exit
|
||||||
|
git clone https://github.com/Fausto-Korpsvart/Tokyonight-GTK-Theme.git
|
||||||
|
cd Tokyonight-GTK-Theme/themes || exit
|
||||||
|
bash install.sh
|
||||||
|
fi
|
||||||
38
options/view-gnome-keybinds.sh
Executable file
38
options/view-gnome-keybinds.sh
Executable file
@ -0,0 +1,38 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Get the list of custom keybindings
|
||||||
|
keybindings=$(gsettings get org.gnome.settings-daemon.plugins.media-keys custom-keybindings)
|
||||||
|
|
||||||
|
# Clean up the keybindings list: remove square brackets, and strip quotes and spaces
|
||||||
|
keybindings=$(echo "$keybindings" | sed 's/^\[\(.*\)\]$/\1/' | tr -d '[:space:]')
|
||||||
|
|
||||||
|
# Loop through each custom keybinding path and print the details
|
||||||
|
IFS=',' read -r -a keybinding_paths <<< "$keybindings"
|
||||||
|
|
||||||
|
for path in "${keybinding_paths[@]}"; do
|
||||||
|
# Remove both leading/trailing single and double quotes, and any spaces
|
||||||
|
path=$(echo "$path" | sed 's/^"\(.*\)"$/\1/' | sed "s/^'\(.*\)'$/\1/" | sed 's/^[[:space:]]*//g' | sed 's/[[:space:]]*$//g')
|
||||||
|
|
||||||
|
# Debugging: Print the path to check for hidden characters
|
||||||
|
echo "DEBUG: Raw Keybinding Path: '$path'"
|
||||||
|
|
||||||
|
# Make sure the path starts with a slash and is not empty
|
||||||
|
if [[ "$path" != /* ]] || [[ -z "$path" ]]; then
|
||||||
|
echo "Error: Path does not begin with a slash (/): '$path'"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Print the cleaned keybinding path
|
||||||
|
echo "Keybinding Path: $path"
|
||||||
|
|
||||||
|
# Query the details for the keybinding
|
||||||
|
name=$(gsettings get org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:$path name)
|
||||||
|
command=$(gsettings get org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:$path command)
|
||||||
|
binding=$(gsettings get org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:$path binding)
|
||||||
|
|
||||||
|
# Print the details if they're available
|
||||||
|
echo " Name: $name"
|
||||||
|
echo " Command: $command"
|
||||||
|
echo " Binding: $binding"
|
||||||
|
echo "--------------------------"
|
||||||
|
done
|
||||||
Loading…
x
Reference in New Issue
Block a user