From c54836c2865b0f63a384ee785b0b561ea09a4d73 Mon Sep 17 00:00:00 2001 From: Luca Pattocchio Date: Wed, 8 Oct 2025 11:05:05 +0200 Subject: [PATCH 01/22] Update signal installation --- install/desktop/app-signal.sh | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/install/desktop/app-signal.sh b/install/desktop/app-signal.sh index be1637c5a..4acc1defe 100644 --- a/install/desktop/app-signal.sh +++ b/install/desktop/app-signal.sh @@ -1,9 +1,10 @@ #!/bin/bash -wget -qO- https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor >signal-desktop-keyring.gpg -cat signal-desktop-keyring.gpg | sudo tee /usr/share/keyrings/signal-desktop-keyring.gpg >/dev/null -echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main' | - sudo tee /etc/apt/sources.list.d/signal-xenial.list +wget -O- https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor > signal-desktop-keyring.gpg; +cat signal-desktop-keyring.gpg | sudo tee /usr/share/keyrings/signal-desktop-keyring.gpg > /dev/null +wget -O signal-desktop.sources https://updates.signal.org/static/desktop/apt/signal-desktop.sources; +cat signal-desktop.sources | sudo tee /etc/apt/sources.list.d/signal-desktop.sources > /dev/null rm signal-desktop-keyring.gpg + sudo apt update sudo apt install -y signal-desktop From 8f2afa39fcba1f4e0ec55c54e27873471083184d Mon Sep 17 00:00:00 2001 From: Luca Pattocchio Date: Thu, 9 Oct 2025 22:30:41 +0200 Subject: [PATCH 02/22] Update uninstall script to remove Neovim files --- uninstall/app-neovim.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/uninstall/app-neovim.sh b/uninstall/app-neovim.sh index 787bb67b0..927058438 100644 --- a/uninstall/app-neovim.sh +++ b/uninstall/app-neovim.sh @@ -1,6 +1,7 @@ #!/bin/bash -sudo apt purge -y neovim neovim-runtime +sudo rm /usr/local/bin/nvim +sudo rm -r /usr/local/share/nvim/ rm ~/.local/share/applications/Neovim.desktop rm -rf ~/.config/nvim rm -rf ~/.local/share/nvim From a30c2dadb744a80aa5d177f6d6438b78b395f73d Mon Sep 17 00:00:00 2001 From: Luca Pattocchio Date: Sat, 25 Oct 2025 13:35:39 +0200 Subject: [PATCH 03/22] Prevents keyring duplication in vscode installation Co-Authored by @neidiom --- install/desktop/app-vscode.sh | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/install/desktop/app-vscode.sh b/install/desktop/app-vscode.sh index 15188d9bf..e5258a860 100644 --- a/install/desktop/app-vscode.sh +++ b/install/desktop/app-vscode.sh @@ -1,11 +1,13 @@ #!/bin/bash -cd /tmp -wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor >packages.microsoft.gpg -sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg -echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" | sudo tee /etc/apt/sources.list.d/vscode.list >/dev/null -rm -f packages.microsoft.gpg -cd - +if [ ! -f /etc/apt/keyrings/packages.microsoft.gpg ] || [ ! -f /usr/share/keyrings/microsoft.gpg ]; then + cd /tmp + wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor >packages.microsoft.gpg + sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg + echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" | sudo tee /etc/apt/sources.list.d/vscode.list >/dev/null + rm -f packages.microsoft.gpg + cd - +fi sudo apt update -y sudo apt install -y code @@ -14,4 +16,4 @@ mkdir -p ~/.config/Code/User cp ~/.local/share/omakub/configs/vscode.json ~/.config/Code/User/settings.json # Install default supported themes -code --install-extension enkia.tokyo-night +code --install-extension enkia.tokyo-night \ No newline at end of file From c48b132149961d32c2bda097a0a3849266030846 Mon Sep 17 00:00:00 2001 From: Luca Pattocchio Date: Sat, 25 Oct 2025 14:45:17 +0200 Subject: [PATCH 04/22] Move pipx installation into libraries --- install/desktop/set-gnome-extensions.sh | 2 +- install/terminal/libraries.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/install/desktop/set-gnome-extensions.sh b/install/desktop/set-gnome-extensions.sh index 450c0f6ca..bc04e6b5c 100644 --- a/install/desktop/set-gnome-extensions.sh +++ b/install/desktop/set-gnome-extensions.sh @@ -1,6 +1,6 @@ #!/bin/bash -sudo apt install -y gnome-shell-extension-manager pipx +sudo apt install -y gnome-shell-extension-manager pipx install gnome-extensions-cli --system-site-packages # Turn off default Ubuntu extensions diff --git a/install/terminal/libraries.sh b/install/terminal/libraries.sh index 01e2346f6..7621b2fb6 100644 --- a/install/terminal/libraries.sh +++ b/install/terminal/libraries.sh @@ -1,7 +1,7 @@ #!/bin/bash sudo apt install -y \ - build-essential pkg-config autoconf bison clang rustc \ + build-essential pkg-config autoconf bison clang rustc pipx \ libssl-dev libreadline-dev zlib1g-dev libyaml-dev libreadline-dev libncurses5-dev libffi-dev libgdbm-dev libjemalloc2 \ libvips imagemagick libmagickwand-dev mupdf mupdf-tools gir1.2-gtop-2.0 gir1.2-clutter-1.0 \ redis-tools sqlite3 libsqlite3-0 libmysqlclient-dev libpq-dev postgresql-client postgresql-client-common From a506e8ba48194dcdc7c028204387d25d8914f620 Mon Sep 17 00:00:00 2001 From: Luca Pattocchio Date: Sat, 25 Oct 2025 14:46:04 +0200 Subject: [PATCH 05/22] Use pipx for tldr installation --- install/terminal/apps-terminal.sh | 2 +- install/terminal/tldr.sh | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 install/terminal/tldr.sh diff --git a/install/terminal/apps-terminal.sh b/install/terminal/apps-terminal.sh index 9c66c80ec..5c9c5a44d 100644 --- a/install/terminal/apps-terminal.sh +++ b/install/terminal/apps-terminal.sh @@ -1,3 +1,3 @@ #!/bin/bash -sudo apt install -y fzf ripgrep bat eza zoxide plocate apache2-utils fd-find tldr +sudo apt install -y fzf ripgrep bat eza zoxide plocate apache2-utils fd-find diff --git a/install/terminal/tldr.sh b/install/terminal/tldr.sh new file mode 100644 index 000000000..9e85785be --- /dev/null +++ b/install/terminal/tldr.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +# Install tldr for simplified man pages. See https://tldr.sh/ +pipx install tldr \ No newline at end of file From 1f09e70aca725929aaeaa8b3797cf00f8bef4fc6 Mon Sep 17 00:00:00 2001 From: Luca Pattocchio Date: Sat, 25 Oct 2025 14:52:55 +0200 Subject: [PATCH 06/22] Removed Open with Alacritty option on Nautilus --- install/desktop/set-alacritty-default.sh | 71 +----------------------- 1 file changed, 1 insertion(+), 70 deletions(-) diff --git a/install/desktop/set-alacritty-default.sh b/install/desktop/set-alacritty-default.sh index 7169fab7d..1475322ea 100644 --- a/install/desktop/set-alacritty-default.sh +++ b/install/desktop/set-alacritty-default.sh @@ -1,73 +1,4 @@ #!/usr/bin/env sh # Make alacritty default terminal emulator -sudo update-alternatives --set x-terminal-emulator /usr/bin/alacritty - -# Adding alacritty to nautilus contextual menu requires the python wrapper for the libraries -sudo apt install -y python3-nautilus -mkdir -p ~/.local/share/nautilus-python/extensions/ - -cat > ~/.local/share/nautilus-python/extensions/open-alacritty.py < None: - filename = unquote(file.get_uri()[7:]) - - os.chdir(filename) - os.system("alacritty") - - def menu_activate_cb( - self, - menu: Nautilus.MenuItem, - file: Nautilus.FileInfo, - ) -> None: - self._open_terminal(file) - - def menu_background_activate_cb( - self, - menu: Nautilus.MenuItem, - file: Nautilus.FileInfo, - ) -> None: - self._open_terminal(file) - - def get_file_items( - self, - files: List[Nautilus.FileInfo], - ) -> List[Nautilus.MenuItem]: - if len(files) != 1: - return [] - - file = files[0] - if not file.is_directory() or file.get_uri_scheme() != "file": - return [] - - item = Nautilus.MenuItem( - name="NautilusPython::openterminal_file_item", - label="Open in Alacritty", - tip="Open Alacritty In %s" % file.get_name(), - ) - item.connect("activate", self.menu_activate_cb, file) - - return [ - item, - ] - - def get_background_items( - self, - current_folder: Nautilus.FileInfo, - ) -> List[Nautilus.MenuItem]: - item = Nautilus.MenuItem( - name="NautilusPython::openterminal_file_item2", - label="Open in Alacritty", - tip="Open Alacritty In %s" % current_folder.get_name(), - ) - item.connect("activate", self.menu_background_activate_cb, current_folder) - - return [ - item, - ] -TECHNICALLYNOTACONFIGSOHEREDOCCEDITIS +sudo update-alternatives --set x-terminal-emulator /usr/bin/alacritty \ No newline at end of file From 1bab840c8e2e6f948e093977e1ba1a99d621e8f4 Mon Sep 17 00:00:00 2001 From: Luca Pattocchio Date: Sat, 25 Oct 2025 15:01:33 +0200 Subject: [PATCH 07/22] Replace Flatpak installation with direct download and installation of Obsidian --- install/desktop/app-obsidian.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/install/desktop/app-obsidian.sh b/install/desktop/app-obsidian.sh index 90c127572..ab994b198 100644 --- a/install/desktop/app-obsidian.sh +++ b/install/desktop/app-obsidian.sh @@ -1,5 +1,9 @@ #!/bin/bash # Obsidian is a multi-platform note taking application. See https://obsidian.md -gum spin --spinner meter --title "Obsidian installation about to start. It may take up to 20 minutes on some systems!" -- sleep 3 -flatpak install -y flathub md.obsidian.Obsidian +cd /tmp +OBSIDIAN_VERSION=$(curl -s https://api.github.com/repos/obsidianmd/obsidian-releases/releases/latest | grep tag_name | cut -d '"' -f 4) +wget -O obsidian.deb "https://github.com/obsidianmd/obsidian-releases/releases/download/${OBSIDIAN_VERSION}/Obsidian_${OBSIDIAN_VERSION}_amd64.deb" +sudo apt install -y ./obsidian.deb +rm obsidian.deb +cd - From 31441778d88847c124ca94fd3e9e68216e5210ea Mon Sep 17 00:00:00 2001 From: Luca Pattocchio Date: Sat, 25 Oct 2025 15:01:39 +0200 Subject: [PATCH 08/22] Replace snap installation of Pinta with Flatpak installation --- install/desktop/app-pinta.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install/desktop/app-pinta.sh b/install/desktop/app-pinta.sh index a5aab4ee1..f6d1e13e7 100644 --- a/install/desktop/app-pinta.sh +++ b/install/desktop/app-pinta.sh @@ -1,4 +1,4 @@ #!/bin/bash -# FIXME: Get this out of snap -sudo snap install pinta +# Pinta is a simple drawing and image editing program. See https://www.pinta-project.com/ +flatpak install -y flathub com.github.PintaProject.Pinta \ No newline at end of file From fd862e14f8b5c64089a66b8b45d9d590d9f90bd3 Mon Sep 17 00:00:00 2001 From: Luca Pattocchio Date: Sat, 25 Oct 2025 15:03:52 +0200 Subject: [PATCH 09/22] Refactor Typora installation to use official repository and keyring --- install/desktop/app-typora.sh | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/install/desktop/app-typora.sh b/install/desktop/app-typora.sh index 703a2bf75..85e1a1ac2 100644 --- a/install/desktop/app-typora.sh +++ b/install/desktop/app-typora.sh @@ -1,20 +1,11 @@ #!/bin/bash -# Temporarily switch away from using Typora repo which is broken. -# -# wget -qO - https://typora.io/linux/public-key.asc | sudo tee /etc/apt/trusted.gpg.d/typora.asc >/dev/null || true -# -# sudo add-apt-repository -y 'deb https://typora.io/linux ./' -# sudo add-apt-repository -y 'deb https://typora.io/linux ./' -# sudo apt update -y -# sudo apt install -y typora - -# Install with db -cd /tmp -wget -O typora.deb "https://downloads.typora.io/linux/typora_1.10.8_amd64.deb" -sudo apt install -y /tmp/typora.deb -rm typora.deb -cd - +# Typora is a markdown editor and reader. See https://typora.io/ +sudo mkdir -p /etc/apt/keyrings +curl -fsSL https://downloads.typora.io/typora.gpg | sudo tee /etc/apt/keyrings/typora.gpg > /dev/null +echo "deb [signed-by=/etc/apt/keyrings/typora.gpg] https://downloads.typora.io/linux ./" | sudo tee /etc/apt/sources.list.d/typora.list +sudo apt update +sudo apt install typora -y # Add iA Typora theme mkdir -p ~/.config/Typora/themes From 900fe04dff249dea96a08aba5d3f2db2383a782a Mon Sep 17 00:00:00 2001 From: Luca Pattocchio Date: Sat, 25 Oct 2025 15:05:43 +0200 Subject: [PATCH 10/22] Update Gum version to 0.17.0 for improved functionality --- install/terminal/required/app-gum.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/terminal/required/app-gum.sh b/install/terminal/required/app-gum.sh index 0fc0443f3..98088c96b 100644 --- a/install/terminal/required/app-gum.sh +++ b/install/terminal/required/app-gum.sh @@ -2,7 +2,7 @@ # Gum is used for the Omakub commands for tailoring Omakub after the initial install cd /tmp -GUM_VERSION="0.14.3" # Use known good version +GUM_VERSION="0.17.0" wget -qO gum.deb "https://github.com/charmbracelet/gum/releases/download/v${GUM_VERSION}/gum_${GUM_VERSION}_amd64.deb" sudo apt-get install -y --allow-downgrades ./gum.deb rm gum.deb From 12546b20bbec1b07b2d08cdf879e3927a4e29722 Mon Sep 17 00:00:00 2001 From: Luca Pattocchio Date: Sat, 25 Oct 2025 15:17:59 +0200 Subject: [PATCH 11/22] Move gir1 installation into gnome-extensions step --- install/desktop/set-gnome-extensions.sh | 2 +- install/terminal/libraries.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/install/desktop/set-gnome-extensions.sh b/install/desktop/set-gnome-extensions.sh index bc04e6b5c..82e9b2cf2 100644 --- a/install/desktop/set-gnome-extensions.sh +++ b/install/desktop/set-gnome-extensions.sh @@ -1,6 +1,6 @@ #!/bin/bash -sudo apt install -y gnome-shell-extension-manager +sudo apt install -y gnome-shell-extension-manager gir1.2-gtop-2.0 gir1.2-clutter-1.0 pipx install gnome-extensions-cli --system-site-packages # Turn off default Ubuntu extensions diff --git a/install/terminal/libraries.sh b/install/terminal/libraries.sh index 7621b2fb6..631400d4d 100644 --- a/install/terminal/libraries.sh +++ b/install/terminal/libraries.sh @@ -3,5 +3,5 @@ sudo apt install -y \ build-essential pkg-config autoconf bison clang rustc pipx \ libssl-dev libreadline-dev zlib1g-dev libyaml-dev libreadline-dev libncurses5-dev libffi-dev libgdbm-dev libjemalloc2 \ - libvips imagemagick libmagickwand-dev mupdf mupdf-tools gir1.2-gtop-2.0 gir1.2-clutter-1.0 \ + libvips imagemagick libmagickwand-dev mupdf mupdf-tools \ redis-tools sqlite3 libsqlite3-0 libmysqlclient-dev libpq-dev postgresql-client postgresql-client-common From 9a52810a547f88ff7c00af96a35a491cc432ca4a Mon Sep 17 00:00:00 2001 From: Luca Pattocchio Date: Sat, 25 Oct 2025 15:23:23 +0200 Subject: [PATCH 12/22] Replace Flatpak uninstallation of Obsidian with APT removal --- uninstall/app-obsidian.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uninstall/app-obsidian.sh b/uninstall/app-obsidian.sh index ab00ba3a0..d245a3ef0 100644 --- a/uninstall/app-obsidian.sh +++ b/uninstall/app-obsidian.sh @@ -1,3 +1,3 @@ #!/bin/bash -flatpak uninstall -y flathub md.obsidian.Obsidian +sudo apt remove --purge -y obsidian From 836ea3ec4fde3ec8e5823d0238b2cdfb31aef6da Mon Sep 17 00:00:00 2001 From: Luca Pattocchio Date: Sat, 25 Oct 2025 15:23:28 +0200 Subject: [PATCH 13/22] Replace snap removal of Pinta with Flatpak uninstallation --- uninstall/app-pinta.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uninstall/app-pinta.sh b/uninstall/app-pinta.sh index 121b8991c..a596c2b26 100644 --- a/uninstall/app-pinta.sh +++ b/uninstall/app-pinta.sh @@ -1,3 +1,3 @@ #!/bin/bash -sudo snap remove pinta +flatpak uninstall -y flathub com.github.PintaProject.Pinta From 8eb73fef193b002551fefe75d0701a5ecb9396bc Mon Sep 17 00:00:00 2001 From: Luca Pattocchio Date: Sat, 25 Oct 2025 15:48:12 +0200 Subject: [PATCH 14/22] Fix typo --- install/desktop/app-obsidian.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/desktop/app-obsidian.sh b/install/desktop/app-obsidian.sh index ab994b198..4e7aba6c3 100644 --- a/install/desktop/app-obsidian.sh +++ b/install/desktop/app-obsidian.sh @@ -3,7 +3,7 @@ # Obsidian is a multi-platform note taking application. See https://obsidian.md cd /tmp OBSIDIAN_VERSION=$(curl -s https://api.github.com/repos/obsidianmd/obsidian-releases/releases/latest | grep tag_name | cut -d '"' -f 4) -wget -O obsidian.deb "https://github.com/obsidianmd/obsidian-releases/releases/download/${OBSIDIAN_VERSION}/Obsidian_${OBSIDIAN_VERSION}_amd64.deb" +wget -O obsidian.deb "https://github.com/obsidianmd/obsidian-releases/releases/download/${OBSIDIAN_VERSION}/obsidian_${OBSIDIAN_VERSION}_amd64.deb" sudo apt install -y ./obsidian.deb rm obsidian.deb cd - From 8a03832c01198572a3495e786d8ae6bb90b99a88 Mon Sep 17 00:00:00 2001 From: Luca Pattocchio Date: Sat, 25 Oct 2025 16:42:18 +0200 Subject: [PATCH 15/22] Simplify 1Password installation by using direct download instead of repository setup --- install/desktop/optional/app-1password.sh | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/install/desktop/optional/app-1password.sh b/install/desktop/optional/app-1password.sh index 61c501e98..3ac8b9ad3 100755 --- a/install/desktop/optional/app-1password.sh +++ b/install/desktop/optional/app-1password.sh @@ -1,20 +1,8 @@ #!/bin/bash # Install 1password and 1password-cli single script -curl -sS https://downloads.1password.com/linux/keys/1password.asc | \ -sudo gpg --dearmor --output /usr/share/keyrings/1password-archive-keyring.gpg - -# Add apt repository -echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/1password-archive-keyring.gpg] https://downloads.1password.com/linux/debian/$(dpkg --print-architecture) stable main" | -sudo tee /etc/apt/sources.list.d/1password.list - -# Add the debsig-verify policy -sudo mkdir -p /etc/debsig/policies/AC2D62742012EA22/ -curl -sS https://downloads.1password.com/linux/debian/debsig/1password.pol | \ -sudo tee /etc/debsig/policies/AC2D62742012EA22/1password.pol -sudo mkdir -p /usr/share/debsig/keyrings/AC2D62742012EA22 -curl -sS https://downloads.1password.com/linux/keys/1password.asc | \ -sudo gpg --dearmor --output /usr/share/debsig/keyrings/AC2D62742012EA22/debsig.gpg - -# Install 1Password & 1password-cli -sudo apt update && sudo apt install -y 1password 1password-cli +cd /tmp +wget https://downloads.1password.com/linux/debian/amd64/stable/1password-latest.deb -O 1password.deb +sudo apt install ./1password.deb -y +rm 1password.deb +cd - \ No newline at end of file From 188b738a0a6687466cd35f5472125614dc07c7cb Mon Sep 17 00:00:00 2001 From: Luca Pattocchio Date: Sat, 25 Oct 2025 17:07:33 +0200 Subject: [PATCH 16/22] Update Obsidian installation script to use correct version retrieval method Fix typo --- install/desktop/app-obsidian.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install/desktop/app-obsidian.sh b/install/desktop/app-obsidian.sh index 4e7aba6c3..50a69ed40 100644 --- a/install/desktop/app-obsidian.sh +++ b/install/desktop/app-obsidian.sh @@ -2,8 +2,8 @@ # Obsidian is a multi-platform note taking application. See https://obsidian.md cd /tmp -OBSIDIAN_VERSION=$(curl -s https://api.github.com/repos/obsidianmd/obsidian-releases/releases/latest | grep tag_name | cut -d '"' -f 4) -wget -O obsidian.deb "https://github.com/obsidianmd/obsidian-releases/releases/download/${OBSIDIAN_VERSION}/obsidian_${OBSIDIAN_VERSION}_amd64.deb" +OBSIDIAN_VERSION=$(curl -s https://api.github.com/repos/obsidianmd/obsidian-releases/releases/latest | grep -Po '"tag_name": "v\K[^"]*') +wget -O obsidian.deb "https://github.com/obsidianmd/obsidian-releases/releases/latest/download/obsidian_${OBSIDIAN_VERSION}_amd64.deb" sudo apt install -y ./obsidian.deb rm obsidian.deb cd - From 41064e29c7fdcbe81db68b48528c5004ae26e8b6 Mon Sep 17 00:00:00 2001 From: Luca Pattocchio Date: Sun, 26 Oct 2025 08:03:30 +0100 Subject: [PATCH 17/22] Use 'apt' instead of 'apt-get' for 1Password uninstallation --- uninstall/app-1password.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uninstall/app-1password.sh b/uninstall/app-1password.sh index 234d8fbee..f57f0b9a6 100755 --- a/uninstall/app-1password.sh +++ b/uninstall/app-1password.sh @@ -4,4 +4,4 @@ sudo rm /etc/apt/sources.list.d/1password.list sudo rm /usr/share/keyrings/1password-archive-keyring.gpg sudo rm /usr/share/debsig/keyrings/AC2D62742012EA22/debsig.gpg sudo rm -r /etc/debsig/policies/AC2D62742012EA22/ -sudo apt-get remove --purge -y 1password 1password-cli +sudo apt remove --purge -y 1password 1password-cli From 4f245bcab034af6984f3c5d907929efcb4184706 Mon Sep 17 00:00:00 2001 From: Luca Pattocchio Date: Sun, 26 Oct 2025 13:37:42 +0100 Subject: [PATCH 18/22] Add migration script to force upgrade gum to version 0.17.0 --- migrations/1761481687.sh | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 migrations/1761481687.sh diff --git a/migrations/1761481687.sh b/migrations/1761481687.sh new file mode 100644 index 000000000..f366d2a03 --- /dev/null +++ b/migrations/1761481687.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +# Force upgrade to gum 0.17.0 to fix issues with older versions +cd /tmp +GUM_VERSION="0.17.0" +wget -qO gum.deb "https://github.com/charmbracelet/gum/releases/download/v${GUM_VERSION}/gum_${GUM_VERSION}_amd64.deb" +sudo apt-get install -y --allow-downgrades ./gum.deb +rm gum.deb +cd - \ No newline at end of file From 0a0082fdf03ec76afb5db344d011238fe41d8ce1 Mon Sep 17 00:00:00 2001 From: Luca Pattocchio Date: Mon, 27 Oct 2025 23:48:33 +0100 Subject: [PATCH 19/22] Refactor applications installation scripts to use a more robust method --- install/desktop/app-signal.sh | 13 ++++++++----- install/desktop/app-typora.sh | 10 +++++++--- install/desktop/app-vscode.sh | 2 +- install/desktop/optional/app-brave.sh | 10 +++++++--- install/desktop/optional/app-spotify.sh | 10 +++++++--- install/desktop/optional/app-windsurf.sh | 9 ++++++--- install/desktop/ulauncher.sh | 10 ++++------ install/terminal/app-github-cli.sh | 14 +++++++++----- install/terminal/docker.sh | 13 ++++++++----- 9 files changed, 57 insertions(+), 34 deletions(-) diff --git a/install/desktop/app-signal.sh b/install/desktop/app-signal.sh index 4acc1defe..18721a72c 100644 --- a/install/desktop/app-signal.sh +++ b/install/desktop/app-signal.sh @@ -1,10 +1,13 @@ #!/bin/bash -wget -O- https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor > signal-desktop-keyring.gpg; -cat signal-desktop-keyring.gpg | sudo tee /usr/share/keyrings/signal-desktop-keyring.gpg > /dev/null -wget -O signal-desktop.sources https://updates.signal.org/static/desktop/apt/signal-desktop.sources; -cat signal-desktop.sources | sudo tee /etc/apt/sources.list.d/signal-desktop.sources > /dev/null -rm signal-desktop-keyring.gpg +if [ ! -f /etc/apt/sources.list.d/signal-desktop.sources ]; then + [ -f /usr/share/keyrings/signal-desktop-keyring.gpg ] && sudo rm /usr/share/keyrings/signal-desktop-keyring.gpg + wget -O- https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor > signal-desktop-keyring.gpg; + cat signal-desktop-keyring.gpg | sudo tee /usr/share/keyrings/signal-desktop-keyring.gpg > /dev/null + wget -O signal-desktop.sources https://updates.signal.org/static/desktop/apt/signal-desktop.sources; + cat signal-desktop.sources | sudo tee /etc/apt/sources.list.d/signal-desktop.sources > /dev/null + rm signal-desktop-keyring.gpg +fi sudo apt update sudo apt install -y signal-desktop diff --git a/install/desktop/app-typora.sh b/install/desktop/app-typora.sh index 85e1a1ac2..fb1238920 100644 --- a/install/desktop/app-typora.sh +++ b/install/desktop/app-typora.sh @@ -1,9 +1,13 @@ #!/bin/bash # Typora is a markdown editor and reader. See https://typora.io/ -sudo mkdir -p /etc/apt/keyrings -curl -fsSL https://downloads.typora.io/typora.gpg | sudo tee /etc/apt/keyrings/typora.gpg > /dev/null -echo "deb [signed-by=/etc/apt/keyrings/typora.gpg] https://downloads.typora.io/linux ./" | sudo tee /etc/apt/sources.list.d/typora.list +if [ ! -f /etc/apt/sources.list.d/typora.list ]; then + [ -f /etc/apt/keyrings/typora.gpg ] && sudo rm /etc/apt/keyrings/typora.gpg + sudo mkdir -p /etc/apt/keyrings + curl -fsSL https://downloads.typora.io/typora.gpg | sudo tee /etc/apt/keyrings/typora.gpg > /dev/null + echo "deb [signed-by=/etc/apt/keyrings/typora.gpg] https://downloads.typora.io/linux ./" | sudo tee /etc/apt/sources.list.d/typora.list +fi + sudo apt update sudo apt install typora -y diff --git a/install/desktop/app-vscode.sh b/install/desktop/app-vscode.sh index e5258a860..30e9ad265 100644 --- a/install/desktop/app-vscode.sh +++ b/install/desktop/app-vscode.sh @@ -9,7 +9,7 @@ if [ ! -f /etc/apt/keyrings/packages.microsoft.gpg ] || [ ! -f /usr/share/keyrin cd - fi -sudo apt update -y +sudo apt update sudo apt install -y code mkdir -p ~/.config/Code/User diff --git a/install/desktop/optional/app-brave.sh b/install/desktop/optional/app-brave.sh index 971dde1eb..5c9fe5e6c 100644 --- a/install/desktop/optional/app-brave.sh +++ b/install/desktop/optional/app-brave.sh @@ -1,6 +1,10 @@ #!/bin/bash -sudo curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg -echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main" | sudo tee /etc/apt/sources.list.d/brave-browser-release.list -sudo apt update -y +if [ ! -f /etc/apt/sources.list.d/brave-browser-release.list ]; then + [ -f /usr/share/keyrings/brave-browser-archive-keyring.gpg ] && sudo rm /usr/share/keyrings/brave-browser-archive-keyring.gpg + sudo curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg + echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main" | sudo tee /etc/apt/sources.list.d/brave-browser-release.list +if + +sudo apt update sudo apt install -y brave-browser diff --git a/install/desktop/optional/app-spotify.sh b/install/desktop/optional/app-spotify.sh index fd667832b..10e444cf5 100644 --- a/install/desktop/optional/app-spotify.sh +++ b/install/desktop/optional/app-spotify.sh @@ -1,7 +1,11 @@ #!/bin/bash # Stream music using https://spotify.com -curl -sS https://download.spotify.com/debian/pubkey_C85668DF69375001.gpg | sudo gpg --dearmor --yes -o /etc/apt/trusted.gpg.d/spotify.gpg -echo "deb [signed-by=/etc/apt/trusted.gpg.d/spotify.gpg] https://repository.spotify.com stable non-free" | sudo tee /etc/apt/sources.list.d/spotify.list -sudo apt update -y +if [ ! -f /etc/apt/sources.list.d/spotify.list ]; then + [ -f /etc/apt/trusted.gpg.d/spotify.gpg ] && sudo rm /etc/apt/trusted.gpg.d/spotify.gpg + curl -sS https://download.spotify.com/debian/pubkey_C85668DF69375001.gpg | sudo gpg --dearmor --yes -o /etc/apt/trusted.gpg.d/spotify.gpg + echo "deb [signed-by=/etc/apt/trusted.gpg.d/spotify.gpg] https://repository.spotify.com stable non-free" | sudo tee /etc/apt/sources.list.d/spotify.list +fi + +sudo apt update sudo apt install -y spotify-client diff --git a/install/desktop/optional/app-windsurf.sh b/install/desktop/optional/app-windsurf.sh index d494d99eb..449a8d4f7 100644 --- a/install/desktop/optional/app-windsurf.sh +++ b/install/desktop/optional/app-windsurf.sh @@ -1,7 +1,10 @@ #!/bin/bash -curl -fsSL "https://windsurf-stable.codeiumdata.com/wVxQEIWkwPUEAGf3/windsurf.gpg" | sudo gpg --dearmor -o /usr/share/keyrings/windsurf-stable-archive-keyring.gpg -echo "deb [signed-by=/usr/share/keyrings/windsurf-stable-archive-keyring.gpg arch=amd64] https://windsurf-stable.codeiumdata.com/wVxQEIWkwPUEAGf3/apt stable main" | sudo tee /etc/apt/sources.list.d/windsurf.list >/dev/null +if [ ! -f /etc/apt/sources.list.d/windsurf.list ]; then + [ -f /usr/share/keyrings/windsurf-stable-archive-keyring.gpg ] && sudo rm /usr/share/keyrings/windsurf-stable-archive-keyring.gpg + curl -fsSL "https://windsurf-stable.codeiumdata.com/wVxQEIWkwPUEAGf3/windsurf.gpg" | sudo gpg --dearmor -o /usr/share/keyrings/windsurf-stable-archive-keyring.gpg + echo "deb [signed-by=/usr/share/keyrings/windsurf-stable-archive-keyring.gpg arch=amd64] https://windsurf-stable.codeiumdata.com/wVxQEIWkwPUEAGf3/apt stable main" | sudo tee /etc/apt/sources.list.d/windsurf.list >/dev/null +fi -sudo apt update -y +sudo apt update sudo apt install -y windsurf diff --git a/install/desktop/ulauncher.sh b/install/desktop/ulauncher.sh index 2e81d9995..064e045f4 100644 --- a/install/desktop/ulauncher.sh +++ b/install/desktop/ulauncher.sh @@ -1,11 +1,9 @@ #!/bin/bash -gpg --keyserver keyserver.ubuntu.com --recv 0xfaf1020699503176 -gpg --export 0xfaf1020699503176 | sudo tee /usr/share/keyrings/ulauncher-archive-keyring.gpg >/dev/null -echo "deb [signed-by=/usr/share/keyrings/ulauncher-archive-keyring.gpg] http://ppa.launchpad.net/agornostal/ulauncher/ubuntu noble main" | sudo tee /etc/apt/sources.list.d/ulauncher-noble.list - -sudo apt update -y -sudo apt install -y ulauncher +sudo add-apt-repository universe -y +sudo add-apt-repository ppa:agornostal/ulauncher -y +sudo apt update +sudo apt install ulauncher -y # Start ulauncher to have it populate config before we overwrite mkdir -p ~/.config/autostart/ diff --git a/install/terminal/app-github-cli.sh b/install/terminal/app-github-cli.sh index 977ecced5..8ca254851 100644 --- a/install/terminal/app-github-cli.sh +++ b/install/terminal/app-github-cli.sh @@ -1,7 +1,11 @@ #!/bin/bash -curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg && - sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg && - echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list >/dev/null && - sudo apt update && - sudo apt install gh -y +if [ ! -f /etc/apt/sources.list.d/github-cli.list ]; then + [ -f /usr/share/keyrings/githubcli-archive-keyring.gpg ] && sudo rm /usr/share/keyrings/githubcli-archive-keyring.gpg + curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg status=none + sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg + echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list >/dev/null +fi + +sudo apt update +sudo apt install gh -y \ No newline at end of file diff --git a/install/terminal/docker.sh b/install/terminal/docker.sh index 6ce108d71..db2694ed9 100644 --- a/install/terminal/docker.sh +++ b/install/terminal/docker.sh @@ -1,13 +1,16 @@ #!/bin/bash # Add the official Docker repo -sudo install -m 0755 -d /etc/apt/keyrings -sudo wget -qO /etc/apt/keyrings/docker.asc https://download.docker.com/linux/ubuntu/gpg -sudo chmod a+r /etc/apt/keyrings/docker.asc -echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null -sudo apt update +if [ ! -f /etc/apt/sources.list.d/docker.list ]; then + [ -f /etc/apt/keyrings/docker.asc ] && sudo rm /etc/apt/keyrings/docker.asc + sudo install -m 0755 -d /etc/apt/keyrings + sudo wget -qO /etc/apt/keyrings/docker.asc https://download.docker.com/linux/ubuntu/gpg + sudo chmod a+r /etc/apt/keyrings/docker.asc + echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list >/dev/null +fi # Install Docker engine and standard plugins +sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras # Give this user privileged Docker access From 26a63d28b6b03b50616ec43a3e5bc6e7146ecf70 Mon Sep 17 00:00:00 2001 From: Luca Pattocchio Date: Tue, 28 Oct 2025 11:14:28 +0100 Subject: [PATCH 20/22] Remove existing Microsoft GPG key before downloading a new one --- install/desktop/app-vscode.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/install/desktop/app-vscode.sh b/install/desktop/app-vscode.sh index 30e9ad265..18f5b1e79 100644 --- a/install/desktop/app-vscode.sh +++ b/install/desktop/app-vscode.sh @@ -1,6 +1,7 @@ #!/bin/bash if [ ! -f /etc/apt/keyrings/packages.microsoft.gpg ] || [ ! -f /usr/share/keyrings/microsoft.gpg ]; then + [ -f /etc/apt/keyrings/packages.microsoft.gpg ] && sudo rm /etc/apt/keyrings/packages.microsoft.gpg cd /tmp wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor >packages.microsoft.gpg sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg From 12221019959456476b30540a7ee9a7262d76b07d Mon Sep 17 00:00:00 2001 From: Luca Pattocchio Date: Tue, 28 Oct 2025 10:04:42 +0100 Subject: [PATCH 21/22] Add fallback to reboot confirmation in desktop installer script --- install/desktop.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/desktop.sh b/install/desktop.sh index 1dbbda66b..dd5ecb6db 100644 --- a/install/desktop.sh +++ b/install/desktop.sh @@ -4,4 +4,4 @@ for installer in ~/.local/share/omakub/install/desktop/*.sh; do source $installer; done # Logout to pickup changes -gum confirm "Ready to reboot for all settings to take effect?" && sudo reboot +gum confirm "Ready to reboot for all settings to take effect?" && sudo reboot || true From c6e833749fd94201648d188e018af16ab7c35a3d Mon Sep 17 00:00:00 2001 From: Luca Pattocchio Date: Tue, 28 Oct 2025 11:26:18 +0100 Subject: [PATCH 22/22] Remove both keyring and sources files after installation in app-signal.sh --- install/desktop/app-signal.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/desktop/app-signal.sh b/install/desktop/app-signal.sh index 18721a72c..924ff0b77 100644 --- a/install/desktop/app-signal.sh +++ b/install/desktop/app-signal.sh @@ -6,7 +6,7 @@ if [ ! -f /etc/apt/sources.list.d/signal-desktop.sources ]; then cat signal-desktop-keyring.gpg | sudo tee /usr/share/keyrings/signal-desktop-keyring.gpg > /dev/null wget -O signal-desktop.sources https://updates.signal.org/static/desktop/apt/signal-desktop.sources; cat signal-desktop.sources | sudo tee /etc/apt/sources.list.d/signal-desktop.sources > /dev/null - rm signal-desktop-keyring.gpg + rm signal-desktop-keyring.gpg signal-desktop.sources fi sudo apt update