Skip to content

foss-artist-install_v0.0.1

Choose a tag to compare

@SimonHeggie SimonHeggie released this 28 Jun 07:13
aaf910f

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
'