#!/usr/bin/env bash set -e if [ $(whoami) == "root" ]; then echo "Run as a normal user, not root" exit 1 fi # only fedora is up-to-date command_exists() { type "$1" &>/dev/null; } if command_exists "apt-get"; then sudo apt-get install kitty -y echo "Please install SchildiChat, nvim/neovim" elif command_exists "dnf"; then sudo dnf install kitty neovim gcc gnome-hexgl drawing make vlc freeglut ncdu gcolor3 rustup clippy p7zip mosh krita podman podman-docker podman-compose gajim progress yt-dlp genisoimage zstd iperf3 keepassxc python3-pip -y # Install schildichat-desktop # should be in my repo, but this works as both a fallback, and is faster than downloading from my repo - updates will come from my repo, though sudo dnf install $(curl -s https://api.github.com/repos/SchildiChat/schildichat-desktop/releases/latest | grep "browser_download_url.*schildichat-desktop-.*.x86_64.rpm" | cut -d : -f 2,3 | tr -d \" | tr -d ' ') # Install Prism Launcher sudo dnf copr enable g3tchoo/prismlauncher sudo dnf install prismlauncher-qt5 elif command_exists "rpm-ostree"; then rpm-ostree install kitty neovim gcc gnome-hexgl drawing make vlc freeglut ncdu gcolor3 rustup clippy p7zip mosh krita podman podman-docker podman-compose gajim progress yt-dlp genisoimage zstd iperf3 -y --allow-inactive # Install Prism Launcher sudo wget https://copr.fedorainfracloud.org/coprs/g3tchoo/prismlauncher/repo/fedora-$(rpm -E %fedora)/g3tchoo-prismlauncher-fedora-$(rpm -E %fedora).repo -O /etc/yum.repos.d/g3tchoo-prismlauncher.repo rpm-ostree install prismlauncher-qt5 flatpak install me.iepure.devtoolbox elif command_exists "yay"; then yay -S kitty neovim gcc vlc ncdu gcolor3 rustup p7zip mosh krita podman podman-compose gajim progress yt-dlp genisoimage drawing clippy gnome-hexgl zstd iperf3 unzip schildichat-desktop-bin digikam man-db prismlauncher-qt5-bin progress --noconfirm --needed elif command_exists "zypp"; then # Untested sudo zypper install kitty -y echo "Please install SchildiChat, nvim/neovim" elif command_exists "emerge"; then echo Not yet supported, exiting... exit elif command_exists "apk"; then echo Not yet supported, exiting... elif command_exists "xbps-install"; then # missing: hexgl, drawing, clippy, schildichat, genisoimage # not included: libfreeglut, don't think that's required sudo xbps-install kitty neovim gcc vlc ncdu gcolor3 rustup p7zip mosh krita podman podman-compose gajim progress yt-dlp zstd iperf3 unzip cd ~/Applications curl -LO $(curl -s https://api.github.com/repos/SchildiChat/schildichat-desktop/releases/latest | grep "browser_download_url.*SchildiChat-.*.AppImage" | head --lines 1 | cut -d : -f 2,3 | tr -d \") -C - cd - else echo "Unsupported: unknown package manager and distro" exit fi