modifyed the install script to include install from all paths

This commit is contained in:
Jürg Hallenbarter
2026-01-26 08:40:59 +00:00
parent d15ca29883
commit 0146dc33d2

18
install.sh Normal file → Executable file
View File

@@ -1,27 +1,29 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e 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" CFG_ROOT="$HOME/.config/MyI3Config"
I3_DIR="$HOME/.config/i3" I3_DIR="$HOME/.config/i3"
# Ask yes/no questions
ask() { ask() {
printf "%s [y/N]: " "$1" printf "%s [y/N]: " "$1"
read -r ans read -r ans
[ "$ans" = "y" ] || [ "$ans" = "Y" ] [[ "$ans" =~ ^[Yy]$ ]]
} }
# Ask for application command, verify exists in PATH
ask_app() { ask_app() {
local label="$1" local label="$1"
local default="$2" local default="$2"
local app local app
while true; do while true; do
printf "%s (default: %s): " "$label" "$default" printf "%s (default: %s): " "$label" "$default"
read -r app read -r app
app="${app:-$default}" app="${app:-$default}"
if command -v "$app" >/dev/null 2>&1; then if command -v "${app%% *}" >/dev/null 2>&1; then
echo "$app" echo "$app"
return return
else else
@@ -40,24 +42,24 @@ if ! ask "Install this i3 configuration?"; then
fi fi
echo echo
echo "[1/4] Installing packages" echo "[1/4] Installing packages..."
sudo pacman -S --needed $(grep -v '^#' "$REPO_DIR/packages.txt") sudo pacman -S --needed $(grep -v '^#' "$REPO_DIR/packages.txt")
echo echo
echo "[2/4] Choose applications" echo "[2/4] Choose applications..."
TERMINAL=$(ask_app "Terminal" "kitty") TERMINAL=$(ask_app "Terminal" "kitty")
BROWSER=$(ask_app "Browser" "firefox") BROWSER=$(ask_app "Browser" "firefox")
FILEMANAGER=$(ask_app "File manager" "nautilus") FILEMANAGER=$(ask_app "File manager" "nautilus")
CALCULATOR=$(ask_app "Calculator" "gnome-calculator") CALCULATOR=$(ask_app "Calculator" "gnome-calculator")
echo echo
echo "[3/4] Installing MyI3Config" echo "[3/4] Installing MyI3Config..."
rm -rf "$CFG_ROOT" rm -rf "$CFG_ROOT"
mkdir -p "$CFG_ROOT" mkdir -p "$CFG_ROOT"
cp -r "$REPO_DIR/"* "$CFG_ROOT" cp -r "$REPO_DIR/"* "$CFG_ROOT"
echo echo
echo "[4/4] Writing settings" echo "[4/4] Writing settings..."
echo "$TERMINAL" > "$CFG_ROOT/settings/terminal.sh" echo "$TERMINAL" > "$CFG_ROOT/settings/terminal.sh"
echo "$BROWSER" > "$CFG_ROOT/settings/browser.sh" echo "$BROWSER" > "$CFG_ROOT/settings/browser.sh"
echo "$FILEMANAGER" > "$CFG_ROOT/settings/filemanager.sh" echo "$FILEMANAGER" > "$CFG_ROOT/settings/filemanager.sh"