Files
HamPack/install.sh
2026-04-02 09:27:22 -06:00

102 lines
3.0 KiB
Bash
Executable File

#!/bin/bash -i
#
# Purpose : HamPack installer
# Print the logo
print_logo() {
cat << "EOF"
██╗ ██╗ █████╗ ███╗ ███╗██████╗ █████╗ ██████╗██╗ ██╗
██║ ██║██╔══██╗████╗ ████║██╔══██╗██╔══██╗██╔════╝██║ ██╔╝
███████║███████║██╔████╔██║██████╔╝███████║██║ █████╔╝
██╔══██║██╔══██║██║╚██╔╝██║██╔═══╝ ██╔══██║██║ ██╔═██╗
██║ ██║██║ ██║██║ ╚═╝ ██║██║ ██║ ██║╚██████╗██║ ██╗
╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝
EOF
}
# --- Main ---
set -e
clear
print_logo
cd ~
echo "Getting the latest version of HamPack..."
rm -rf ~/.local/share/HamPack
git clone https://gitea.young.computer/david/HamPack.git ~/.local/share/HamPack > /dev/null
mkdir -p ~/.local/bin
sudo cp ~/.local/share/HamPack/hampackrefresh ~/.local/bin/hampackrefresh
sudo cp ~/.local/share/HamPack/hampackupdate ~/.local/bin/hampackupdate
cd ~/.local/share/HamPack
echo "Setting up sudo..."
. sudo.sh
# Source utility functions
source utils.sh
# Source package list
if [ ! -f "packages.conf" ]; then
echo "Error: packages.conf not found!"
exit 1
fi
source packages.conf
echo "Installing system utilities..."
install_packages "${UTILITIES[@]}"
echo "Installing applications..."
install_packages "${APPLICATIONS[@]}"
cd ~/.local/share/HamPack
echo "Installing Flatpak applications..."
. install-flatpaks.sh
echo "Installing stand-alone compiled applications..."
. install-compiled.sh
cd ~/.local/share/HamPack
echo "Installing Windows-only applications..."
. install-windows-apps.sh
echo "Installing not1mm..."
curl -LsSf uvx.sh/not1mm/install.sh | sh
echo "Installing dx.py..."
wget -q https://raw.githubusercontent.com/HB9VQQ/dx.py/main/dx.py -O "$HOME/.local/bin/dx.py"
chmod +x "$HOME/.local/bin/dx.py"
echo "Building HamPack..."
cd ~/.local/share/HamPack/hampack-src
go get github.com/diamondburned/gotk4-adwaita/pkg/adw@latest
go get github.com/diamondburned/gotk4/pkg/gtk/v4@latest
go mod tidy
go build -o ~/.local/bin/hampack .
cd ~/.local/share/HamPack
echo "Installing HamPack desktop file..."
mkdir -p ~/.local/share/applications
cat > ~/.local/share/applications/hampack.desktop << EOF
[Desktop Entry]
Type=Application
Name=HamPack
Exec=$HOME/.local/bin/hampack
Icon=$HOME/.local/share/HamPack/desktop/icons/ham.png
Comment=Manage HamPack amateur radio software
Categories=HamRadio;
EOF
sudo rm /etc/sudoers.d/hampack
echo "HamPack is installed. You may want to restart existing applications when convenient."