harmonize with coredesktop

This commit is contained in:
David Young
2026-10-28 14:35:07 -06:00
parent 866720c3c1
commit 9b9f1d5fdd
35 changed files with 1445 additions and 8 deletions
+39 -1
View File
@@ -76,11 +76,13 @@ cd ~/.local/share/MiniServer
# Source utility functions (provides install_packages, install_script and other helpers)
source utils.sh
# Install the refresh, update and sibling management scripts to the user's bin
# Install the refresh, update, sibling, version and configure scripts to the user's bin
mkdir -p "$HOME/.local/bin"
install_script "$HOME/.local/share/MiniServer/refresh" "$HOME/.local/bin/refresh"
install_script "$HOME/.local/share/MiniServer/update" "$HOME/.local/bin/update"
install_script "$HOME/.local/share/MiniServer/sibling" "$HOME/.local/bin/sibling"
install_script "$HOME/.local/share/MiniServer/version" "$HOME/.local/bin/version"
install_script "$HOME/.local/share/MiniServer/configure" "$HOME/.local/bin/configure"
# Replaced by refresh and update
rm -f "$HOME/.local/bin/miniserverrefresh" "$HOME/.local/bin/miniserverupdate"
@@ -122,6 +124,12 @@ install_packages "${SERVERS[@]}"
echo "Installing utilities..."
install_packages "${UTILITIES[@]}"
echo "Installing shell tools..."
install_packages "${SHELL_TOOLS[@]}"
echo "Installing AI agents and their sandbox..."
install_packages "${AGENTS[@]}"
if ! command -v pm2 &> /dev/null; then
npm install pm2 -g --prefix "$HOME/.local"
fi
@@ -150,6 +158,36 @@ if ! systemctl is-enabled --quiet sddm; then
sudo systemctl enable sddm
fi
# Install Claude Code
echo "Installing Claude Code..."
bash ~/.local/share/MiniServer/claude.sh
# Run AI agents (opencode, hermes) in a sandbox, and turn on Claude Code's own
echo "Setting up sandboxed AI agents..."
bash ~/.local/share/MiniServer/sandbox/setup.sh
# Prompt, zoxide, fzf key bindings, aliases and functions
echo "Configuring the shell..."
bash ~/.local/share/MiniServer/shell/setup.sh
# Run one-time migrations not yet recorded on this machine. On a fresh install
# they repeat setup done above, which is safe because each one is idempotent.
echo "Running migrations..."
run_migrations
# Offer configure only if something is still to do, as refresh runs this too.
# This script is usually piped into bash, so ask on the terminal, not stdin.
if ~/.local/bin/configure --list | grep -q '^to do'; then
echo
echo "configure mounts your Nextcloud files and signs you in to the AI agents."
if { : < /dev/tty; } 2> /dev/null && read -rp "Run configure now? [Y/n] " answer < /dev/tty \
&& [[ "$answer" != [nN]* ]]; then
~/.local/bin/configure < /dev/tty || true
else
echo "To do it later, run: configure"
fi
fi
echo ""
read -rp "A reboot is required to complete setup. Reboot now? [y/N] " response </dev/tty
case "$response" in