Simplify and clean up provisioning scripts
- lib/distro.sh: add DISTRO_CODENAME from VERSION_CODENAME; remove unused REPO_ADD_RPM variable; export DISTRO_CODENAME - stages/01-repos.sh: replace repeated '. /etc/os-release' subshell calls with $DISTRO_CODENAME in Docker and Tailscale repo lines - stages/00-envcheck.sh: combine four mkdir -p calls into one - stages/02-packages.sh: remove identical if/else branches in fd symlink block; both branches were the same command - stages/03-toolchains.sh: set NVM_DIR once before the if/else instead of twice; remove dead commented-out duplicate curl line - stages/04-shell.sh: capture $(date +%Y%m%d) into _bak_date once per backup and reuse in cp and warn to avoid redundant forks - stages/06-scripts.sh: split 'export VAR=$(cmd)' into assignment + export to correctly propagate errors under set -euo pipefail - stages/07-uv-projects.sh: remove unused has_package_json field (always false, never read); fix stage completion message 06 -> 07 - stages/08-systemd.sh: remove mempi-sync.timer (deploy, enable, header comment); deploy mempi-sync.service only - stages/09-desktop.sh: remove duplicate mkdir -p in COSMIC section; remove unused repo_url parameter from install_nerd_font() - stages/12-other-apps.sh: replace manual distro branch for Nextcloud with pkg_install_mapped - config/scripts/bw-load-ssh.sh: split 'export BW_SESSION=$(cat ...)' into assignment + export - config/systemd/mempi-sync.timer: delete file
This commit is contained in:
@@ -19,22 +19,21 @@
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
|
||||
# ---- Define tool repos ----
|
||||
# Format: "repo_name:github_org:has_pyproject:has_package_json"
|
||||
# repo_name = directory name under ~/Development/
|
||||
# github_org = GitHub org (julianprester or re3-work)
|
||||
# Format: "repo_name:github_org:has_pyproject"
|
||||
# repo_name = directory name under ~/Development/
|
||||
# github_org = GitHub org (julianprester or re3-work)
|
||||
# has_pyproject = true if it has pyproject.toml and should be uv-installed
|
||||
# has_package_json = true if it has package.json and should be npm-linked
|
||||
|
||||
TOOLS=(
|
||||
"porridge:julianprester:true:false" # Zoom meeting transcriber daemon
|
||||
"deepis:julianprester:true:false" # Literature discovery CLI
|
||||
"pi-persist:julianprester:true:false" # Memory persistence (mempi, pi-overview)
|
||||
"panac:julianprester:true:false" # Pandoc wrapper CLI
|
||||
"gromd:julianprester:true:false" # Gromd tool
|
||||
"kannwas:julianprester:true:false" # Kannwas tool
|
||||
"tb-api:julianprester:false:false" # Thunderbird REST API (not a Python/npm pkg — Firefox addon)
|
||||
"hotkeys:julianprester:false:false" # Shell scripts for Wayland hotkeys (no install needed)
|
||||
"ocpa-repo:julianprester:true:false" # OpenCode pi agent Python package
|
||||
"porridge:julianprester:true" # Zoom meeting transcriber daemon
|
||||
"deepis:julianprester:true" # Literature discovery CLI
|
||||
"pi-persist:julianprester:true" # Memory persistence (mempi, pi-overview)
|
||||
"panac:julianprester:true" # Pandoc wrapper CLI
|
||||
"gromd:julianprester:true" # Gromd tool
|
||||
"kannwas:julianprester:true" # Kannwas tool
|
||||
"tb-api:julianprester:false" # Thunderbird REST API (not a Python pkg — Firefox addon)
|
||||
"hotkeys:julianprester:false" # Shell scripts for Wayland hotkeys (no install needed)
|
||||
"ocpa-repo:julianprester:true" # OpenCode pi agent Python package
|
||||
)
|
||||
|
||||
# ===========================================================================
|
||||
@@ -44,7 +43,7 @@ mkdir -p "$HOME/Development"
|
||||
|
||||
# ---- Clone and install each tool ----
|
||||
for tool_entry in "${TOOLS[@]}"; do
|
||||
IFS=':' read -r name org has_pyproject has_package_json <<< "$tool_entry"
|
||||
IFS=':' read -r name org has_pyproject <<< "$tool_entry"
|
||||
target_dir="$HOME/Development/$name"
|
||||
|
||||
if [ -d "$target_dir" ]; then
|
||||
@@ -82,4 +81,4 @@ echo ""
|
||||
info "Verifying uv tool installations..."
|
||||
uv tool list 2>/dev/null || warn "No uv tools installed."
|
||||
|
||||
ok "Stage 06 complete: uv tools installed."
|
||||
ok "Stage 07 complete: uv tools installed."
|
||||
|
||||
Reference in New Issue
Block a user