From 77cc3a1c98b4878c4dae42a0c34311467b5890fb Mon Sep 17 00:00:00 2001 From: andwati Date: Wed, 15 Jul 2026 17:04:38 +0300 Subject: [PATCH] Switch Slack to Flathub instead of the packagecloud apt repo Adds a shared ensure_flatpak helper in lib.sh (installs flatpak + adds the Flathub remote) and reuses it from both the slack module and desnap.sh's unmapped-snap fallback instead of duplicating the setup. --- LICENSE | 2 +- desnap.sh | 6 +----- install/install.sh | 2 +- install/lib.sh | 11 +++++++++++ install/modules/slack.sh | 13 ++++++++----- 5 files changed, 22 insertions(+), 12 deletions(-) diff --git a/LICENSE b/LICENSE index 87ae70e..7969357 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2023 Ian Andwati +Copyright (c) 2026 Ian Andwati Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/desnap.sh b/desnap.sh index d51aa4d..e36aba1 100755 --- a/desnap.sh +++ b/desnap.sh @@ -127,11 +127,7 @@ fi if [[ ${#unmapped[@]} -gt 0 ]]; then warn "no apt equivalent known for: ${unmapped[*]} — setting up Flatpak/Flathub so you can still get them" - apt_install flatpak - if has_cmd gnome-shell; then - apt_install gnome-software-plugin-flatpak - fi - sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo + ensure_flatpak warn "search/install with: flatpak search && flatpak install flathub " for s in "${unmapped[@]}"; do warn " - $s" diff --git a/install/install.sh b/install/install.sh index 31a7d0a..3725835 100755 --- a/install/install.sh +++ b/install/install.sh @@ -41,7 +41,7 @@ declare -A MODULE_DESC=( [zig]="Zig + zls (language server)" [chrome]="Google Chrome" [discord]="Discord" - [slack]="Slack" + [slack]="Slack (Flathub)" [firefox]="Firefox (Mozilla apt repo, not snap)" [postman]="Postman" [jetbrains-toolbox]="JetBrains Toolbox" diff --git a/install/lib.sh b/install/lib.sh index 963a7bd..00053ce 100644 --- a/install/lib.sh +++ b/install/lib.sh @@ -48,6 +48,17 @@ apt_install() { fi } +# ensure_flatpak — installs flatpak (+ GNOME Software integration when +# running GNOME) and adds the Flathub remote system-wide. Shared by any +# module that prefers a verified Flathub app id over a vendor's own apt repo. +ensure_flatpak() { + apt_install flatpak + if has_cmd gnome-shell; then + apt_install gnome-software-plugin-flatpak + fi + sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo +} + # apt_add_repo # Registers a signed apt repo the way every vendor's official install docs do # it (dearmor the key into /etc/apt/keyrings or similar, write a .list file), diff --git a/install/modules/slack.sh b/install/modules/slack.sh index f91fc7e..5dbef8a 100644 --- a/install/modules/slack.sh +++ b/install/modules/slack.sh @@ -1,7 +1,10 @@ install_slack() { - if has_cmd slack; then ok "slack already installed"; return; fi - apt_add_repo slack /etc/apt/trusted.gpg.d/slack.gpg \ - https://packagecloud.io/slacktechnologies/slack/gpgkey \ - "deb https://packagecloud.io/slacktechnologies/slack/debian/ jessie main" - apt_install slack-desktop + if flatpak list --app 2>/dev/null | grep -q com.slack.Slack; then + ok "slack already installed" + return + fi + + ensure_flatpak + sudo flatpak install -y flathub com.slack.Slack + rollback_push "sudo flatpak uninstall -y com.slack.Slack" }