mirror of
https://github.com/Cametendo/MyI3Config-fork.git
synced 2026-03-18 03:40:20 +01:00
modifyed the install script to include install from all paths
This commit is contained in:
54
install.sh
Normal file → Executable file
54
install.sh
Normal file → Executable file
@@ -1,63 +1,65 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
REPO_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
# Detect repository directory dynamically
|
||||
REPO_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
CFG_ROOT="$HOME/.config/MyI3Config"
|
||||
I3_DIR="$HOME/.config/i3"
|
||||
|
||||
# Ask yes/no questions
|
||||
ask() {
|
||||
printf "%s [y/N]: " "$1"
|
||||
read -r ans
|
||||
[ "$ans" = "y" ] || [ "$ans" = "Y" ]
|
||||
printf "%s [y/N]: " "$1"
|
||||
read -r ans
|
||||
[[ "$ans" =~ ^[Yy]$ ]]
|
||||
}
|
||||
|
||||
# Ask for application command, verify exists in PATH
|
||||
ask_app() {
|
||||
local label="$1"
|
||||
local default="$2"
|
||||
local app
|
||||
local label="$1"
|
||||
local default="$2"
|
||||
local app
|
||||
while true; do
|
||||
printf "%s (default: %s): " "$label" "$default"
|
||||
read -r app
|
||||
app="${app:-$default}"
|
||||
|
||||
while true; do
|
||||
printf "%s (default: %s): " "$label" "$default"
|
||||
read -r app
|
||||
app="${app:-$default}"
|
||||
|
||||
if command -v "$app" >/dev/null 2>&1; then
|
||||
echo "$app"
|
||||
return
|
||||
else
|
||||
echo "✗ '$app' not found in PATH"
|
||||
echo " install it first or choose another"
|
||||
fi
|
||||
done
|
||||
if command -v "${app%% *}" >/dev/null 2>&1; then
|
||||
echo "$app"
|
||||
return
|
||||
else
|
||||
echo "✗ '$app' not found in PATH"
|
||||
echo " install it first or choose another"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
echo "=== MyI3Config installer ==="
|
||||
echo
|
||||
|
||||
if ! ask "Install this i3 configuration?"; then
|
||||
echo "Aborted."
|
||||
exit 0
|
||||
echo "Aborted."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "[1/4] Installing packages"
|
||||
echo "[1/4] Installing packages..."
|
||||
sudo pacman -S --needed $(grep -v '^#' "$REPO_DIR/packages.txt")
|
||||
|
||||
echo
|
||||
echo "[2/4] Choose applications"
|
||||
echo "[2/4] Choose applications..."
|
||||
TERMINAL=$(ask_app "Terminal" "kitty")
|
||||
BROWSER=$(ask_app "Browser" "firefox")
|
||||
FILEMANAGER=$(ask_app "File manager" "nautilus")
|
||||
CALCULATOR=$(ask_app "Calculator" "gnome-calculator")
|
||||
|
||||
echo
|
||||
echo "[3/4] Installing MyI3Config"
|
||||
echo "[3/4] Installing MyI3Config..."
|
||||
rm -rf "$CFG_ROOT"
|
||||
mkdir -p "$CFG_ROOT"
|
||||
cp -r "$REPO_DIR/"* "$CFG_ROOT"
|
||||
|
||||
echo
|
||||
echo "[4/4] Writing settings"
|
||||
echo "[4/4] Writing settings..."
|
||||
echo "$TERMINAL" > "$CFG_ROOT/settings/terminal.sh"
|
||||
echo "$BROWSER" > "$CFG_ROOT/settings/browser.sh"
|
||||
echo "$FILEMANAGER" > "$CFG_ROOT/settings/filemanager.sh"
|
||||
|
||||
Reference in New Issue
Block a user