From 7d2a110de1438a95131f1a416d6e3f506ed6d464 Mon Sep 17 00:00:00 2001 From: Luca Pattocchio <15154851+Kasui92@users.noreply.github.com> Date: Sat, 18 Jul 2026 17:10:59 +0200 Subject: [PATCH 01/17] upd: remove gaming options --- bin/omakub-install-gaming-minecraft | 13 ------------- bin/omakub-install-gaming-retroarch | 7 ------- bin/omakub-install-gaming-steam | 7 ------- bin/omakub-menu | 24 ++---------------------- bin/omakub-remove-gaming-minecraft | 7 ------- bin/omakub-remove-gaming-retroarch | 8 -------- bin/omakub-remove-gaming-steam | 7 ------- 7 files changed, 2 insertions(+), 71 deletions(-) delete mode 100755 bin/omakub-install-gaming-minecraft delete mode 100755 bin/omakub-install-gaming-retroarch delete mode 100755 bin/omakub-install-gaming-steam delete mode 100755 bin/omakub-remove-gaming-minecraft delete mode 100755 bin/omakub-remove-gaming-retroarch delete mode 100755 bin/omakub-remove-gaming-steam diff --git a/bin/omakub-install-gaming-minecraft b/bin/omakub-install-gaming-minecraft deleted file mode 100755 index 5f7952a99..000000000 --- a/bin/omakub-install-gaming-minecraft +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -# omakub:summary=Install the Minecraft desktop app. - -echo "Installing Minecraft..." - -omakub-pkg-add openjdk-8-jdk - -cd /tmp -wget https://launcher.mojang.com/download/Minecraft.deb -sudo apt install -y ./Minecraft.deb -rm Minecraft.deb -cd - diff --git a/bin/omakub-install-gaming-retroarch b/bin/omakub-install-gaming-retroarch deleted file mode 100755 index 2c963cf86..000000000 --- a/bin/omakub-install-gaming-retroarch +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -# omakub:summary=Install the RetroArch gaming emulator. - -echo "Installing RetroArch..." - -flatpak install -y flathub org.libretro.RetroArch diff --git a/bin/omakub-install-gaming-steam b/bin/omakub-install-gaming-steam deleted file mode 100755 index 54543fb9e..000000000 --- a/bin/omakub-install-gaming-steam +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -# omakub:summary=Install the Steam desktop app. - -echo "Installing Steam..." - -flatpak install -y flathub com.valvesoftware.Steam diff --git a/bin/omakub-menu b/bin/omakub-menu index 5165a35cc..a7e51e0a4 100755 --- a/bin/omakub-menu +++ b/bin/omakub-menu @@ -344,7 +344,7 @@ show_setup_config_menu() { } show_install_menu() { - case $(menu "Install" " Package\n Web App\n TUI\n Service\n Browser\n Utility\n Style\n󰵮 Development\n Editor\n Terminal\n󱚤 AI\n Gaming") in + case $(menu "Install" " Package\n Web App\n TUI\n Service\n Browser\n Utility\n Style\n󰵮 Development\n Editor\n Terminal\n󱚤 AI") in *Package*) terminal omakub-pkg-install ;; *Web*) present_terminal omakub-webapp-install ;; *TUI*) present_terminal omakub-tui-install ;; @@ -356,7 +356,6 @@ show_install_menu() { *Editor*) show_install_editor_menu ;; *Terminal*) show_install_terminal_menu ;; *AI*) show_install_ai_menu ;; - *Gaming*) show_install_gaming_menu ;; *) show_main_menu ;; esac } @@ -494,17 +493,8 @@ show_install_ai_menu() { esac } -show_install_gaming_menu() { - case $(menu "Install" " Steam\n RetroArch\n󰍳 Minecraft") in - *Steam*) present_terminal "omakub-install-gaming-steam" ;; - *RetroArch*) present_terminal "omakub-install-gaming-retroarch" ;; - *Minecraft*) present_terminal "omakub-install-gaming-minecraft" ;; - *) show_install_menu ;; - esac -} - show_remove_menu() { - case $(menu "Remove" " Package\n Web App\n TUI\n Style\n Browser\n󰵮 Development\n󱚤 AI\n Gaming\n󰏓 Preinstalls") in + case $(menu "Remove" " Package\n Web App\n TUI\n Style\n Browser\n󰵮 Development\n󱚤 AI\n󰏓 Preinstalls") in *Package*) terminal omakub-pkg-remove ;; *Web*) present_terminal omakub-webapp-remove ;; *TUI*) present_terminal omakub-tui-remove ;; @@ -512,7 +502,6 @@ show_remove_menu() { *Browser*) show_remove_browser_menu ;; *Development*) show_remove_development_menu ;; *AI*) show_remove_ai_menu ;; - *Gaming*) show_remove_gaming_menu ;; *Preinstalls*) present_terminal omakub-remove-preinstalls ;; *) show_main_menu ;; esac @@ -590,15 +579,6 @@ show_remove_ai_menu() { esac } -show_remove_gaming_menu() { - case $(menu "Remove Gaming" " Steam\n RetroArch\n󰍳 Minecraft") in - *Steam*) present_terminal "omakub-remove-gaming-steam" ;; - *RetroArch*) present_terminal "omakub-remove-gaming-retroarch" ;; - *Minecraft*) present_terminal "omakub-remove-gaming-minecraft" ;; - *) show_remove_menu ;; - esac -} - show_update_menu() { local brand_name=$(omakub-branding-name) diff --git a/bin/omakub-remove-gaming-minecraft b/bin/omakub-remove-gaming-minecraft deleted file mode 100755 index 3797f0cb3..000000000 --- a/bin/omakub-remove-gaming-minecraft +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -# omakub:summary=Remove the Minecraft launcher and its packages. - -echo "Removing Minecraft..." - -omakub-pkg-drop openjdk-8-jdk minecraft-launcher diff --git a/bin/omakub-remove-gaming-retroarch b/bin/omakub-remove-gaming-retroarch deleted file mode 100755 index f8a4e4220..000000000 --- a/bin/omakub-remove-gaming-retroarch +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -# omakub:summary=Remove RetroArch via Flatpak. - -echo "Removing RetroArch..." - -flatpak uninstall -y flathub org.libretro.RetroArch - diff --git a/bin/omakub-remove-gaming-steam b/bin/omakub-remove-gaming-steam deleted file mode 100755 index 93f920d23..000000000 --- a/bin/omakub-remove-gaming-steam +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -# omakub:summary=Remove Steam via Flatpak. - -echo "Removing Steam..." - -flatpak uninstall -y com.valvesoftware.Steam From 803673635f995d14af6017c1a2933399398428d5 Mon Sep 17 00:00:00 2001 From: Luca Pattocchio <15154851+Kasui92@users.noreply.github.com> Date: Sat, 18 Jul 2026 17:22:11 +0200 Subject: [PATCH 02/17] upd: remove webapps handler --- AGENTS.md | 2 +- applications/icons/Retroarch.png | Bin 5084 -> 0 bytes bin/omakub | 1 - bin/omakub-install-tailscale | 23 -------- bin/omakub-launch-webapp | 37 ------------ bin/omakub-menu | 21 +++---- bin/omakub-refresh-applications | 3 +- bin/omakub-remove-preinstalls | 1 - bin/omakub-webapp-install | 97 ------------------------------- bin/omakub-webapp-remove | 50 ---------------- bin/omakub-webapp-remove-all | 39 ------------- install/config/gnome/app-grid.sh | 6 +- install/config/gnome/dock.sh | 1 - install/config/gnome/hotkeys.sh | 6 -- install/packaging/all.sh | 1 - install/packaging/webapps.sh | 4 -- 16 files changed, 13 insertions(+), 279 deletions(-) delete mode 100644 applications/icons/Retroarch.png delete mode 100755 bin/omakub-install-tailscale delete mode 100755 bin/omakub-launch-webapp delete mode 100755 bin/omakub-webapp-install delete mode 100755 bin/omakub-webapp-remove delete mode 100755 bin/omakub-webapp-remove-all delete mode 100644 install/packaging/webapps.sh diff --git a/AGENTS.md b/AGENTS.md index 981ca7867..fea3554f0 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -31,7 +31,7 @@ Common prefixes include: Other current prefixes include: -- `branch-`, `brightness-`, `channel-`, `config-`, `debug-`, `dev-`, `first-`, `font-`, `hook-`, `gnome-`, `menu-`, `migrate-`, `notification-`, `npm-`, `reinstall-`, `remove-`, `show-`, `state-`, `sudo-`, `system-`, `transcode-`, `tui-`, `version-`, `webapp-` +- `branch-`, `brightness-`, `channel-`, `config-`, `debug-`, `dev-`, `first-`, `font-`, `hook-`, `gnome-`, `menu-`, `migrate-`, `notification-`, `npm-`, `reinstall-`, `remove-`, `show-`, `state-`, `sudo-`, `system-`, `transcode-`, `tui-`, `version-` # Command Metadata diff --git a/applications/icons/Retroarch.png b/applications/icons/Retroarch.png deleted file mode 100644 index 07b42207212ede626bf2a3c613c644e85135c147..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5084 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 diff --git a/bin/omakub b/bin/omakub index 2f832f66c..d25597188 100755 --- a/bin/omakub +++ b/bin/omakub @@ -61,7 +61,6 @@ GROUP_DESCRIPTIONS[transcode]="Image and video transcoding" GROUP_DESCRIPTIONS[tui]="Terminal UI launchers" GROUP_DESCRIPTIONS[update]="Omabuntu and system updates" GROUP_DESCRIPTIONS[version]="Version and channel information" -GROUP_DESCRIPTIONS[webapp]="Web app launchers" join_words() { local separator="$1" diff --git a/bin/omakub-install-tailscale b/bin/omakub-install-tailscale deleted file mode 100755 index cedb93d20..000000000 --- a/bin/omakub-install-tailscale +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -# omakub:summary=Install the Tailscale mesh VPN service and a web app for the Tailscale Admin Console. -# omakub:requires-sudo=true - -echo "Installing Tailscale..." - -CODENAME=$(. /etc/os-release; echo "$VERSION_CODENAME") - -if [[ ! -f /etc/apt/sources.list.d/tailscale.list ]]; then - [[ -f /etc/apt/trusted.gpg.d/tailscale.gpg ]] && sudo rm /usr/share/keyrings/tailscale-archive-keyring.gpg - curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/$CODENAME.noarmor.gpg | sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null - curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/$CODENAME.tailscale-keyring.list | sudo tee /etc/apt/sources.list.d/tailscale.list >/dev/null -fi - -sudo apt-get update -omakub-pkg-add tailscale - -echo -e "\nStarting Tailscale..." -sudo systemctl enable --now tailscaled.service -sudo tailscale up --accept-routes - -omakub-webapp-install "Tailscale" "https://login.tailscale.com/admin/machines" https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/tailscale-light.png diff --git a/bin/omakub-launch-webapp b/bin/omakub-launch-webapp deleted file mode 100755 index e43070f6c..000000000 --- a/bin/omakub-launch-webapp +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -# omakub:summary=Launch a URL as a web app in the default supported browser. -# omakub:args= - -# omakub-launch-webapp: Launch a web application as a standalone window. -# Usage: omakub-launch-webapp - -if [[ -z $1 || -z $2 ]]; then - echo "Usage: omakub-launch-webapp " >&2 - exit 1 -fi - -APP_URL="$1" -APP_NAME="$2" -APP_ID=$(echo "$APP_NAME" | sed 's/[^a-zA-Z0-9]//g' | tr '[:upper:]' '[:lower:]') - -# This prevents data loss and force to open in a separate profile -OMAKUB_DATA_DIR="$HOME/.config/omakub/webapp" -WEBAPP_DATA_DIR="$OMAKUB_DATA_DIR/$(echo "$APP_NAME" | tr ' ' '-' | tr '[:upper:]' '[:lower:]')" -if [[ ! -d $WEBAPP_DATA_DIR ]]; then - mkdir -p "$WEBAPP_DATA_DIR" -fi - -browser=$(xdg-settings get default-web-browser) -case $browser in -google-chrome* | brave* | microsoft-edge* | opera* | vivaldi* | helium*) ;; -*) browser="chromium.desktop" ;; -esac -browser_exec=$(sed -n 's/^Exec=\([^ ]*\).*/\1/p' {~/.local,~/.nix-profile,/usr}/share/applications/$browser 2>/dev/null | head -1) - -exec "$browser_exec" \ - --user-data-dir="$WEBAPP_DATA_DIR" \ - --window-size=800,600 \ - --app="$APP_URL" \ - --class="$APP_ID" \ - --name="$APP_NAME" diff --git a/bin/omakub-menu b/bin/omakub-menu index a7e51e0a4..a03bc20a0 100755 --- a/bin/omakub-menu +++ b/bin/omakub-menu @@ -80,13 +80,13 @@ remove_font() { show_learn_menu() { case $(menu "Learn" " Keybindings\n Tmux keybindings\n Omabuntu\n Ubuntu\n󰊬 GNOME\n Neovim\n󱆃 Bash") in - *Keybindings*) omakub-launch-webapp "https://omabuntu.omakasui.org/manual/essentials/hotkeys" "Omabuntu Keybindings" ;; + *Keybindings*) omakub-launch-browser "https://omabuntu.omakasui.org/manual/essentials/hotkeys" ;; *Tmux*) omakub-menu-tmux-keybindings ;; - *Omabuntu*) omakub-launch-webapp "https://omabuntu.omakasui.org/manual" "Omabuntu" ;; - *Ubuntu*) omakub-launch-webapp "https://help.ubuntu.com/" "Ubuntu" ;; - *GNOME*) omakub-launch-webapp "https://help.gnome.org/" "GNOME" ;; - *Bash*) omakub-launch-webapp "https://devhints.io/bash" "Bash" ;; - *Neovim*) omakub-launch-webapp "https://www.lazyvim.org/keymaps" "Neovim" ;; + *Omabuntu*) omakub-launch-browser "https://omabuntu.omakasui.org/manual" ;; + *Ubuntu*) omakub-launch-browser "https://help.ubuntu.com/" ;; + *GNOME*) omakub-launch-browser "https://help.gnome.org/" ;; + *Bash*) omakub-launch-browser "https://devhints.io/bash" ;; + *Neovim*) omakub-launch-browser "https://www.lazyvim.org/keymaps" ;; *) show_main_menu ;; esac } @@ -344,9 +344,8 @@ show_setup_config_menu() { } show_install_menu() { - case $(menu "Install" " Package\n Web App\n TUI\n Service\n Browser\n Utility\n Style\n󰵮 Development\n Editor\n Terminal\n󱚤 AI") in + case $(menu "Install" " Package\n TUI\n Service\n Browser\n Utility\n Style\n󰵮 Development\n Editor\n Terminal\n󱚤 AI") in *Package*) terminal omakub-pkg-install ;; - *Web*) present_terminal omakub-webapp-install ;; *TUI*) present_terminal omakub-tui-install ;; *Service*) show_install_service_menu ;; *Browser*) show_install_browser_menu ;; @@ -361,7 +360,7 @@ show_install_menu() { } show_install_service_menu() { - case $(menu "Install" " 1password\n Bitwarden\n Discord\n Dropbox\n LibreOffice\n LocalSend\n ObsStudio\n Obsidian\n Signal\n Spotify\n Typora\n Tailscale") in + case $(menu "Install" " 1password\n Bitwarden\n Discord\n Dropbox\n LibreOffice\n LocalSend\n ObsStudio\n Obsidian\n Signal\n Spotify\n Typora") in *1password*) present_terminal omakub-install-1password ;; *Bitwarden*) install "Bitwarden" "bitwarden" ;; *Discord*) present_terminal omakub-install-discord ;; @@ -373,7 +372,6 @@ show_install_service_menu() { *Signal*) present_terminal omakub-install-signal ;; *Spotify*) present_terminal omakub-install-spotify ;; *Typora*) present_terminal omakub-install-typora ;; - *Tailscale*) present_terminal omakub-install-tailscale ;; *) show_install_menu ;; esac } @@ -494,9 +492,8 @@ show_install_ai_menu() { } show_remove_menu() { - case $(menu "Remove" " Package\n Web App\n TUI\n Style\n Browser\n󰵮 Development\n󱚤 AI\n󰏓 Preinstalls") in + case $(menu "Remove" " Package\n TUI\n Style\n Browser\n󰵮 Development\n󱚤 AI\n󰏓 Preinstalls") in *Package*) terminal omakub-pkg-remove ;; - *Web*) present_terminal omakub-webapp-remove ;; *TUI*) present_terminal omakub-tui-remove ;; *Style*) show_remove_style_menu ;; *Browser*) show_remove_browser_menu ;; diff --git a/bin/omakub-refresh-applications b/bin/omakub-refresh-applications index bfbd32990..1556763e0 100755 --- a/bin/omakub-refresh-applications +++ b/bin/omakub-refresh-applications @@ -12,9 +12,8 @@ mkdir -p ~/.local/share/applications cp ~/.local/share/omakub/applications/*.desktop ~/.local/share/applications/ cp ~/.local/share/omakub/applications/hidden/*.desktop ~/.local/share/applications/ -# Refresh the webapps, TUIs, and npm wrappers +# Refresh the TUIs, and npm wrappers bash $OMAKUB_PATH/install/packaging/icons.sh -bash $OMAKUB_PATH/install/packaging/webapps.sh bash $OMAKUB_PATH/install/packaging/tuis.sh bash $OMAKUB_PATH/install/packaging/npm.sh diff --git a/bin/omakub-remove-preinstalls b/bin/omakub-remove-preinstalls index 3cfa4996f..cb2144de1 100755 --- a/bin/omakub-remove-preinstalls +++ b/bin/omakub-remove-preinstalls @@ -5,7 +5,6 @@ if gum confirm "Are you sure you want to remove all preinstalled web apps, TUI wrappers, and desktop applications?"; then echo -e "Removing preinstalled Omabuntu applications...\n" - omakub-webapp-remove-all omakub-tui-remove-all # Remove npm stubs diff --git a/bin/omakub-webapp-install b/bin/omakub-webapp-install deleted file mode 100755 index 0709e915f..000000000 --- a/bin/omakub-webapp-install +++ /dev/null @@ -1,97 +0,0 @@ -#!/bin/bash - -# omakub:summary=Create a desktop launcher for a web app. -# omakub:args=[name url icon [custom-exec] [mime-types]] - -set -e - -ICON_DIR="$HOME/.local/share/applications/icons" - -if (( $# < 3 )); then - echo -e "\e[32mLet's create a new web app you can start with the app launcher.\n\e[0m" - APP_NAME=$(gum input --prompt "Name> " --placeholder "My favorite web app") - APP_URL=$(gum input --prompt "URL> " --placeholder "https://example.com") - if [[ ! $APP_URL =~ ^[a-zA-Z][a-zA-Z0-9+.-]*: ]]; then - APP_URL="https://$APP_URL" - fi - - # Try to fetch favicon automatically first. - FAVICON_URL="https://www.google.com/s2/favicons?domain=${APP_URL}&sz=128" - mkdir -p "$ICON_DIR" - if curl -fsSL -o "$ICON_DIR/$APP_NAME.png" "$FAVICON_URL" && [[ -s $ICON_DIR/$APP_NAME.png ]]; then - ICON_REF="$APP_NAME.png" - else - ICON_REF=$(gum input --prompt "Icon URL> " --placeholder "Could not fetch favicon automatically. Enter PNG icon URL (see https://dashboardicons.com)") - fi - - CUSTOM_EXEC="" - MIME_TYPES="text/html;text/xml;application/xhtml_xml;" - INTERACTIVE_MODE=true -else - APP_NAME="$1" - APP_URL="$2" - if [[ ! $APP_URL =~ ^[a-zA-Z][a-zA-Z0-9+.-]*: ]]; then - APP_URL="https://$APP_URL" - fi - ICON_REF="$3" - CUSTOM_EXEC="$4" # Optional custom exec command - MIME_TYPES="$5" # Optional mime types - INTERACTIVE_MODE=false -fi - -# Ensure valid execution -if [[ -z $APP_NAME || -z $APP_URL ]]; then - echo "You must set app name and app URL!" - exit 1 -fi - -# Resolve icon from URL or from a local icon name. -mkdir -p "$ICON_DIR" - -if [[ -z $ICON_REF ]]; then - ICON_REF="https://www.google.com/s2/favicons?domain=${APP_URL}&sz=128" -fi - -if [[ $ICON_REF =~ ^https?:// ]]; then - ICON_PATH="$ICON_DIR/$APP_NAME.png" - if ! curl -fsSL -o "$ICON_PATH" "$ICON_REF" || [[ ! -s $ICON_PATH ]]; then - echo "Error: Failed to download icon." - exit 1 - fi -else - ICON_PATH="$ICON_DIR/$ICON_REF" -fi - -# Use custom exec if provided, otherwise default behavior -EXEC_COMMAND="${CUSTOM_EXEC:-omakub-launch-webapp $APP_URL $APP_NAME}" - -# Create application .desktop file -DESKTOP_FILE="$HOME/.local/share/applications/$APP_NAME.desktop" - -cat >"$DESKTOP_FILE" <>"$DESKTOP_FILE" -fi - -chmod +x "$DESKTOP_FILE" - -# Add to Web Apps folder in app grid -omakub-gnome-grid-folder-add "$APP_NAME.desktop" "Web Apps" - -if [[ $INTERACTIVE_MODE == true ]]; then - echo -e "You can now find $APP_NAME using the app launcher (SUPER + SPACE)\n" -fi diff --git a/bin/omakub-webapp-remove b/bin/omakub-webapp-remove deleted file mode 100755 index ca648df61..000000000 --- a/bin/omakub-webapp-remove +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/bash - -# omakub:summary=Remove web app desktop launchers. -# omakub:args=[name...] - -set -e - -ICON_DIR="$HOME/.local/share/applications/icons" -DESKTOP_DIR="$HOME/.local/share/applications/" - -if (( $# == 0 )); then - # Find all web apps - while IFS= read -r -d '' file; do - if grep -q '^Exec=.*omakub-launch-webapp.*' "$file"; then - WEB_APPS+=("$(basename "${file%.desktop}")") - fi - done < <(find "$DESKTOP_DIR" -name '*.desktop' -print0) - - if ((${#WEB_APPS[@]})); then - IFS=$'\n' SORTED_WEB_APPS=($(sort <<<"${WEB_APPS[*]}")) - unset IFS - APP_NAMES_STRING=$(gum choose --no-limit --header "Select web app to remove..." --selected-prefix="✗ " "${SORTED_WEB_APPS[@]}") - # Convert newline-separated string to array - APP_NAMES=() - while IFS= read -r line; do - [[ -n $line ]] && APP_NAMES+=("$line") - done <<< "$APP_NAMES_STRING" - else - echo "No web apps to remove." - exit 1 - fi -else - # Use array to preserve spaces in app names - APP_NAMES=("$@") -fi - -if (( ${#APP_NAMES[@]} == 0 )); then - echo "You must select at least one web app to remove." - exit 1 -fi - -for APP_NAME in "${APP_NAMES[@]}"; do - omakub-gnome-grid-folder-drop "$APP_NAME.desktop" "Web Apps" - rm -f "$DESKTOP_DIR/$APP_NAME.desktop" - rm -f "$ICON_DIR/$APP_NAME.png" - rm -rf "$HOME/.config/omakub/webapp/$(echo "$APP_NAME" | tr ' ' '-' | tr '[:upper:]' '[:lower:]')" - echo "Removed $APP_NAME" -done - -omakub-restart-walker \ No newline at end of file diff --git a/bin/omakub-webapp-remove-all b/bin/omakub-webapp-remove-all deleted file mode 100755 index 0180d7026..000000000 --- a/bin/omakub-webapp-remove-all +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -# omakub:summary=Remove all web apps installed via omakub-webapp-install. - -set -e - -APP_DIR="${1:-$HOME/.local/share/applications}" -ICON_DIR="$HOME/.local/share/applications/icons" - -echo "Scanning for web apps in $APP_DIR..." - -webapp_desktop_files=() -while IFS= read -r -d '' file; do - if grep -q '^Exec=.*omakub-launch-webapp.*' "$file" 2>/dev/null; then - webapp_desktop_files+=("$file") - fi -done < <(find "$APP_DIR" -maxdepth 1 -name "*.desktop" -print0 2>/dev/null) - -if (( ${#webapp_desktop_files[@]} == 0 )); then - echo "No web apps found." - exit 0 -fi - -for file in "${webapp_desktop_files[@]}"; do - app_name=$(basename "$file" .desktop) - echo "Removing web app: $app_name" - omakub-gnome-grid-folder-drop "$app_name.desktop" "Web Apps" - rm -f "$file" - rm -f "$ICON_DIR/$app_name.png" - rm -rf "$HOME/.config/omakub/webapp/$(echo "$app_name" | tr ' ' '-' | tr '[:upper:]' '[:lower:]')" -done - -if command -v update-desktop-database &>/dev/null; then - update-desktop-database "$APP_DIR" &>/dev/null || true -fi - -omakub-restart-walker - -echo "Web apps removed successfully." \ No newline at end of file diff --git a/install/config/gnome/app-grid.sh b/install/config/gnome/app-grid.sh index 1c0f5f467..af4f7c83f 100644 --- a/install/config/gnome/app-grid.sh +++ b/install/config/gnome/app-grid.sh @@ -1,9 +1,7 @@ -gsettings set org.gnome.desktop.app-folders folder-children "['Utilities', 'Sundry', 'YaST', 'Updates', 'Xtra', 'LibreOffice', 'WebApps']" +gsettings set org.gnome.desktop.app-folders folder-children "['Utilities', 'Sundry', 'YaST', 'Updates', 'Xtra', 'LibreOffice']" gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Updates/ name 'Install & Update' gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Updates/ apps "['org.gnome.Software.desktop', 'software-properties-drivers.desktop', 'software-properties-gtk.desktop', 'update-manager.desktop', 'firmware-updater_firmware-updater.desktop', 'snap-store_snap-store.desktop']" gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Xtra/ name 'Xtra' gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Xtra/ apps "['org.Characters.desktop', 'gnome-language-selector.desktop', 'org.gnome.PowerStats.desktop', 'org.gnome.Logs.desktop', 'yelp.desktop', 'org.gnome.Yelp.desktop', 'org.gnome.eog.desktop', 'org.gnome.Sysprof.desktop' ]" gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/LibreOffice/ name 'LibreOffice' -gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/LibreOffice/ apps "['libreoffice-base.desktop', 'libreoffice-calc.desktop', 'libreoffice-draw.desktop', 'libreoffice-impress.desktop', 'libreoffice-math.desktop', 'libreoffice-startcenter.desktop', 'libreoffice-writer.desktop', 'libreoffice-xsltfilter.desktop']" -gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/WebApps/ name 'Web Apps' -gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/WebApps/ apps "['WhatsApp.desktop', 'ChatGPT.desktop', 'YouTube.desktop', 'GitHub.desktop', 'X.desktop']" \ No newline at end of file +gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/LibreOffice/ apps "['libreoffice-base.desktop', 'libreoffice-calc.desktop', 'libreoffice-draw.desktop', 'libreoffice-impress.desktop', 'libreoffice-math.desktop', 'libreoffice-startcenter.desktop', 'libreoffice-writer.desktop', 'libreoffice-xsltfilter.desktop']" \ No newline at end of file diff --git a/install/config/gnome/dock.sh b/install/config/gnome/dock.sh index 7d41bcd53..de719176f 100644 --- a/install/config/gnome/dock.sh +++ b/install/config/gnome/dock.sh @@ -4,7 +4,6 @@ apps=( "Alacritty.desktop" "nvim.desktop" "code.desktop" - "WhatsApp.desktop" "spotify.desktop" "pinta_pinta.desktop" "docker.desktop" diff --git a/install/config/gnome/hotkeys.sh b/install/config/gnome/hotkeys.sh index 416651407..a047ad428 100644 --- a/install/config/gnome/hotkeys.sh +++ b/install/config/gnome/hotkeys.sh @@ -100,11 +100,5 @@ omakub-gnome-keybinding-add 'Docker' 'omakub-launch-tui lazydocker' 'm' omakub-gnome-keybinding-add 'Editor' 'omakub-launch-editor' 'n' -# Set webapps hotkeys -omakub-gnome-keybinding-add 'ChatGPT' 'omakub-launch-webapp "https://chatgpt.com" "ChatGPT"' 'a' -omakub-gnome-keybinding-add 'WhatsApp' 'omakub-launch-webapp "WhatsApp" "https://web.whatsapp.com/" "WhatsApp"' 'g' -omakub-gnome-keybinding-add 'YouTube' 'omakub-launch-webapp "https://youtube.com/" "YouTube"' 'y' -omakub-gnome-keybinding-add 'GitHub' 'omakub-launch-webapp "https://github.com/" "GitHub"' 'h' - # Enable Compose key on Caps Lock gsettings set org.gnome.desktop.input-sources xkb-options "['compose:caps']" diff --git a/install/packaging/all.sh b/install/packaging/all.sh index 6e513d95b..1468b5e7c 100644 --- a/install/packaging/all.sh +++ b/install/packaging/all.sh @@ -8,6 +8,5 @@ run_logged $OMAKUB_INSTALL/packaging/docker.sh run_logged $OMAKUB_INSTALL/packaging/mise.sh run_logged $OMAKUB_INSTALL/packaging/icons.sh run_logged $OMAKUB_INSTALL/packaging/chromium.sh -run_logged $OMAKUB_INSTALL/packaging/webapps.sh run_logged $OMAKUB_INSTALL/packaging/tuis.sh run_logged $OMAKUB_INSTALL/packaging/npm.sh diff --git a/install/packaging/webapps.sh b/install/packaging/webapps.sh deleted file mode 100644 index 9f5a85236..000000000 --- a/install/packaging/webapps.sh +++ /dev/null @@ -1,4 +0,0 @@ -omakub-webapp-install "WhatsApp" https://web.whatsapp.com/ WhatsApp.png -omakub-webapp-install "ChatGPT" https://chatgpt.com/ ChatGPT.png -omakub-webapp-install "YouTube" https://youtube.com/ YouTube.png -omakub-webapp-install "GitHub" https://github.com/ GitHub.png From 5d897210d8f087118d0742863f4f26c0a7c6d0a6 Mon Sep 17 00:00:00 2001 From: Luca Pattocchio <15154851+Kasui92@users.noreply.github.com> Date: Sat, 18 Jul 2026 17:26:49 +0200 Subject: [PATCH 03/17] fix: remove unused icons --- applications/icons/ChatGPT.png | Bin 12829 -> 0 bytes applications/icons/GitHub.png | Bin 8571 -> 0 bytes applications/icons/WhatsApp.png | Bin 33884 -> 0 bytes applications/icons/X.png | Bin 9649 -> 0 bytes applications/icons/YouTube.png | Bin 11876 -> 0 bytes 5 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 applications/icons/ChatGPT.png delete mode 100644 applications/icons/GitHub.png delete mode 100644 applications/icons/WhatsApp.png delete mode 100644 applications/icons/X.png delete mode 100644 applications/icons/YouTube.png diff --git a/applications/icons/ChatGPT.png b/applications/icons/ChatGPT.png deleted file mode 100644 index 9907eaf826424796733a955e65cac33a045e69d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12829 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 diff --git a/applications/icons/WhatsApp.png b/applications/icons/WhatsApp.png deleted file mode 100644 index 10ecdfb5f6e3c3cc0de2665c9e15116dbc49d50c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33884 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 TFhJsZc3z`TqX^*}o!O diff --git a/applications/icons/X.png b/applications/icons/X.png deleted file mode 100644 index 22fe6987a73a263a22dc214b9d40a1d6350a8cf9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9649 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 diff --git a/applications/icons/YouTube.png b/applications/icons/YouTube.png deleted file mode 100644 index 46ed4ca7878d8e2c42fcc6bde8addae5af5ad9cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11876 zcmZ9y30RXy_dfg}3bl&1)e06tt$_d{L}ig6ixt$c1QijHRSh5#K*J_G)~Z!e^a*>| zv;vh?0tUj~y3j|AL84#?kP4A~k;q~Q%m2i_zwdkB>g8pwnP+Cs+~+>$%$zgV50ein zef`7N2!be)4p|*VkYxh+hkT^~Esoc7t>8a})3yh#kR{pQ-1-7Kf^0!ZR{M@!%pB{E zsLb-t!p}`ap#+Low$;8(+SlBypZ)5+RcDW;Q)tllT@6LV!%kJIg*9b|Q{;O-Al=^j zlQ(t@jvbF`{TXd=U;ntKhGeo{>&li8tLrzuu{^AhKCpEqi7>Iy*L^J${+!CGpRKsY z^)0EGF^QU(?e;wKWOiO$H{rM@HIKI*Qff7=7_Qy}p zkLOpKf8ygFqRq=%z2CkJlACkyUe7VBICIY}Grw5F-o@=s|I#OEWj5mkwK>rtOt-4< zO6ckLnI{l@%Ja$lCgrOgoX+19+UYK?YnkWy-H2i?q$XW&d}lYGce+>q>%I?hz51)x z#mT*UGnYyENy42GTV(sXzRg^v;`PEP!;@~?o`j&BEOnh(6;^~z9QzkrHdnMCBOVB1}|x5 zvQg>c{pl`V$t;zcH89y8?66&&@S`{5(h+0tu)5_FrthVBel{OH*2QMKJxFE6dbH1F z)HNu_kE`aCS|lHrb8sBoob&M$ul6E$-8$hJj@jj(`1u7Vm9a5Ff9lVxo27SI=C{PK-keEY0|ty!Ay`;v3EZtrq&GWYPB|kMw-6M#5qgg47ILH+Uw^ zZ|`$Ji;GajoB2O{YvZB(hNGZ!(0(q`8@1L5mP72$JD{PY*sjR=BgtJZMr|LDuuO9U z!}Oxhpndc@4eYg_CLcjAixzPfcC=8mg=g1Pm3+(KUDBA*8_q9t?{GzE<{clGU*l4c zrbiJ5*ep69gBm(HK2MilaUo^cXLo8JZ~drK`NLHRAu`ZLY)sO#r`1a@bM5%q2mF6t zXu!o~ip)qGQtX!_t;Vt0qMvcf$Fc6bCsW(KqrMKU&=n=&;?hKaGyM=`u9Jo9&}0)Z zYbWNt^Vtpesa0<{Z{}dhh>V+Ra!4AZnLb~D8*t{dPi+elwS@UQrdu2m|6!o|0zn8C zuJn0#lzSWt&3lq$!1S(t{QX=GUP8x7zrQVy5E6!QOLs&(Cz|&VK_kJ9UrK*Q>d6uP zcH!W+NW2GoFP82^iy7KdZ?FqSYDyF7naQHoKQAE2fg@QW6t@(f+~q;E(@(I1k;$Z2 z_B6_nE`m^k(YPGZs7?ekBrWiVVWvACxRQ=5vh|fiyzsLclCy8SjLvH*dBdo3+>$Ql zOCNRGvj#zUQYmhUX)~^?_JDV_l-hy$w{;08mGUZJC;qBv^p6~~nyTbAJnj9CtdV|; zmLb2CTcaMbkz?#1v0)u{LC77l$_-dhQB!gfolSnV3~8z}%N98lipp#i)5|XD3qonp z8P?O>?O7|3_}g^wJPFuY&1u-d04chqedxJC25iq zP?_|tj;rX=<>Xgoj0wd*n{>B5qzlQx*2C(uzQb?wNaRA)*G4fNv$SK4h;lR~0f*^xYRhlL&8+9!;3bR31P$H;_E)N0J6rMYvo16_@>t}B@ zYzJg$XxX#2ZxN)wKLa;0S}@ivm2G1}Q^KfL`3{Mnfym>OOx07v4gEHBq1)}qT*r}0 zIpnNxC28@@&^LW^_u=brNqS_a>w7H(S>5n9RD8E>D{6k?z)`#{uei*`gSZMo_MdS@ zg(Vr?nm4tH{89$DQR{{gf@B${i0%_3LWjQ5h|$43-n_-W*^LIfro09rHI%QLI&-CEpj`m)T@(3I0->q*iZt#eM=4~VC zxb20ag8KQ^@91L|iT9Nd%b>BlqQ*B^Hne4v0rTH+OS{Jlpkt%w@96Hx=~HHa2L#Vf zT-n51UtkeVfNpZt5KcV1Hci`z4axSc<*$pSj!=%2nHP@?iyq;Y3YBwKAjs~Eq3GI~ z-pi59ga_nBJ#1pC7qslP!AQf!L!&DE)BYNB*fm;mRvu|}n6VR2)GTau&!Sef|Jju$ z^6sABgdk^mQAHv~H!-3LFDN+hS^>$8i^(59jUVr%)RI#)B@yWUnrQ%{Rj#N=G}682 zf-zpOIYG9sCFxBfzg`tTZUe-W=TTcg%M0Vb;^NwFtqb>OF8qOu3LWZ#k$#&?=w`&2 zw%e&=M3)p%B{@eKcr|zjS7aK~7HG#>ia=v(&U*lN^4EsVy~3&0tCF&G?J8Dr-)HUB zN06z%CXQiCgKsdR8Glju8*GM9ZQg~^LnE0BPXIKL2^dQA@nhIp;)VOS?O7v~2(T(d zLAW`5*ec8IfS60XsD~h0A9CJcz2wZ_w|Uo+!)(QIA-!&367PCQu~qBv!*3{2P8sgo zz-_3^AHkE`9x@lMsS(%0@|VNkU^n}t&A&(&v3@6|3BVHxZ=U)Y*&B_)Sp2Y?H)}m1rBh zv`_X?^W&($qg#M}t80zhF*IyVrUO4#u=h5&oqgq67(-z4s0193mo}PIc%`FankLK z5%9@`zx(%|5A|~DFDdn#n5XMbc<@mnmAsQ#V=L$)DKwO6 zR-g%L*zY583quX~3P?O(up4XfmG--ULLQ!GDj`UPx+T|}8DoXU3~U0sxN7VC;tQOu zdCY*7D?#@HfZkBC9lKW%(dYJJrl@nZJc2y&IbK`HmHD0f2Fi!P*^S`FKHT5QBR!UA!|i9~+(bV?E+uxw2kqeM{PEn7a=I7O5v8!B7p(Qg}_ z<6fQsrRU%j!*Br3>cowTZ58R%r2~pTgR6Nobci2z0hB#TU2HjYx*il~m$!``;0=g{ zv4YH=Jib+-Ezlo1tO95l@$@v(?fJ2%u6-G5a=J#jUTO z=Vg%ZseSF&Rx*fY)OL2?+?^aS@)%k>`VINVW#V^uoN(Yh+yNwypBc**-Ept~ohpws z&5zOyfAt1|2o?uNhp)J&0MEB`VqiqPyXk3XeLG`*&j(;yQ*h_W12n6FVEEZ;BI|Hw zm2|*r>5mQh=5?#!6R&r5kI01&J<>|4jk&g`pdoEEoznQFVRL5|L~KGx{^+Y0u;-V; z%$Au?HS3qdCOD%ITSn;=l5-!-{V|P4kxJZGgGQeCyl~oDt0QRl2RTPMe#{b?z@yqS zeQE^j2*$18ql($O$QyxU%SZ^4)_8@qCUgFQY&WeNO+(MhKqa2(2l_jq`y;lt(TorX(2fRH$k)i(4zm2n!xuAun0>YEQN@QA`sM{K_QyX(UUBQ?20v#Jn3TDuFTWQ@aSpCBqB zFRx-o1TT*nrl|KOy+zN~V_~?>5Ah;u3Yy}Hi=RbvBlNOp4U@m)Wvx0DIs#3BW!%Y1 zEtBatq7+wj_p3u2bhWa+LNq%Y$zh*U=}e{7*$XqauT0BaxC^D>$z*w?Zv&1W-n%a4 zE^>L~`?5m~(|&T; zhsnZ}sGq?I?LOnUFsXpJS3UVV@>-ng;|(Db9lSkAR>3Frz z$m}Y8yEQa|c<`f?SeGiR{jx19C~-)w#t@f)N+=$d%|Qz?NJGedf1Qox^E zh?&@)r4avzaRA?luW*3Z;+b9SLU#*u5x;OwA(qwR^tHRdad^ZGr%d?~9KbJwp5z@wRti&1!$M-0PyQ3z`{v95#6! z4-#9NIO=UHclyB+UpJM9JyXUDC1hrF1n^?2$D>aOKCD|jQ-$yF%!&T69lN9`8#1xC zqbNBbKJa8U;U8*dln9mebhEySA7?PB6NVu2;4d+=0j$_1J{O&>D*#p2*zy&$djHx+ z4~qT`l%k=p4N4h5al9&$1?H(y?8YDcDPmEAdHARy`}1v>y5M48xB&P6kCCf3B$1a} z4vZ$BII!$+&!_B;u5yv0#i1T?3J`HHp?)1bAbxSOrbENo9gfJc?^nrK7#k)tBDk)8 zcp=JXpuw+5DSA6#;h8k5{8Y)aoAljWs^0y*648S~8~idaIDg2^^{n!^<92=@ZR|02 z<9iu7qXhbQis6Dn^;c*uJ6?RKl&vZA1%F?bt>9y7$FhGcH`o2{1T!*}_7CK>6CMD0 zEo(pD<0#=PB)I%vj=<416M(%u;;nD1*RY2@$`rjV(*v>8c94<+;{OPrpTufHInVbf zZaNIqQSw&xI;-pUjw*?5*@12JeK)6;yBFF9N2@$(JrSJ9@$mYhkRRfY!0LBt|7+t{v%mt-o{v{W!$pj!kj=3dfg4Y3U;-DXx1;9l*chOadK4&!K$Q)z zx+pWCk}6GnjvFjRa5;>x-7Y|I*VIyEs6P81^Y?Isjz=eUd9aj~Z^>E4?HR9@`97I# z6Mu(|?5lc5QH@u-bxWhj8Qerpgir8@CDK_A!OZKNbd;VMOok<-JJHXB4dg`j*1j7vZGds#?_Jc=b1AnewMlG#?>r5p}U$Z3%coP2(&E`#j zfh7q-pF8b;Z8+%>MHlOB(?(Q|{@aKx^>?V-GNXppBdggOwrItxbF5g4$)}*@Nbhji zMNh<#E&ZlGx#3e5MIwgg8hgG%ZhTdv8GCU~wB3`mX73{aB9I@Wiv{L6B7~ne=-H9Y z4A~!2z_ngkWs6@nXh07@z7~WFp&@5MH-Z~wQy@2pgUQV=i0)#>4X>#Si)d;RS-y2; zEd<`F)a309cP*}k1>e66R_uQQnlrCFdxSPOgpE}hkFb?xAuCr+@6PhvM78sl71`4N z&uaT$z{heQ|JP>IcEDnCOn{YVkC_bMY*WGI5Z1{WD=uE3^`~>Jlkhp2$DF_o*PiAW zA@aj3^bhG(Z(+}LQl8xa8S>#2*c9(t{v*3TL-gk=`sKA?TV6lT0(-tnkZ}rM)t! zZF8y8le}=wP@*A`FJTMsS?5pDh96=(s=zb{O+eJwkA$(HXydLsbtCSwp?~iB4mr@W z-Q#Zbh%0pH$6gpRXu6|n%X}2_6*9>F9}wfW8m2t$HAD{Z0&6u2a(a@+9UTJ3JCs`Y z0bMplo(*nBAN$jV^PD!n_^tP;@=evobz9lPh5hQ?*EV|)l?cm=`3mvZ3k&%%w1qiP zq}dFpK*b9jAtCwMO-6|@sNT>-B7)&^c`!WWUt!m)37iu_wOK9IEiQ)k{tC8F5o~Jp zS8#gr@u%v#)YpImf4Q6Cs<_Ncs6g&DR%9EST@@Ou*5utb7k(j4Lg9yjSDlPgx%;0AD4K{2nlIll;Q`n zQr*JcX`|)v=@l5>s`Rg@dKjWJ(p~vKCOEhggLoGi=s{*U>!$^)KLov#n# zg-fyEP_|wJT8F%bj0_x1i#KRWLc9D`k;s9Xk&LJdo>2iqILp*qc_4>nRd=uh?S(eP zhZ{x-zfOX@tveV-8lInj5(h2Xi{Chcz-A9%MdK0|9<^_=#WRJxY`xdUl}N~wno!JD zm{EK(@9dMW9AWo#^$47#!oojrVzzz)a9++}|L!s<^wdaGr}a@nj<2!ORJ$`U_Ci%K%W)-6(mcZ-bY+ z`tHPcuAXuPVtbiG&%!w6t&X+oU`;uWVS5dUFO8ad?cD3NgKbg~V3&%W0RH<$^_ z}zXP6)OOA>RyQ}T|Y)!@)VEa zb95oRxC3Kjd^j0C*k5B+spMq@Pewq;8q2t9Nx!Im!v1*4(aKAw%B{ic7dNZ>Yw}xC z@xpl@2w7Q`5vSa?th8LoHD^Rm7h%m7*?XrBLr1q4kZMKrY%Rw?dQ}w^FsSLzk{i4y z2(%>=wIiBM*9Um5htpE4ys8myAe#ZPSNw7}@O$b-{}qx^3R$k{PT`1X#M8lCd{?w6 z1!4_8zO{-@)yi5HzcmC7#v6Tc9UiX4m6qD7&%p{?NwZz_Oqxx_vzq&GOjm+^hCI)= z$CMlHL=QV+JO?;=x2`qPwG-Q+o_LqTdsZWt&w(RZm~a@c{tcjyWu7Xw8OAX{RxhN) zHMMTKgtKAfhEWqmwfUs*gw3+1Q8V$O3T=+eu%#Zdczy24pOZm1o+DlaYIjETkS&I{ zNZ&hYCF>#s|5EfC>)6Rcd*ft4RLcksm`ziG^@c9&T_*3BTdRIK7QVaEyg7*Fyfi;R z-{A@|QN;>WL8l5*+(M3s@2%BXYYsQOrY%vW)F9m-p!k&{=MjuB7o@?>41Zzl!oevh)>lQB2)Co{tT&i znLE%1srY2YjNycxu2E`@i=8eKB{`yJZbKeap@oj!rjO#$QD@Cni0QlPosv;sIyYLA zU-=L&9Q}dPUFZgYr0xIU%nFxXUZij(a9IEKGD~!R@E~VA(b>}-7Wq`g%Yd9q?l01D z+y4VpMI8`W|2WiNoTsmm^Vv%Lz~X1Qs|j#jc~&fQSnP!vQ0`zI5#wD41y8kejPVmO zLCkZ>_mv2B*@bApbwdGCKl$zq2Nxv~ix@&M;rQ{$QfJo+rB?fYTjJF7ByRylHJ9EX z?e@utd7=bfwAGb6eXivYLL7r61Ng0;$u+=71GB2rlwOLoeAzxoU|dzg*aMn5iy_R2 zU|@98r@_z0s|q5&i#Gwc^WS!vTc<6%=r_47{H+L%+rMl_)^fNqx$)H*!z9G#Jl71< zF2Dsv((fxZQMgLwISi^ZmQuqX^6|TS2)XRV%NMQkJY+uoP&8Bk3eB~!XD3kRR{$e) z{M&I8adEU}HJQx9Yz8&aKJt&F;3nHkY;T*f_@~`pD|q=hmh#DNxRsB(wmaY&-}g|5Ph5N=!dQlarn3>F<)Ym=B=aQ+rA2lvREaiST?QGh13Xp$X05ET zdG4_I@5{0!_vY__i(%8p+TI)edfO}({D8@;bJXUhM23RIDZ*ElLESOo70>1b!qT(y ztvevivEZ&lh&G}gdSzy8GLR`s_m%Os+Ke!H4fB@XQ&*51EUh8yu^+gk#&pPze1spu z26^djNMdo@k3_0js&-wcR)VouV zdufj|t(VIUD)G#zlXhc;PB)B@h11WOkQ|w+`d?FzztH&Vfqek@B!%Yo60D;kC3^G> z_GB%1VuWsXOhce)US0&($hj6cd+yB=G9#IcdXzIL8JkAf>ezx6GKiuaPASpUaZY zHD3Pt)s{48@2G-j-H=Vx>o$%knt3YgBA$A&So|g92}ipBBoGhC5{Skh3=W zF#85U4(&>0j{PXhVS2bKAJPPeiV(6mq;cWfo3h`n4W>mDL8-?vm?k%dH{%UH0)B+s z&EA)#pvU~NtKG z694V)B`oZwY>XhFMK|#7m%MCOx043LClYEwGYQ*h0L#{j9}X~NfOmyfQia(Rf5^Ea zUcbLQ_o2D?McCW*W2XId8Cr)9;sqqy8OE0ka+d+an3G3cs^iPk5KX0Nj&Pd7Ve^mmrua7kOeq*F+>Ano1kzhKlmbS z&AD)97S8!)-w6#(Xjw#Q6lJqd{L)dURv=46v^PHF>)$ZhzGgfJA9&2NR z@$t;vHMk*j58Sl{PT~`2aP0*sTMa%kZOcpE=wwXJz=bk>Gpzfsg^uio?Z_W@c0chG z8WOaTR7i0|8wcAZFo%5LA+cvosJPUgMSnovfRp&4&S9URu##&(QGy1AjfmVCR6Msk zT)M4$9!gMWc@`lRXYuaY)WjlsBS|c+{|vR1v@7jJ;dLIUT`{!msrrdI!3q(h!-U$x5L_0o4{9h#^Z64<6p0b;CA4JFaupFTTvrMu^!oj*^_j5!65(PQiL8?jWyyO}$53NuPR!$*S|??Y&DhbL z(2i8utBclmDWdQ~iaqwtvku#;z@DK-wtbqzwP3AI;t6^*^UH&WKW~wG91W}HMz+Ve zfW+sF>Lh1}z^_a_R;AZf*r>zH37wc=W7Pd2-NIhHl%E*46V(6fNSj@ylzA2}e^|E7 z#Vweprpt*v@Q85X{S5>EN@?KGUsm!*WPQgq*n6=5yz7W_5If9`o&M|L>X&T^g>2tm zQ~KUxL~ta}<^{M$!~@kN_>}T1`oxjzrqFuit-5>Rr3zhT&S0 zEL?#G|HPN4HMP2!|FwH(@%xX$25p9QBx^}MNg~C(Pv9@{4w{lwQje3y?3ZUbcuC|BjWX z-Qjy2)3?1gbmgwLpl_IR0iDH5&Z042H_IU^->2dwhm+?YgxvA?fz324CC@mBFX7@c zD2=igOyEHcsy><)*pzCk<^OUQ)*q&jP}$2VoWA}hAiWBeB<}FDnX#9>oDzFSxxw=X zVDaK!Om&rPdaJ|->}_4jg`&l_Q*)P?W><(2)~F*oe+s?ak}ro0`U}u#W6oI0QofDR z_pf-)Nn?I*u=_Z8A$PE(+1h)Z95QulnzXnJ^Hk#9PRz=ua*z54%nIn4X%ufXrbTlZ zGWaln)Sky5n{3mO9C^Q2ejh(@zklz7E9tmKgl~p7e$iza@}&PYPH5}+sN)zWf92Ea zO)JXfhbd(S%1#X$SWv!pZ>_S@3WN|otHCB>v#yCFg+BM~8A)S$X9F@nb>a@%e~t`A zyKVZHA!&b?8npZbZ{q42Y{vCe{XT06%-T*yiVF=i=9B$Wvg>|?r#%~zY!x8seURt& zvf3Qu_=TN!b2h9R`mF_C?hX5}u^^nuE_;djE)1S0?7`$#{3eH7J`;?3YO>9+0KXg4 zJ4k`W=rtP!)zBAVn~Ui6yrl6|yU6H$=o6lEZvXEvX$HQ9rkeUN@s=%3zv z-jPK@-(c#b8QTgMZUf(Zr|>QJ+S8?2sIMmGrSGw5pQ{Pa$l3gR#-E(898=EP`k#)q zL@%H8RK%G)ny!w^_^E;WOY`JJcf<;atH;o0UQ#cXn23vbG(CNOWaN)Rc9G)C>r8ux z$2M~fyQ9bMJ{0<9tbwF@4E3D3t^h3Xp}gg^rFfH4SPe7e;Cq9Cem5lJet~7x#nTHOemCaS{cd*${8?W6 zI9pZ!6J%{%QGDC_PWzGxV|)Y=yV^dRSfy^P8L^9#^cidC_LT*lQ~N|2+2r8N@h2Qj z3K;ykM!UbZKzsP6t8jt=Z;jdM>dJZAle^8vH-w{?PR&v?rl0jCy7H3VrK?vx&~C1c z%si1`T$LSFbMCex(Taa{>){~%?p1B;7bsGSIp52C8wdJc@njdR8NxP+Uypa z+veHj4kPTzww%#DZ#OSp@#?+MTK0U^*)}_`DsO3sG2g?3K4zf>-V2*L=dSgNY<8#Z45TDwFvxQX0^f94Zg2P_lUFEIz1!PBc-@bBf zc)9#j_%wUns`1jE-R2Q$#^rzAW}G-p&#G{kkLa~1@Ga~=5nnpDBzLA)xGi;MG91Ye Ogk(*&D*egp=l=)3%-anB From f7a19f299274cb6b2ff3e74ff3044e22930419aa Mon Sep 17 00:00:00 2001 From: Luca Pattocchio <15154851+Kasui92@users.noreply.github.com> Date: Sat, 18 Jul 2026 17:31:30 +0200 Subject: [PATCH 04/17] upd: remove ollama --- bin/omakub-install-ollama | 7 ------- bin/omakub-menu | 20 ++------------------ bin/omakub-remove-ollama | 19 ------------------- 3 files changed, 2 insertions(+), 44 deletions(-) delete mode 100755 bin/omakub-install-ollama delete mode 100755 bin/omakub-remove-ollama diff --git a/bin/omakub-install-ollama b/bin/omakub-install-ollama deleted file mode 100755 index f7e816fea..000000000 --- a/bin/omakub-install-ollama +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -# omakub:summary=Install the Ollama desktop app. - -echo "Installing Ollama..." - -curl -fsSL https://ollama.com/install.sh | sh diff --git a/bin/omakub-menu b/bin/omakub-menu index a03bc20a0..cd2986781 100755 --- a/bin/omakub-menu +++ b/bin/omakub-menu @@ -344,7 +344,7 @@ show_setup_config_menu() { } show_install_menu() { - case $(menu "Install" " Package\n TUI\n Service\n Browser\n Utility\n Style\n󰵮 Development\n Editor\n Terminal\n󱚤 AI") in + case $(menu "Install" " Package\n TUI\n Service\n Browser\n Utility\n Style\n󰵮 Development\n Editor\n Terminal") in *Package*) terminal omakub-pkg-install ;; *TUI*) present_terminal omakub-tui-install ;; *Service*) show_install_service_menu ;; @@ -354,7 +354,6 @@ show_install_menu() { *Development*) show_install_development_menu ;; *Editor*) show_install_editor_menu ;; *Terminal*) show_install_terminal_menu ;; - *AI*) show_install_ai_menu ;; *) show_main_menu ;; esac } @@ -484,21 +483,13 @@ show_install_terminal_menu() { esac } -show_install_ai_menu() { - case $(menu "Install" "󱚤 Ollama") in - *Ollama*) present_terminal "omakub-install-ollama" ;; - *) show_install_menu ;; - esac -} - show_remove_menu() { - case $(menu "Remove" " Package\n TUI\n Style\n Browser\n󰵮 Development\n󱚤 AI\n󰏓 Preinstalls") in + case $(menu "Remove" " Package\n TUI\n Style\n Browser\n󰵮 Development\n󰏓 Preinstalls") in *Package*) terminal omakub-pkg-remove ;; *TUI*) present_terminal omakub-tui-remove ;; *Style*) show_remove_style_menu ;; *Browser*) show_remove_browser_menu ;; *Development*) show_remove_development_menu ;; - *AI*) show_remove_ai_menu ;; *Preinstalls*) present_terminal omakub-remove-preinstalls ;; *) show_main_menu ;; esac @@ -569,13 +560,6 @@ show_remove_elixir_menu() { esac } -show_remove_ai_menu() { - case $(menu "Remove AI" "󱚤 Ollama") in - *Ollama*) present_terminal "omakub-remove-ollama" ;; - *) show_remove_menu ;; - esac -} - show_update_menu() { local brand_name=$(omakub-branding-name) diff --git a/bin/omakub-remove-ollama b/bin/omakub-remove-ollama deleted file mode 100755 index b8f3d04e7..000000000 --- a/bin/omakub-remove-ollama +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -# omakub:summary=Remove the Ollama service and all installed models. -# omakub:requires-sudo=true - -echo "Removing Ollama..." - -# Remove service -sudo systemctl stop ollama -sudo systemctl disable ollama -sudo rm /etc/systemd/system/ollama.service - -# Remove command -sudo rm $(which ollama) - -# Remove installed models -sudo rm -r /usr/share/ollama -sudo userdel ollama -sudo groupdel ollama From 9395872051735da4ac40fa39ebc2813392c31250 Mon Sep 17 00:00:00 2001 From: Luca Pattocchio <15154851+Kasui92@users.noreply.github.com> Date: Sat, 18 Jul 2026 17:33:00 +0200 Subject: [PATCH 05/17] upd: remove password managers --- bin/omakub-install-1password | 12 ------------ bin/omakub-menu | 4 +--- bin/omakub-remove-1password | 10 ---------- bin/omakub-system-lock | 5 ----- default/omakub-skill/SKILL.md | 2 +- 5 files changed, 2 insertions(+), 31 deletions(-) delete mode 100755 bin/omakub-install-1password delete mode 100755 bin/omakub-remove-1password diff --git a/bin/omakub-install-1password b/bin/omakub-install-1password deleted file mode 100755 index d3509361b..000000000 --- a/bin/omakub-install-1password +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -# omakub:summary=Install 1Password password manager. -# omakub:requires-sudo=true - -echo "Installing 1Password..." - -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 diff --git a/bin/omakub-menu b/bin/omakub-menu index cd2986781..cab55e3e3 100755 --- a/bin/omakub-menu +++ b/bin/omakub-menu @@ -359,9 +359,7 @@ show_install_menu() { } show_install_service_menu() { - case $(menu "Install" " 1password\n Bitwarden\n Discord\n Dropbox\n LibreOffice\n LocalSend\n ObsStudio\n Obsidian\n Signal\n Spotify\n Typora") in - *1password*) present_terminal omakub-install-1password ;; - *Bitwarden*) install "Bitwarden" "bitwarden" ;; + case $(menu "Install" " Discord\n Dropbox\n LibreOffice\n LocalSend\n ObsStudio\n Obsidian\n Signal\n Spotify\n Typora") in *Discord*) present_terminal omakub-install-discord ;; *Dropbox*) install "Dropbox" "nautilus-dropbox" ;; *LibreOffice*) install "LibreOffice" "libreoffice" ;; diff --git a/bin/omakub-remove-1password b/bin/omakub-remove-1password deleted file mode 100755 index 3bf97b3d8..000000000 --- a/bin/omakub-remove-1password +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -# omakub:summary=Remove 1Password and its APT repository. -# omakub:requires-sudo=true - -echo "Removing 1Password..." - -sudo rm /etc/apt/sources.list.d/1password.list -sudo rm /usr/share/keyrings/1password-archive-keyring.gpg -omakub-pkg-drop 1password 1password-cli diff --git a/bin/omakub-system-lock b/bin/omakub-system-lock index de738bda4..9a6228534 100755 --- a/bin/omakub-system-lock +++ b/bin/omakub-system-lock @@ -5,10 +5,5 @@ # omakub:name=lock # omakub:examples=omakub system lock -# Ensure 1password is locked -if pgrep -x "1password" >/dev/null; then - 1password --lock & -fi - # Lock the screen loginctl lock-session \ No newline at end of file diff --git a/default/omakub-skill/SKILL.md b/default/omakub-skill/SKILL.md index 3a13f1a2c..db3e15f81 100644 --- a/default/omakub-skill/SKILL.md +++ b/default/omakub-skill/SKILL.md @@ -311,7 +311,7 @@ omakub-install-terminal # Install and set default terminal # - Browsers: brave, chromium, firefox, zen # - Dev tools: docker, neovim, visual-studio-code, cursor, zed, github-cli # - Terminals: alacritty, kitty -# - Utilities: 1password, obsidian, signal, discord, spotify, obs-studio +# - Utilities: obsidian, signal, discord, spotify, obs-studio # And many more... # Application folder management (for GNOME app grid) From 7f2601a3bebeb837310f086e31eb856768d4c0c3 Mon Sep 17 00:00:00 2001 From: Luca Pattocchio <15154851+Kasui92@users.noreply.github.com> Date: Sat, 18 Jul 2026 17:34:09 +0200 Subject: [PATCH 06/17] upd: remove signal --- bin/omakub-install-signal | 17 ----------------- bin/omakub-menu | 3 +-- default/omakub-skill/SKILL.md | 2 +- 3 files changed, 2 insertions(+), 20 deletions(-) delete mode 100755 bin/omakub-install-signal diff --git a/bin/omakub-install-signal b/bin/omakub-install-signal deleted file mode 100755 index 3f9ddf7cd..000000000 --- a/bin/omakub-install-signal +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -# omakub:summary=Install the Signal desktop app. - -echo "Installing Signal..." - -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 signal-desktop.sources -fi - -sudo apt-get update -omakub-pkg-add signal-desktop diff --git a/bin/omakub-menu b/bin/omakub-menu index cab55e3e3..2d62d5445 100755 --- a/bin/omakub-menu +++ b/bin/omakub-menu @@ -359,14 +359,13 @@ show_install_menu() { } show_install_service_menu() { - case $(menu "Install" " Discord\n Dropbox\n LibreOffice\n LocalSend\n ObsStudio\n Obsidian\n Signal\n Spotify\n Typora") in + case $(menu "Install" " Discord\n Dropbox\n LibreOffice\n LocalSend\n ObsStudio\n Obsidian\n Spotify\n Typora") in *Discord*) present_terminal omakub-install-discord ;; *Dropbox*) install "Dropbox" "nautilus-dropbox" ;; *LibreOffice*) install "LibreOffice" "libreoffice" ;; *LocalSend*) install "LocalSend" "localsend" ;; *ObsStudio*) install "ObsStudio" "obs-studio" ;; *Obsidian*) install "Obsidian" "obsidian" ;; - *Signal*) present_terminal omakub-install-signal ;; *Spotify*) present_terminal omakub-install-spotify ;; *Typora*) present_terminal omakub-install-typora ;; *) show_install_menu ;; diff --git a/default/omakub-skill/SKILL.md b/default/omakub-skill/SKILL.md index db3e15f81..691e3fe32 100644 --- a/default/omakub-skill/SKILL.md +++ b/default/omakub-skill/SKILL.md @@ -311,7 +311,7 @@ omakub-install-terminal # Install and set default terminal # - Browsers: brave, chromium, firefox, zen # - Dev tools: docker, neovim, visual-studio-code, cursor, zed, github-cli # - Terminals: alacritty, kitty -# - Utilities: obsidian, signal, discord, spotify, obs-studio +# - Utilities: obsidian, discord, spotify, obs-studio # And many more... # Application folder management (for GNOME app grid) From 9a06e6345debb67bd234e7138a88c5c9c3e6c5b1 Mon Sep 17 00:00:00 2001 From: Luca Pattocchio <15154851+Kasui92@users.noreply.github.com> Date: Sat, 18 Jul 2026 17:38:06 +0200 Subject: [PATCH 07/17] upd: remove unused packages from omakub-base --- install/omakub-base.packages | 9 --------- 1 file changed, 9 deletions(-) diff --git a/install/omakub-base.packages b/install/omakub-base.packages index 4fd5abe7c..187f3e85f 100644 --- a/install/omakub-base.packages +++ b/install/omakub-base.packages @@ -9,7 +9,6 @@ bison btop build-essential -cargo clang cmake curl @@ -43,17 +42,13 @@ lazydocker lazygit libffi-dev libgdbm-dev -libjemalloc2 libmagickwand-dev -libmysqlclient-dev libncurses-dev -libpq-dev libreadline-dev libreoffice libsqlite3-0 libssl-dev libvips42t64 -libyaml-dev localsend mpv @@ -67,13 +62,9 @@ pinta pipx pkg-config plocate -postgresql-client -postgresql-client-common python3-nautilus -python3-pip ripgrep -rustc sqlite3 starship From 03f00b8dd67edf4e7858cd6b0e2d5a5aa1d2eb2e Mon Sep 17 00:00:00 2001 From: Luca Pattocchio <15154851+Kasui92@users.noreply.github.com> Date: Sat, 18 Jul 2026 17:47:19 +0200 Subject: [PATCH 08/17] upd: remove rails alias from bash aliases --- default/bash/aliases | 1 - 1 file changed, 1 deletion(-) diff --git a/default/bash/aliases b/default/bash/aliases index 721fff503..0a25048db 100644 --- a/default/bash/aliases +++ b/default/bash/aliases @@ -35,7 +35,6 @@ alias ....='cd ../../..' # Tools alias d='docker' -alias r='rails' alias bat='batcat' alias lzg='lazygit' alias lzd='lazydocker' From 9c86a665e779cc93b4f02de76183e12fbed94e85 Mon Sep 17 00:00:00 2001 From: Luca Pattocchio <15154851+Kasui92@users.noreply.github.com> Date: Sat, 18 Jul 2026 17:48:52 +0200 Subject: [PATCH 09/17] upd: remove typora --- applications/typora.desktop | 10 - bin/omakub-install-typora | 21 -- bin/omakub-menu | 3 +- config/Typora/themes/ia_typora.css | 309 ----------------------- config/Typora/themes/ia_typora_night.css | 95 ------- 5 files changed, 1 insertion(+), 437 deletions(-) delete mode 100644 applications/typora.desktop delete mode 100755 bin/omakub-install-typora delete mode 100644 config/Typora/themes/ia_typora.css delete mode 100644 config/Typora/themes/ia_typora_night.css diff --git a/applications/typora.desktop b/applications/typora.desktop deleted file mode 100644 index c1af03567..000000000 --- a/applications/typora.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Name=Typora -GenericName=Markdown Editor -Exec=typora --enable-wayland-ime %U -Icon=typora -Type=Application -StartupNotify=true -Categories=Office;WordProcessor; -MimeType=text/markdown;text/x-markdown; - diff --git a/bin/omakub-install-typora b/bin/omakub-install-typora deleted file mode 100755 index dad058610..000000000 --- a/bin/omakub-install-typora +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -# omakub:summary=Install the Typora markdown editor. -# omakub:requires-sudo=true - -echo "Installing Typora..." - -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-get update -omakub-pkg-add typora - -# Add iA Typora theme -mkdir -p ~/.config/Typora/themes -cp ~/.local/share/omakub/configs/typora/ia_typora.css ~/.config/Typora/themes/ -cp ~/.local/share/omakub/configs/typora/ia_typora_night.css ~/.config/Typora/themes/ \ No newline at end of file diff --git a/bin/omakub-menu b/bin/omakub-menu index 2d62d5445..952c650b0 100755 --- a/bin/omakub-menu +++ b/bin/omakub-menu @@ -359,7 +359,7 @@ show_install_menu() { } show_install_service_menu() { - case $(menu "Install" " Discord\n Dropbox\n LibreOffice\n LocalSend\n ObsStudio\n Obsidian\n Spotify\n Typora") in + case $(menu "Install" " Discord\n Dropbox\n LibreOffice\n LocalSend\n ObsStudio\n Obsidian\n Spotify") in *Discord*) present_terminal omakub-install-discord ;; *Dropbox*) install "Dropbox" "nautilus-dropbox" ;; *LibreOffice*) install "LibreOffice" "libreoffice" ;; @@ -367,7 +367,6 @@ show_install_service_menu() { *ObsStudio*) install "ObsStudio" "obs-studio" ;; *Obsidian*) install "Obsidian" "obsidian" ;; *Spotify*) present_terminal omakub-install-spotify ;; - *Typora*) present_terminal omakub-install-typora ;; *) show_install_menu ;; esac } diff --git a/config/Typora/themes/ia_typora.css b/config/Typora/themes/ia_typora.css deleted file mode 100644 index 231ca177f..000000000 --- a/config/Typora/themes/ia_typora.css +++ /dev/null @@ -1,309 +0,0 @@ -:root { - --accent-color: #aeb1b5; /* #'s before H1-3 */ - --background-color: white; - --border-color: #ddd; - --code-bg-color: #f8f8f8; - --font-color: #42464c; - --header-color: #222324; - --link-color: #2077b2; - --control-text-color: #667176; - --side-bar-bg-color: #fafafa; - --body-font: "iA Writer Mono S"; - --border-radius: 2px; - --document-horizontal-margin: 80px; - --document-padding-x: 10ch; - --font-size: 20px; - --h1-fontsize: 20px; /* 1,5 rem = 24px */ - --h2-fontsize: 20px; /* 1,375 rem = 22px */ - --h3-fontsize: 20px; /* 1,25 rem = 20px */ - --h4-fontsize: 20px; /* 1,125 rem = 18px */ - --line-height: 1.8; - --main-content-margin: 0 auto; - --main-content-max-width: 85ch; - --monospace-font-size: 20px; - --monospace-font: "iA Writer Mono S"; - --monospace-line-height: 1.6; - --monospace: var(--monospace-font); /* Fixes source code mode */ - --nav-width: 200px; - --vertical-padding: 40px; -} - -/* Narrow layout styles */ -@media (max-width: 640px) { - :root { - --document-padding-x: 4ch; - } -} - -html { - font-size: var(--font-size); - background-color: var(--background-color); -} - -html, -body { - color: var(--font-color); - font-family: var(--body-font); - line-height: var(--line-height); -} - -#write { - /* size of writing area: */ - padding-left: var(--document-padding-x); - padding-right: var(--document-padding-x); - max-width: var(--main-content-max-width); - box-sizing: border-box; -} - -/** - * --------------------- - * Block Elements - */ - -/* yaml */ -pre.md-meta-block { - background-color: var(--background-color); - padding-bottom: .5rem; - color: var(--accent-color); - border-bottom: 2px solid var(--border-color); - font-family: var(--monospace-font); -} - -/* headings */ -h1, h2, h3 { - font-weight: bold; - color: var(--header-color); -} - -h1 { - margin-top: 1rem; - margin-bottom: 1rem; - font-size: var(--h1-fontsize); -} - -h1:not(:first-child) { - margin-top: 1rem; -} - -h2 { - margin-top: 1rem; - margin-bottom: 0rem; - font-size: var(--h2-fontsize); -} - -h3 { - margin-top: 1rem; - margin-bottom: 0rem; - font-size: var(--h3-fontsize); -} - -h4, h5, h6 { - color: var(--header-color); - margin-top: 1rem; - margin-bottom: 0rem; - font-size: 1rem; -} - -h4 { - font-size: var(--h4-fontsize); -} - -h6 { - color: var(--control-text-color); -} - -h1::before, -h2::before, -h3::before { - font-weight: 400; - text-align: right; - width: 5ch; - padding-right: 1ch; - margin-left: -5ch; - color: var(--accent-color); - display: inline-block; -} - -h1::before { - content: '#'; -} - -h2::before { - content: '##'; -} - -h3::before { - content: '###'; -} - -h1 tt, -h1 code { - font-size: inherit; -} -h2 tt, -h2 code { - font-size: inherit; -} -h3 tt, -h3 code { - font-size: inherit; -} -h4 tt, -h4 code { - font-size: inherit; -} -h5 tt, -h5 code { - font-size: inherit; -} -h6 tt, -h6 code { - font-size: inherit; -} - -/* table */ -table { - margin-top: 1rem; - margin-bottom: 1rem; -} - -table tr:nth-child(2n), -thead { - background-color: var(--side-bar-bg-color); -} - -td, -th { - border-style: solid; - border-color: var(--border-color); - border-width: 1px; - padding: .35rem .7rem -} - -li p { - margin: 0; -} - -.task-list { - padding-left: 0; -} - -.task-list-item { - padding-left: 1.5em; - margin-bottom: 0rem; -} - -#write input[type='checkbox'] { - margin-top: 5px; -} - -blockquote { - margin: 1rem 0; - padding-left: 2ch; - margin-left: .5ch; - position: relative; - overflow: hidden; - border-left: 2px solid var(--border-color); - color: var(--accent-color); -} - -/* horizontal line */ -hr { - border: none; - border-bottom: 2px solid var(--border-color); - margin-top: 1.4rem; - margin-bottom: 1.4rem; -} - -p { - margin: 2rem 0; -} - -/** - * Code Fences - * see http:/*support.typora.io/Code-Block-Styles - */ - -.cm-s-inner .CodeMirror-gutters { - background: var(--code-bg-color); -} - -.code-tooltip { - box-shadow: none; - border-radius: var(--border-radius); - background-color: var(--code-bg-color); - border-color: var(--border-color); - border-style: solid; - border-width: 1px; -} - -.code-tooltip input { - outline: none; - width: 20ch; -} - -.md-fences .code-tooltip { - bottom: -1.8rem; - padding: none; -} - -.md-fences.md-focus .cm-s-inner { - /* Remove bottom right border radius when tooltip is shown */ - border-bottom-right-radius: 0; -} - -/* code tooltip autocomplete list */ - -.autoComplt-hint { - background-color: transparent !important; - margin: 0 !important; - padding: 0.125rem 0.375rem !important; - color: var(--text-color) !important; - line-height: var(--line-height) !important; - height: 1.4rem !important; -} - -.autoComplt-hint-selected { - background-color: var(--link-color) !important; - color: var(--background-color) !important; -} - -/* basic styles */ - -.md-fences, -code, -tt { - border: 1px solid var(--border-color); - background-color: var(--code-bg-color); - font-family: var(--monospace-font); - font-size: var(--monospace-font-size); - border-radius: .25rem; - padding: 0 .125rem; - line-height: var(--monospace-line-height); -} - -.md-fences { - margin-bottom: 18px; - margin-top: 15px; - padding: 0.2em 1em; - padding-top: 8px; - padding-bottom: 6px; -} - -a { - color: var(--link-color); -} - - -/** - * Control UI (optional) - */ - -.outline-item:hover { - color: var(--header-color); -} - -#write div.md-toc-tooltip { - background-color: var(--background-color); -} - diff --git a/config/Typora/themes/ia_typora_night.css b/config/Typora/themes/ia_typora_night.css deleted file mode 100644 index ac0b6c043..000000000 --- a/config/Typora/themes/ia_typora_night.css +++ /dev/null @@ -1,95 +0,0 @@ -@import 'night/codeblock.dark.css'; -@import 'night/mermaid.dark.css'; -@import 'night/sourcemode.dark.css'; -@import 'ia_typora.css'; - -:root { - --accented-background-color: #1e1e1e; - --light-header-color: #dbdbdb; /* H1-H3 */ - --select-text-bg-color: #186a9a; - --accent-color: #4f525a; - --background-color: #000000; - --font-color: #bbbcbc; - --header-color: #bebebe; /* H4-H6 */ - --border-color: #232629; - --link-color: #5584aa; - --code-bg-color: #1c1a1a; - --hover-bg-color: #050505; - --control-text-color: var(--font-color); - --side-bar-bg-color: var(--accented-background-color); - --control-text-hover-color: var(--header-color); - --item-hover-text-color: var(--header-color); - --item-hover-bg-color: var(--hover-bg-color); - --bg-color: var(--background-color); - --text-color: var(--font-color); - --meta-content-color: var(--accent-color); - --md-char-color: var(--accent-color); - --window-border: 1px solid rgba(0,0,0,.07); - --active-file-bg-color: var(--hover-bg-color); -} - -.outline-item:hover { - background-color: var(--hover-bg-color); -} - -#write { - cursor: -webkit-image-set(url("night/cursor.png") 1x, url("night/cursor@2x.png") 2x) 8 8, auto; -} - -h1, -h2, -h3 { - color: var(--light-header-color); -} - -mark { - background: #b8b80a -} - -table tr:nth-child(2n), -thead { - background-color: #141313; -} - -sup.md-footnote { - background-color: var(--code-bg-color); - color: var(--font-color); -} - -/* right click menu */ -.context-menu { - background-color: #141313; -} - -.context-menu.dropdown-menu .divider { - background-color: #232629; -} - -/* focus mode */ -.on-focus-mode .md-end-block:not(.md-focus):not(.md-focus-container) * { - color: #4f525a !important; -} - -.on-focus-mode .md-end-block:not(.md-focus) img, -.on-focus-mode .md-task-list-item:not(.md-focus-container)>input { - opacity: #4f525a !important; -} - -.on-focus-mode li[cid]:not(.md-focus-container){ - color: #4f525a; -} - -.on-focus-mode .md-fences.md-focus .CodeMirror-code>*:not(.CodeMirror-activeline) *, -.on-focus-mode .CodeMirror.cm-s-inner:not(.CodeMirror-focused) * { - color: #4f525a !important; -} - -.on-focus-mode .md-focus, -.on-focus-mode .md-focus-container { - color: var(--light-header-color); -} - -.on-focus-mode #typora-source .CodeMirror-code>*:not(.CodeMirror-activeline) * { - color: #4f525a !important; -} - From 73c960e0e46651ad7b30f312373938d329935dd6 Mon Sep 17 00:00:00 2001 From: Luca Pattocchio <15154851+Kasui92@users.noreply.github.com> Date: Sat, 18 Jul 2026 17:59:42 +0200 Subject: [PATCH 10/17] upd: create migration script to route web app launchers through omakub-launch-browser --- migrations/1784389732.sh | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 migrations/1784389732.sh diff --git a/migrations/1784389732.sh b/migrations/1784389732.sh new file mode 100644 index 000000000..8198e2b2d --- /dev/null +++ b/migrations/1784389732.sh @@ -0,0 +1,22 @@ +echo "Route existing web app launchers through omakub-launch-browser, dropping the omakub-launch-webapp dependency" + +APPLICATIONS_DIR="$HOME/.local/share/applications" + +find "$APPLICATIONS_DIR" -maxdepth 1 -name "*.desktop" 2>/dev/null | while read -r desktop_file; do + if ! grep -qE '^Exec=omakub-launch-webapp ' "$desktop_file"; then + continue + fi + + url=$(sed -n 's/^Exec=omakub-launch-webapp \([^ ]*\).*/\1/p' "$desktop_file") + app_name=$(sed -n 's/^Name=//p' "$desktop_file" | head -1) + app_id=$(echo "$app_name" | sed 's/[^a-zA-Z0-9]//g' | tr '[:upper:]' '[:lower:]') + webapp_data_dir="$HOME/.config/omakub/webapp/$(echo "$app_name" | tr ' ' '-' | tr '[:upper:]' '[:lower:]')" + mkdir -p "$webapp_data_dir" + + new_exec="Exec=omakub-launch-browser --user-data-dir=\"$webapp_data_dir\" --window-size=800,600 --app=\"$url\" --class=$app_id --name=\"$app_name\"" + + new_content=$(awk -v newexec="$new_exec" '/^Exec=omakub-launch-webapp /{print newexec; next}{print}' "$desktop_file") + printf '%s\n' "$new_content" > "$desktop_file" +done + +update-desktop-database "$APPLICATIONS_DIR" From 8cb4329d2f98d27f24a364042ef876cc0f9a5a2d Mon Sep 17 00:00:00 2001 From: Luca Pattocchio <15154851+Kasui92@users.noreply.github.com> Date: Sat, 18 Jul 2026 22:31:42 +0200 Subject: [PATCH 11/17] upd: remove Xournalpp --- bin/omakub-menu | 3 +-- bin/omakub-remove-preinstalls | 1 - install/omakub-base.packages | 1 - 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/bin/omakub-menu b/bin/omakub-menu index 952c650b0..b3a088970 100755 --- a/bin/omakub-menu +++ b/bin/omakub-menu @@ -383,11 +383,10 @@ show_install_browser_menu() { } show_install_utility_menu() { - case $(menu "Install" " Flameshot\n Pinta\n Starship\n Xournalpp") in + case $(menu "Install" " Flameshot\n Pinta\n Starship") in *Flameshot*) install "Flameshot" "flameshot" ;; *Pinta*) install "Pinta" "pinta" ;; *Starship*) install "Starship" "starship" ;; - *Xournalpp*) install "Xournalpp" "xournalpp" ;; *) show_install_menu ;; esac } diff --git a/bin/omakub-remove-preinstalls b/bin/omakub-remove-preinstalls index cb2144de1..c403107ec 100755 --- a/bin/omakub-remove-preinstalls +++ b/bin/omakub-remove-preinstalls @@ -14,7 +14,6 @@ if gum confirm "Are you sure you want to remove all preinstalled web apps, TUI w omakub-pkg-drop \ spotify \ libreoffice \ - xournalpp \ pinta \ lazydocker fi \ No newline at end of file diff --git a/install/omakub-base.packages b/install/omakub-base.packages index 187f3e85f..527cdd99d 100644 --- a/install/omakub-base.packages +++ b/install/omakub-base.packages @@ -80,7 +80,6 @@ wget wl-clipboard xdg-terminal-exec -xournalpp zlib1g-dev zoxide \ No newline at end of file From fdee5094bbb74db1b270947237bbab39223ef88d Mon Sep 17 00:00:00 2001 From: Luca Pattocchio <15154851+Kasui92@users.noreply.github.com> Date: Mon, 27 Jul 2026 11:35:08 +0200 Subject: [PATCH 12/17] upd: add python3-terminaltexteffects to package list --- install/omakub-base.packages | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/install/omakub-base.packages b/install/omakub-base.packages index 527cdd99d..9cec66277 100644 --- a/install/omakub-base.packages +++ b/install/omakub-base.packages @@ -63,6 +63,7 @@ pipx pkg-config plocate python3-nautilus +python3-terminaltexteffects ripgrep @@ -82,4 +83,4 @@ wl-clipboard xdg-terminal-exec zlib1g-dev -zoxide \ No newline at end of file +zoxide From f2c1a93f3508fe7269b447e03e66122acaf0b44b Mon Sep 17 00:00:00 2001 From: Luca Pattocchio <15154851+Kasui92@users.noreply.github.com> Date: Mon, 27 Jul 2026 11:35:48 +0200 Subject: [PATCH 13/17] upd: remove terminaltexteffects installation from pipx.sh Removed installation of terminaltexteffects. --- install/packaging/pipx.sh | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/install/packaging/pipx.sh b/install/packaging/pipx.sh index 7e641838e..6d399b054 100644 --- a/install/packaging/pipx.sh +++ b/install/packaging/pipx.sh @@ -1,6 +1,3 @@ -# Install terminaltexteffects -pipx install terminaltexteffects - # Install gnome-extensions-cli pipx install gnome-extensions-cli --system-site-packages @@ -13,4 +10,4 @@ export PATH="$HOME/.local/bin:$PATH" # Also update PATH in the parent shell environment by writing to a temp file # that can be sourced by the main installation script mkdir -p "$HOME/.local/state/omakub" -echo "export PATH=\"\$HOME/.local/bin:\$PATH\"" >> "$HOME/.local/state/omakub/.env_update" \ No newline at end of file +echo "export PATH=\"\$HOME/.local/bin:\$PATH\"" >> "$HOME/.local/state/omakub/.env_update" From 62af670a09074aebb15d8a6ff2a6170eb1ed1ba2 Mon Sep 17 00:00:00 2001 From: Luca Pattocchio <15154851+Kasui92@users.noreply.github.com> Date: Sat, 8 Aug 2026 09:54:50 +0200 Subject: [PATCH 14/17] chore: translate comment --- bin/omakub-update-system-pkgs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omakub-update-system-pkgs b/bin/omakub-update-system-pkgs index c3091f2c2..ec193d552 100755 --- a/bin/omakub-update-system-pkgs +++ b/bin/omakub-update-system-pkgs @@ -10,7 +10,7 @@ sudo apt-get update sudo apt-get -y upgrade sudo apt-get -y dist-upgrade -# Se ci sono pacchetti non più necessari, rimuovili +# Remove unnecessary packages if (( $(sudo apt-get -s autoremove 2>/dev/null | grep 'The following packages will be REMOVED:' | wc -l) > 0 )); then echo -e "\e[32m\nRemoving unnecessary packages\e[0m" sudo apt-get -y autoremove From f4aa9bbb3fb9ff5ab5db2f2b6c2d0fdf7c0f01ce Mon Sep 17 00:00:00 2001 From: Luca Pattocchio <15154851+Kasui92@users.noreply.github.com> Date: Sun, 30 Aug 2026 15:37:46 +0200 Subject: [PATCH 15/17] chore: update README to reflect Omakub's retirement --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 37d29fceb..b373064f0 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,6 @@ +> [!NOTE] +> Omakub has been officially retired, and this repository now carries that torch forward as its continuation. + # Omabuntu Omabuntu is a fork of [Omakub](https://omakub.org), the one-liner tool that turns a fresh Ubuntu install into a modern development environment. It builds on Omakub with targeted tweaks for a more streamlined and opinionated Linux setup. Likewise, Omabuntu keeps tabs on the evolving [Omarchy](https://omarchy.org) project, selectively adopting useful changes while staying grounded on a stable, proven base. @@ -5,7 +8,6 @@ Omabuntu is a fork of [Omakub](https://omakub.org), the one-liner tool that turn ## Documentation For Omabuntu-specific features, consult the [Omabuntu manual](https://omabuntu.omakasui.org/manual). - To learn about the project it comes from and the key features it has inherited, visit the [official Omakub manual](https://manuals.omamix.org/1/read). ## License @@ -14,8 +16,6 @@ Omabuntu is released under the [MIT License](https://opensource.org/licenses/MIT ## Contributing -As a fork of Omakub, Omabuntu welcomes contributions that extend existing functionality without compromising compatibility with the base project. - +As the continuation of Omakub, Omabuntu welcomes contributions that extend existing functionality while keeping a strong focus on compatibility, stability and long term maintainability. If you want to contribute to improving the manual, here is the [repository with the docs](https://github.com/omakasui/omabuntu.omakasui.org). - -If you want to contribute to Omakub core features, visit the [official repository](https://github.com/basecamp/omakub). +The original Omakub repository remains available for reference at the [official repository](https://github.com/basecamp/omakub). From 0816a046a85417921012a524ac9f4d34cb6a0f08 Mon Sep 17 00:00:00 2001 From: Luca Pattocchio <15154851+Kasui92@users.noreply.github.com> Date: Sun, 30 Aug 2026 15:40:07 +0200 Subject: [PATCH 16/17] chore: fix Omakub repository link in README --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b373064f0..161c79868 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # Omabuntu -Omabuntu is a fork of [Omakub](https://omakub.org), the one-liner tool that turns a fresh Ubuntu install into a modern development environment. It builds on Omakub with targeted tweaks for a more streamlined and opinionated Linux setup. Likewise, Omabuntu keeps tabs on the evolving [Omarchy](https://omarchy.org) project, selectively adopting useful changes while staying grounded on a stable, proven base. +Omabuntu is a fork of [Omakub](https://omarchy.org/omakub), the one-liner tool that turns a fresh Ubuntu install into a modern development environment. It builds on Omakub with targeted tweaks for a more streamlined and opinionated Linux setup. Likewise, Omabuntu keeps tabs on the evolving [Omarchy](https://omarchy.org) project, selectively adopting useful changes while staying grounded on a stable, proven base. ## Documentation @@ -18,4 +18,4 @@ Omabuntu is released under the [MIT License](https://opensource.org/licenses/MIT As the continuation of Omakub, Omabuntu welcomes contributions that extend existing functionality while keeping a strong focus on compatibility, stability and long term maintainability. If you want to contribute to improving the manual, here is the [repository with the docs](https://github.com/omakasui/omabuntu.omakasui.org). -The original Omakub repository remains available for reference at the [official repository](https://github.com/basecamp/omakub). +The original Omakub repository remains available for reference at the [official repository](https://github.com/omacom/omakub). From 7e9570052b1f98935156a34f0b435e8abf0aedb8 Mon Sep 17 00:00:00 2001 From: Luca Pattocchio <15154851+Kasui92@users.noreply.github.com> Date: Wed, 2 Sep 2026 11:32:32 +0200 Subject: [PATCH 17/17] fix(install): better to use a conservative approach rather than changing the value --- install/login/gdm3.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/login/gdm3.sh b/install/login/gdm3.sh index 95df0dd10..458b7ee13 100644 --- a/install/login/gdm3.sh +++ b/install/login/gdm3.sh @@ -1,5 +1,5 @@ # Use Wayland by default -sudo sed -i 's/^#WaylandEnable=false/WaylandEnable=true/' /etc/gdm3/custom.conf +sudo sed -i 's/^WaylandEnable=false/#WaylandEnable=false/' /etc/gdm3/custom.conf # Enable GDM3 service sudo systemctl enable gdm3