foss-artist-install_v0.0.1
This is the very first version of the foss artist install trunk.
Right now this is just for KRITA, but other apps will follow this new system.
The goal is to contain every useful art software in one place to allow specially curated VFX suite for Fedora based Linux users.
First we're starting with Krita and added some features that photoshop users will find handy from ACLY.
Tested on Nobara 42
Install (Boostrap):
#!/usr/bin/env bash
# Where to store install files (Not the install directory)
cd "$HOME/Downloads"
bash -c '
set -euo pipefail
IFS=$'\''\n\t'\''
BOOT_DIR="$(pwd)"
INSTALL_DIR="$BOOT_DIR/krita_install"
INSTALL_SCRIPT="$INSTALL_DIR/install.sh"
UNINSTALL_SCRIPT="$INSTALL_DIR/uninstall.sh"
VERSION_FILE="$INSTALL_DIR/version"
# ─── Pin to specific v0.0.1 release ─────────────────────────────
GITHUB_ARCHIVE_NAME="foss-artist-install_v0.0.1.tar.gz"
GITHUB_LATEST_URL="https://github.com/SimonHeggie/FOSS-Artist-workflow-Guide/releases/download/v0.0.1/$GITHUB_ARCHIVE_NAME"
ARCHIVE_TEMP="$GITHUB_ARCHIVE_NAME"
# Step 1: Prefer local krita_install/
if [ -d "$INSTALL_DIR" ]; then
echo "[INFO] Found existing ./krita_install — skipping download."
else
echo "[INFO] krita_install/ not found. Downloading version v0.0.1..."
curl -L "$GITHUB_LATEST_URL" -o "$ARCHIVE_TEMP"
echo "[INFO] Extracting installer..."
tar -xf "$ARCHIVE_TEMP" || {
echo "[ERROR] Failed to extract archive $ARCHIVE_TEMP" >&2
exit 1
}
rm -f "$ARCHIVE_TEMP"
if [ ! -d "$INSTALL_DIR" ]; then
echo "[ERROR] Expected folder '\''krita_install/'\'' not found after extraction." >&2
exit 1
fi
fi
# Step 2: Validate presence of install script
if [ ! -f "$INSTALL_SCRIPT" ]; then
echo "[ERROR] Missing install.sh inside krita_install/ — aborting." >&2
ls -l "$INSTALL_DIR"
exit 1
fi
# Step 3: Show install state + menu
if [ ! -f "$VERSION_FILE" ]; then
echo "[INFO] Krita not installed yet."
echo "[I] Install"
echo "[Q] Quit"
printf "Select an option: "
read -r option
case "$option" in
[Ii]) bash "$INSTALL_SCRIPT" ;;
[Qq]) echo "Goodbye!" && exit 0 ;;
*) echo "Invalid input." && exit 1 ;;
esac
else
echo "[INFO] Krita install detected."
if grep -qE '\''^(FOSS_INSTALL|KRITA)='\'' "$VERSION_FILE"; then
echo "[INFO] Installed versions:"
grep -E '\''^(FOSS_INSTALL|KRITA)='\'' "$VERSION_FILE"
fi
echo "[Enter] Update"
echo "[Del] Uninstall"
echo "[Q] Quit"
printf "Select an option: "
IFS= read -rsn1 key
printf "\n"
case "$key" in
"") bash "$INSTALL_SCRIPT" ;;
$'\''\x7f'\'') bash "$UNINSTALL_SCRIPT" ;; # DEL key
[Qq]) echo "Goodbye!" && exit 0 ;;
*) echo "Invalid key." && exit 1 ;;
esac
fi
'