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/README.md b/README.md index 37d29fceb..161c79868 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,13 @@ +> [!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. +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 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/omacom/omakub). diff --git a/applications/icons/ChatGPT.png b/applications/icons/ChatGPT.png deleted file mode 100644 index 9907eaf82..000000000 Binary files a/applications/icons/ChatGPT.png and /dev/null differ diff --git a/applications/icons/GitHub.png b/applications/icons/GitHub.png deleted file mode 100644 index 5a4295c24..000000000 Binary files a/applications/icons/GitHub.png and /dev/null differ diff --git a/applications/icons/Retroarch.png b/applications/icons/Retroarch.png deleted file mode 100644 index 07b422072..000000000 Binary files a/applications/icons/Retroarch.png and /dev/null differ diff --git a/applications/icons/WhatsApp.png b/applications/icons/WhatsApp.png deleted file mode 100644 index 10ecdfb5f..000000000 Binary files a/applications/icons/WhatsApp.png and /dev/null differ diff --git a/applications/icons/X.png b/applications/icons/X.png deleted file mode 100644 index 22fe6987a..000000000 Binary files a/applications/icons/X.png and /dev/null differ diff --git a/applications/icons/YouTube.png b/applications/icons/YouTube.png deleted file mode 100644 index 46ed4ca78..000000000 Binary files a/applications/icons/YouTube.png and /dev/null differ 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 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-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-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-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-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-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-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-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 5165a35cc..b3a088970 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\n Gaming") 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 ;; - *Web*) present_terminal omakub-webapp-install ;; *TUI*) present_terminal omakub-tui-install ;; *Service*) show_install_service_menu ;; *Browser*) show_install_browser_menu ;; @@ -355,26 +354,19 @@ show_install_menu() { *Development*) show_install_development_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 } 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 - *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 Spotify") 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 ;; - *Tailscale*) present_terminal omakub-install-tailscale ;; *) show_install_menu ;; esac } @@ -391,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 } @@ -487,32 +478,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_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 TUI\n Style\n Browser\n󰵮 Development\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 ;; *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 @@ -583,22 +555,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_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-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-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-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 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 diff --git a/bin/omakub-remove-preinstalls b/bin/omakub-remove-preinstalls index 3cfa4996f..c403107ec 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 @@ -15,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/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/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 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/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; -} - 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' diff --git a/default/omakub-skill/SKILL.md b/default/omakub-skill/SKILL.md index 3a13f1a2c..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: 1password, obsidian, signal, discord, spotify, obs-studio +# - Utilities: obsidian, discord, spotify, obs-studio # And many more... # Application folder management (for GNOME app grid) 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/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 diff --git a/install/omakub-base.packages b/install/omakub-base.packages index 4fd5abe7c..9cec66277 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,10 @@ pinta pipx pkg-config plocate -postgresql-client -postgresql-client-common python3-nautilus -python3-pip +python3-terminaltexteffects ripgrep -rustc sqlite3 starship @@ -89,7 +81,6 @@ wget wl-clipboard xdg-terminal-exec -xournalpp zlib1g-dev -zoxide \ No newline at end of file +zoxide 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/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" 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 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"