skip apt if packages installed, skip symlinks if already correct
This commit is contained in:
parent
3cb52999e7
commit
8076392a97
20
setup_env.sh
20
setup_env.sh
@ -2,10 +2,18 @@
|
|||||||
|
|
||||||
# Function to install packages
|
# Function to install packages
|
||||||
install_packages() {
|
install_packages() {
|
||||||
echo "Updating package list..."
|
local packages=(tmux vim git pspg bat fzf ripgrep)
|
||||||
|
local missing=()
|
||||||
|
for pkg in "${packages[@]}"; do
|
||||||
|
command -v "$pkg" &>/dev/null || missing+=("$pkg")
|
||||||
|
done
|
||||||
|
if [[ ${#missing[@]} -eq 0 ]]; then
|
||||||
|
echo "All packages already installed, skipping."
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
echo "Installing missing packages: ${missing[*]}"
|
||||||
sudo apt update
|
sudo apt update
|
||||||
echo "Installing basic packages..."
|
sudo apt install -y "${missing[@]}"
|
||||||
sudo apt install -y tmux vim git pspg bat fzf ripgrep
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Install Tmux Plugin Manager (TPM) if not already installed
|
# Install Tmux Plugin Manager (TPM) if not already installed
|
||||||
@ -38,11 +46,15 @@ install_git_bash_prompt() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Back up and create symlink
|
# Back up and create symlink — skips if already pointing at the right target
|
||||||
create_symlink() {
|
create_symlink() {
|
||||||
local target=$1
|
local target=$1
|
||||||
local link_name=$2
|
local link_name=$2
|
||||||
|
|
||||||
|
if [[ -L $link_name && "$(readlink "$link_name")" == "$target" ]]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ -L $link_name || -f $link_name ]]; then
|
if [[ -L $link_name || -f $link_name ]]; then
|
||||||
echo "Backing up existing $link_name to ${link_name}.backup"
|
echo "Backing up existing $link_name to ${link_name}.backup"
|
||||||
mv "$link_name" "${link_name}.backup"
|
mv "$link_name" "${link_name}.backup"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user