From 25fafa0b691d39a556ab62bf57014e6ff1ef0565 Mon Sep 17 00:00:00 2001 From: TrudeEH Date: Fri, 27 Sep 2024 00:11:56 +0100 Subject: [PATCH] Update dconf and switch to new installer fully --- install.sh | 443 +++++++++++++++++++++++-------------------------- install2.sh | 209 ----------------------- settings.dconf | 41 +++-- 3 files changed, 238 insertions(+), 455 deletions(-) delete mode 100755 install2.sh diff --git a/install.sh b/install.sh index 6a21989b..03dba52a 100755 --- a/install.sh +++ b/install.sh @@ -1,238 +1,209 @@ -#! /bin/bash - -# Sudo auth -auth() { - echo "$sudopass" | sudo -S -k $* +#!/bin/bash +E='echo -e' +e='echo -en' +trap "R;exit" 2 +ESC=$($e "\e") +TPUT() { $e "\e[${1};${2}H"; } +CLEAR() { $e "\ec"; } +CIVIS() { $e "\e[?25l"; } +MARK() { $e "\e[7m"; } +UNMARK() { $e "\e[27m"; } +R() { + CLEAR + stty sane + CLEAR } -export HISTIGNORE='*sudo -S*' -for (( ; ; )); do - sudopass=$(zenity --password) - if [ -z "${sudopass}" ]; then - exit - fi - auth echo "Test sudo password." - if [[ $? == 0 ]]; then - break - fi +HEAD() { + for each in $(seq 1 12); do + $E " \xE2\x94\x82 \xE2\x94\x82" + done + MARK + TPUT 1 5 + $E " Trude's Toolkit " + UNMARK +} +i=0 +CLEAR +CIVIS +NULL=/dev/null +FOOT() { + MARK + TPUT 12 5 + $E " UP \xE2\x86\x91 \xE2\x86\x93 DOWN ENTER - SELECT,NEXT " + UNMARK +} +ARROW() { + IFS= read -s -n1 key 2>/dev/null >&2 + if [[ $key = $ESC ]]; then + read -s -n1 key 2>/dev/null >&2 + if [[ $key = \[ ]]; then + read -s -n1 key 2>/dev/null >&2 + if [[ $key = A ]]; then echo up; fi + if [[ $key = B ]]; then echo dn; fi + fi + fi + if [[ "$key" == "$($e \\x0A)" ]]; then echo enter; fi +} +M0() { + TPUT 4 12 + $e "Switch to Debian testing" +} +M1() { + TPUT 5 12 + $e "Install GNOME" +} +M2() { + TPUT 6 12 + $e "Install DWM" +} +M3() { + TPUT 7 12 + $e "Install Dotfiles" +} +M4() { + TPUT 8 12 + $e "Enable Flatpak support" +} +M5() { + TPUT 9 12 + $e "EXIT " +} +LM=5 +MENU() { for each in $(seq 0 $LM); do M${each}; done; } +POS() { + if [[ $cur == up ]]; then ((i--)); fi + if [[ $cur == dn ]]; then ((i++)); fi + if [[ $i -lt 0 ]]; then i=$LM; fi + if [[ $i -gt $LM ]]; then i=0; fi +} +REFRESH() { + after=$((i + 1)) + before=$((i - 1)) + if [[ $before -lt 0 ]]; then before=$LM; fi + if [[ $after -gt $LM ]]; then after=0; fi + if [[ $j -lt $i ]]; then + UNMARK + M$before + else + UNMARK + M$after + fi + if [[ $after -eq 0 ]] || [ $before -eq $LM ]; then + UNMARK + M$before + M$after + fi + j=$i + UNMARK + M$before + M$after +} +INIT() { + R + HEAD + FOOT + MENU +} +SC() { + REFRESH + MARK + $S + $b + cur=$(ARROW) +} +ES() { + MARK + $e "ENTER = main menu " + $b + read + INIT +} +INIT +while [[ "$O" != " " ]]; do + case $i in + 0) + S=M0 + SC + if [[ $cur == enter ]]; then + R + # Debian testing + sudo cp -f ./debian-sources.list /etc/apt/sources.list + sudo apt update + sudo apt upgrade -y + sudo apt full-upgrade -y + sudo apt autoremove -y + sudo apt autoclean -y + ES + fi + ;; + 1) + S=M1 + SC + if [[ $cur == enter ]]; then + R + # GNOME Install + sudo apt install gnome-core + ES + fi + ;; + 2) + S=M2 + SC + if [[ $cur == enter ]]; then + R + # DWM Install + compile() { + cd programs/$1 + sudo make clean install + cd ../.. + } + + # Install Dependencies + sudo apt install -y xorg picom libx11-dev libxft-dev libxinerama-dev build-essential libxrandr-dev policykit-1-gnome dbus-x11 pipewire-audio wireplumber pipewire-pulse pipewire-alsa network-manager firefox-esr feh scrot dunst + systemctl --user --now enable wireplumber.service + sudo systemctl enable NetworkManager + + # Compile + for program in "dwm" "dmenu" "slock" "st" "tabbed" "dwmblocks"; do + compile $program + done + ES + fi + ;; + 3) + S=M3 + SC + if [[ $cur == enter ]]; then + R + # Dotfiles + sudo apt install htop fzf git wget curl bash-completion + cp -vrf config-files/.* $HOME + cp -vrf config-files/* $HOME + dconf load -f / <./settings.dconf + fc-cache -f + ES + fi + ;; + 4) + S=M4 + SC + if [[ $cur == enter ]]; then + R + # Flatpak + sudo apt install flatpak gnome-software-plugin-flatpak + sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo + flatpak install org.gtk.Gtk3theme.adw-gtk3 org.gtk.Gtk3theme.adw-gtk3-dark + ES + fi + ;; + 5) + S=M5 + SC + if [[ $cur == enter ]]; then + R + exit 0 + fi + ;; + esac + POS done - -if ! command -v zenity; then - auth apt-get install zenity -y -fi - -# Update System -( - auth apt-get update - echo "20" - echo "# Updating distro packages..." - auth apt-get dist-upgrade -y - echo "40" - echo "# Updating installed packages..." - auth apt-get upgrade -y - echo "60" - echo "# Cleaning cache..." - auth apt-get clean - echo "80" - echo "# Removing unused dependencies..." - auth apt-get autoremove -y - echo "100" -) | - zenity --progress --title="Update System" --text="Updating repositories..." --percentage=0 --no-cancel - -# Dotfiles -zenity --question \ - --title="Dotfiles" \ - --text="Apply Trude's configuration files?" - -if [[ $? == 0 ]]; then - ( - auth apt-get install -y htop fzf git wget curl bash-completion - echo "20" - echo "# Copying dotfiles..." - cp -vrf config-files/.* $HOME - echo "40" - cp -vrf config-files/* $HOME - echo "50" - echo "# Configure GNOME/GTK..." - dconf load -f / <./settings.dconf - echo "60" - echo "# Reloading font cache..." - fc-cache -f - echo "100" - ) | - zenity --progress --title="Configuration" --text="Installing common utilities..." --percentage=0 --no-cancel -fi - -# Flatpak -zenity --question \ - --title="Install Apps" \ - --text="Enable Flatpak support?" - -if [[ $? == 0 ]]; then - ( - auth apt-get install -y flatpak - echo "30" - echo "# Install the gnome-software plugin..." - auth apt-get install -y gnome-software-plugin-flatpak - echo "50" - echo "# Add Flathub..." - auth flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo - echo "75" - echo "# Installing Adw GTK3 theme for flatpak apps..." - flatpak install org.gtk.Gtk3theme.adw-gtk3 org.gtk.Gtk3theme.adw-gtk3-dark - echo "100" - ) | - zenity --progress --title="Enabling Flatpak" --text="Installing Flatpak..." --percentage=0 --no-cancel -fi - -# Debian Apps -options=( - FALSE "Install Neovim" - FALSE "Install Zed" - FALSE "Install Ollama" - FALSE "Install GitHub CLI" - FALSE "Install Tailscale" - FALSE "Install Firefox + Adw theme" - FALSE "Install Syncthing" -) -checkbox=$(zenity --list --checklist --height=500 --title="Install Apps" \ - --column="Select" \ - --column="Tasks" "${options[@]}") -readarray -td '|' choices < <(printf '%s' "$checkbox") - -for selection in "${choices[@]}"; do - if [ "$selection" = "Install Neovim" ]; then - ( - auth apt install -y ninja-build gettext cmake unzip curl build-essential - echo "30" - git clone https://github.com/neovim/neovim --depth 1 - echo "50" - cd neovim - git checkout stable - echo "60" - make CMAKE_BUILD_TYPE=RelWithDebInfo - echo "80" - auth make install - cd .. - rm -rf neovim - echo "100" - ) | - zenity --progress --title="Neovim" --text="Installing Neovim..." --percentage=0 --no-cancel - fi - - if [ "$selection" = "Install Zed" ]; then - zenity --notification --window-icon="info" --text="Installing Zed..." - curl https://zed.dev/install.sh | sh - if [[ $? == 0 ]]; then - zenity --notification --window-icon="info" --text="Zed is now installed." - else - zenity --notification --window-icon="error" --text="Zed failed to install." - fi - fi - - if [ "$selection" = "Install Ollama" ]; then - zenity --notification --window-icon="info" --text="Installing Ollama..." - curl -fsSL https://ollama.com/install.sh | auth sh - if [[ $? == 0 ]]; then - zenity --notification --window-icon="info" --text="Ollama is now installed." - else - zenity --notification --window-icon="error" --text="Ollama failed to install." - fi - fi - - if [ "$selection" = "Install GitHub CLI" ]; then - ( - auth apt-get install wget -y - echo "20" - auth mkdir -p -m 755 /etc/apt/keyrings - auth rm -f /etc/apt/sources.list.d/github-cli.list - wget -qO- https://cli.github.com/packages/githubcli-archive-keyring.gpg | auth tee /etc/apt/keyrings/githubcli-archive-keyring.gpg - echo "40" - auth chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg - echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | auth tee /etc/apt/sources.list.d/github-cli.list - auth apt-get update - echo "60" - auth apt-get install gh -y - echo "100" - ) | - zenity --progress --title="GitHub CLI" --text="Installing GitHub CLI..." --percentage=0 --no-cancel - fi - - if [ "$selection" = "Install Tailscale" ]; then - ( - curl -fsSL https://tailscale.com/install.sh | sh - echo "80" - auth tailscale up - echo "100" - ) | - zenity --progress --title="Tailscale" --text="Installing Tailscale..." --percentage=0 --no-cancel - fi - - if [ "$selection" = "Install Firefox + Adw theme" ]; then - ( - auth apt install -y firefox-esr - echo "60" - firefox & - sleep 5 - echo "80" - echo "# Applying Adw theme..." - curl -s -o- https://raw.githubusercontent.com/rafaelmardojai/firefox-gnome-theme/master/scripts/install-by-curl.sh | bash - echo "100" - ) | - zenity --progress --title="Firefox" --text="Installing Firefox..." --percentage=0 --no-cancel - fi - - if [ "$selection" = "Install Syncthing" ]; then - zenity --notification --window-icon="info" --text="Installing Syncthing..." - sudo apt install -y syncthing - if [[ $? == 0 ]]; then - zenity --notification --window-icon="info" --text="Syncthing is now installed." - else - zenity --notification --window-icon="error" --text="Syncthing failed to install." - fi - fi -done - -# Flatpak Apps -if command -v flatpak; then - options=( - FALSE "io.github.mrvladus.List" "Errands (Tasks)" - TRUE "io.gitlab.news_flash.NewsFlash" "Newsflash (RSS)" - FALSE "org.gnome.gitlab.somas.Apostrophe" "Apostrophe (Markdown Editor)" - TRUE "org.gnome.World.Secrets" "Secrets (Password manager)" - FALSE "org.gnome.Polari" "Polari (IRC)" - TRUE "org.gnome.Fractal" "Fractal (Matrix)" - TRUE "so.libdb.dissent" "Dissent (Discord)" - TRUE "io.gitlab.adhami3310.Impression" "Impression (Disk image creator)" - FALSE "org.gnome.Builder" "Builder (IDE)" - FALSE "org.gnome.design.AppIconPreview" "App Icon Preview" - FALSE "org.gnome.design.IconLibrary" "Icon Library" - FALSE "org.gnome.design.Palette" "Color Palette" - FALSE "org.gnome.design.SymbolicPreview" "Symbolic Preview" - FALSE "org.gnome.design.Typography" "Typography" - FALSE "re.sonny.Workbench" "Workbench" - TRUE "org.prismlauncher.PrismLauncher" "Prism Launcher" - TRUE "md.obsidian.Obsidian" "Obsidian" - ) - checkbox=$(zenity --list --checklist --width=800 --height=600 \ - --title="Install Apps" \ - --column="Select" \ - --column="App ID" \ - --column="App Name" "${options[@]}") - readarray -td '|' choices < <(printf '%s' "$checkbox") - - declare -i app_counter=0 - declare -i app_total="${#choices[@]}" - - for app in "${choices[@]}"; do - app_counter+=1 - echo "Installing $app ($app_counter/$app_total)..." - zenity --notification --icon="info" --text="Installing $app ($app_counter/$app_total)..." - flatpak install -y flathub $app - if [[ $? == 0 ]]; then - zenity --notification --icon="info" --text="$app is now installed." - else - zenity --notification --icon="error" --text="$app failed to install." - fi - done -fi diff --git a/install2.sh b/install2.sh deleted file mode 100755 index 03dba52a..00000000 --- a/install2.sh +++ /dev/null @@ -1,209 +0,0 @@ -#!/bin/bash -E='echo -e' -e='echo -en' -trap "R;exit" 2 -ESC=$($e "\e") -TPUT() { $e "\e[${1};${2}H"; } -CLEAR() { $e "\ec"; } -CIVIS() { $e "\e[?25l"; } -MARK() { $e "\e[7m"; } -UNMARK() { $e "\e[27m"; } -R() { - CLEAR - stty sane - CLEAR -} -HEAD() { - for each in $(seq 1 12); do - $E " \xE2\x94\x82 \xE2\x94\x82" - done - MARK - TPUT 1 5 - $E " Trude's Toolkit " - UNMARK -} -i=0 -CLEAR -CIVIS -NULL=/dev/null -FOOT() { - MARK - TPUT 12 5 - $E " UP \xE2\x86\x91 \xE2\x86\x93 DOWN ENTER - SELECT,NEXT " - UNMARK -} -ARROW() { - IFS= read -s -n1 key 2>/dev/null >&2 - if [[ $key = $ESC ]]; then - read -s -n1 key 2>/dev/null >&2 - if [[ $key = \[ ]]; then - read -s -n1 key 2>/dev/null >&2 - if [[ $key = A ]]; then echo up; fi - if [[ $key = B ]]; then echo dn; fi - fi - fi - if [[ "$key" == "$($e \\x0A)" ]]; then echo enter; fi -} -M0() { - TPUT 4 12 - $e "Switch to Debian testing" -} -M1() { - TPUT 5 12 - $e "Install GNOME" -} -M2() { - TPUT 6 12 - $e "Install DWM" -} -M3() { - TPUT 7 12 - $e "Install Dotfiles" -} -M4() { - TPUT 8 12 - $e "Enable Flatpak support" -} -M5() { - TPUT 9 12 - $e "EXIT " -} -LM=5 -MENU() { for each in $(seq 0 $LM); do M${each}; done; } -POS() { - if [[ $cur == up ]]; then ((i--)); fi - if [[ $cur == dn ]]; then ((i++)); fi - if [[ $i -lt 0 ]]; then i=$LM; fi - if [[ $i -gt $LM ]]; then i=0; fi -} -REFRESH() { - after=$((i + 1)) - before=$((i - 1)) - if [[ $before -lt 0 ]]; then before=$LM; fi - if [[ $after -gt $LM ]]; then after=0; fi - if [[ $j -lt $i ]]; then - UNMARK - M$before - else - UNMARK - M$after - fi - if [[ $after -eq 0 ]] || [ $before -eq $LM ]; then - UNMARK - M$before - M$after - fi - j=$i - UNMARK - M$before - M$after -} -INIT() { - R - HEAD - FOOT - MENU -} -SC() { - REFRESH - MARK - $S - $b - cur=$(ARROW) -} -ES() { - MARK - $e "ENTER = main menu " - $b - read - INIT -} -INIT -while [[ "$O" != " " ]]; do - case $i in - 0) - S=M0 - SC - if [[ $cur == enter ]]; then - R - # Debian testing - sudo cp -f ./debian-sources.list /etc/apt/sources.list - sudo apt update - sudo apt upgrade -y - sudo apt full-upgrade -y - sudo apt autoremove -y - sudo apt autoclean -y - ES - fi - ;; - 1) - S=M1 - SC - if [[ $cur == enter ]]; then - R - # GNOME Install - sudo apt install gnome-core - ES - fi - ;; - 2) - S=M2 - SC - if [[ $cur == enter ]]; then - R - # DWM Install - compile() { - cd programs/$1 - sudo make clean install - cd ../.. - } - - # Install Dependencies - sudo apt install -y xorg picom libx11-dev libxft-dev libxinerama-dev build-essential libxrandr-dev policykit-1-gnome dbus-x11 pipewire-audio wireplumber pipewire-pulse pipewire-alsa network-manager firefox-esr feh scrot dunst - systemctl --user --now enable wireplumber.service - sudo systemctl enable NetworkManager - - # Compile - for program in "dwm" "dmenu" "slock" "st" "tabbed" "dwmblocks"; do - compile $program - done - ES - fi - ;; - 3) - S=M3 - SC - if [[ $cur == enter ]]; then - R - # Dotfiles - sudo apt install htop fzf git wget curl bash-completion - cp -vrf config-files/.* $HOME - cp -vrf config-files/* $HOME - dconf load -f / <./settings.dconf - fc-cache -f - ES - fi - ;; - 4) - S=M4 - SC - if [[ $cur == enter ]]; then - R - # Flatpak - sudo apt install flatpak gnome-software-plugin-flatpak - sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo - flatpak install org.gtk.Gtk3theme.adw-gtk3 org.gtk.Gtk3theme.adw-gtk3-dark - ES - fi - ;; - 5) - S=M5 - SC - if [[ $cur == enter ]]; then - R - exit 0 - fi - ;; - esac - POS -done diff --git a/settings.dconf b/settings.dconf index 662f45b3..1f08cef2 100644 --- a/settings.dconf +++ b/settings.dconf @@ -2,6 +2,20 @@ theme='auto' use-system-font=true +[org/gnome/calculator] +accuracy=9 +angle-units='degrees' +base=10 +button-mode='programming' +number-format='automatic' +show-thousands=false +show-zeroes=false +source-currency='' +source-units='degree' +target-currency='' +target-units='radian' +word-size=64 + [org/gnome/desktop/a11y/interface] high-contrast=false show-status-shapes=false @@ -79,13 +93,20 @@ ask-for-default=false default-search-engine='DuckDuckGo' search-engine-providers=[{'url': <'https://www.bing.com/search?q=%s'>, 'bang': <'!b'>, 'name': <'Bing'>}, {'url': <'https://duckduckgo.com/?q=%s&t=epiphany'>, 'bang': <'!ddg'>, 'name': <'DuckDuckGo'>}, {'url': <'https://www.google.com/search?q=%s'>, 'bang': <'!g'>, 'name': <'Google'>}] -[org/gnome/epiphany/state] -is-maximized=false -window-size=(1809, 1282) - [org/gnome/epiphany/web] show-developer-actions=true +[org/gnome/evince/default] +continuous=true +dual-page=false +dual-page-odd-left=true +enable-spellchecking=true +inverted-colors=false +show-sidebar=true +sidebar-page='thumbnails' +sidebar-size=132 +sizing-mode='automatic' + [org/gnome/evolution-data-server] migrated=true @@ -112,9 +133,13 @@ night-light-temperature=uint32 2410 sleep-inactive-ac-timeout=3600 sleep-inactive-ac-type='nothing' +[org/gnome/settings-daemon/plugins/power] +power-button-action='interactive' +sleep-inactive-ac-type='nothing' + [org/gnome/shell] -enabled-extensions=['caffeine@patapon.info', 'appindicatorsupport@rgcjonas.gmail.com', 'Vitals@CoreCoding.com', 'blur-my-shell@aunetx'] -favorite-apps=['google-chrome.desktop', 'org.gnome.Epiphany.desktop', 'org.gnome.Nautilus.desktop', 'md.obsidian.Obsidian.desktop', 'io.gitlab.news_flash.NewsFlash.desktop', 'org.gnome.Fractal.desktop', 'org.gnome.World.Secrets.desktop', 'org.gnome.Calculator.desktop', 'code.desktop', 'org.gnome.Console.desktop', 'org.gnome.Software.desktop', 'net.lutris.Lutris.desktop', 'org.prismlauncher.PrismLauncher.desktop'] +enabled-extensions=['caffeine@patapon.info', 'appindicatorsupport@rgcjonas.gmail.com', 'Vitals@CoreCoding.com', 'logowidget@github.com.howbea', 'gtk4-ding@smedius.gitlab.com', 'blur-my-shell@aunetx'] +favorite-apps=['google-chrome.desktop', 'org.gnome.Epiphany.desktop', 'org.gnome.Nautilus.desktop', 'md.obsidian.Obsidian.desktop', 'io.gitlab.news_flash.NewsFlash.desktop', 'org.gnome.Fractal.desktop', 'org.gnome.World.Secrets.desktop', 'org.gnome.Calculator.desktop', 'code.desktop', 'org.gnome.Console.desktop', 'org.gnome.SystemMonitor.desktop', 'org.gnome.Software.desktop', 'net.lutris.Lutris.desktop', 'org.prismlauncher.PrismLauncher.desktop'] last-selected-power-profile='performance' welcome-dialog-last-shown-version='43.9' @@ -157,10 +182,6 @@ hot-sensors=['_memory_usage_', '_processor_usage_', '__temperature_max__'] icon-style=1 use-higher-precision=false -[org/gnome/software] -first-run=false -show-only-verified-apps=false - [org/gnome/system/location] enabled=true