mirror of
https://github.com/Cametendo/MyI3Config-fork.git
synced 2026-03-18 03:40:20 +01:00
fixed copy path
This commit is contained in:
46
install.sh
46
install.sh
@@ -1,19 +1,27 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
# ----------------------------
|
||||||
|
# MyI3Config Installer
|
||||||
|
# ----------------------------
|
||||||
|
|
||||||
# Detect repository directory dynamically
|
# Detect repository directory dynamically
|
||||||
REPO_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
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
|
# ----------------------------
|
||||||
|
# Functions
|
||||||
|
# ----------------------------
|
||||||
|
|
||||||
|
# Ask yes/no question
|
||||||
ask() {
|
ask() {
|
||||||
printf "%s [y/N]: " "$1"
|
printf "%s [y/N]: " "$1"
|
||||||
read -r ans
|
read -r ans
|
||||||
[[ "$ans" =~ ^[Yy]$ ]]
|
[[ "$ans" =~ ^[Yy]$ ]]
|
||||||
}
|
}
|
||||||
|
|
||||||
# Ask for application command, verify exists in PATH
|
# Ask for application and verify it exists in PATH
|
||||||
ask_app() {
|
ask_app() {
|
||||||
local label="$1"
|
local label="$1"
|
||||||
local default="$2"
|
local default="$2"
|
||||||
@@ -33,6 +41,10 @@ ask_app() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# ----------------------------
|
||||||
|
# Installer
|
||||||
|
# ----------------------------
|
||||||
|
|
||||||
echo "=== MyI3Config installer ==="
|
echo "=== MyI3Config installer ==="
|
||||||
echo
|
echo
|
||||||
|
|
||||||
@@ -44,10 +56,18 @@ fi
|
|||||||
mkdir -p "$HOME/.config"
|
mkdir -p "$HOME/.config"
|
||||||
mkdir -p "$I3_DIR"
|
mkdir -p "$I3_DIR"
|
||||||
|
|
||||||
|
# ----------------------------
|
||||||
|
# 1/4: Install packages
|
||||||
|
# ----------------------------
|
||||||
echo
|
echo
|
||||||
echo "[1/4] Installing packages..."
|
echo "[1/4] Installing packages..."
|
||||||
sudo pacman -S --needed $(grep -v '^#' "$REPO_DIR/packages.txt")
|
# Remove any packages that don't exist on Arch
|
||||||
|
PACKAGES=$(grep -v '^#' "$REPO_DIR/packages.txt" | tr '\n' ' ')
|
||||||
|
sudo pacman -S --needed $PACKAGES || true
|
||||||
|
|
||||||
|
# ----------------------------
|
||||||
|
# 2/4: Choose applications
|
||||||
|
# ----------------------------
|
||||||
echo
|
echo
|
||||||
echo "[2/4] Choose applications..."
|
echo "[2/4] Choose applications..."
|
||||||
TERMINAL=$(ask_app "Terminal" "kitty")
|
TERMINAL=$(ask_app "Terminal" "kitty")
|
||||||
@@ -55,12 +75,18 @@ 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")
|
||||||
|
|
||||||
|
# ----------------------------
|
||||||
|
# 3/4: Install config files
|
||||||
|
# ----------------------------
|
||||||
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"
|
||||||
|
|
||||||
|
# ----------------------------
|
||||||
|
# 4/4: Write settings
|
||||||
|
# ----------------------------
|
||||||
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"
|
||||||
@@ -70,11 +96,23 @@ echo "$CALCULATOR" > "$CFG_ROOT/settings/calculator.sh"
|
|||||||
|
|
||||||
chmod +x "$CFG_ROOT/i3/"*.sh
|
chmod +x "$CFG_ROOT/i3/"*.sh
|
||||||
|
|
||||||
|
# ----------------------------
|
||||||
|
# Copy i3 config to ~/.config/i3/config
|
||||||
|
# ----------------------------
|
||||||
echo
|
echo
|
||||||
echo "Installing i3 config → ~/.config/i3/config"
|
echo "Installing i3 config → ~/.config/i3/config"
|
||||||
mkdir -p "$I3_DIR"
|
mkdir -p "$I3_DIR"
|
||||||
cp "$CFG_ROOT/i3/config" "$I3_DIR/config"
|
|
||||||
|
|
||||||
|
if [ -f "$CFG_ROOT/i3/config/config" ]; then
|
||||||
|
cp "$CFG_ROOT/i3/config/config" "$I3_DIR/config"
|
||||||
|
else
|
||||||
|
echo "Error: i3 config file not found in $CFG_ROOT/i3/config/"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ----------------------------
|
||||||
|
# Done
|
||||||
|
# ----------------------------
|
||||||
echo
|
echo
|
||||||
echo "✓ Done"
|
echo "✓ Done"
|
||||||
echo
|
echo
|
||||||
|
|||||||
Reference in New Issue
Block a user