-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup_zsh.sh
More file actions
executable file
Β·45 lines (38 loc) Β· 1.5 KB
/
Copy pathsetup_zsh.sh
File metadata and controls
executable file
Β·45 lines (38 loc) Β· 1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/bash
set -e
# Get the dotfiles directory
DOTFILES_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# Create symlinks for zsh config files
echo "π Creating zsh config symlinks..."
ln -sf "${DOTFILES_DIR}/.zshrc" "${ZDOTDIR:-$HOME}/.zshrc"
ln -sf "${DOTFILES_DIR}/.zprofile" "${ZDOTDIR:-$HOME}/.zprofile"
ln -sf "${DOTFILES_DIR}/.zshenv" "${ZDOTDIR:-$HOME}/.zshenv"
# Create sheldon config directory and symlink
echo "π Creating sheldon config symlink..."
mkdir -p "${HOME}/.config"
ln -sf "${DOTFILES_DIR}/.config/sheldon" "${HOME}/.config/sheldon"
# Install sheldon plugins
echo "π¦ Installing sheldon plugins..."
if command -v sheldon &> /dev/null; then
sheldon lock --update
echo "β
Sheldon plugins installed"
else
echo "β οΈ sheldon not found. Install it with: brew install sheldon"
fi
# Setup fzf shell integration
echo "π Setting up fzf shell integration..."
if command -v brew &> /dev/null && brew list fzf &> /dev/null; then
FZF_INSTALL_SCRIPT="$(brew --prefix)/opt/fzf/install"
if [[ -f "$FZF_INSTALL_SCRIPT" ]]; then
# Run fzf install script non-interactively
"$FZF_INSTALL_SCRIPT" --key-bindings --completion --no-update-rc
echo "β
fzf shell integration configured"
fi
else
echo "β οΈ fzf not found. Install it with: brew install fzf"
fi
echo "β
Zsh setup complete!"
echo ""
echo "π Next steps:"
echo " 1. Restart your terminal or run: source ~/.zshrc"
echo " 2. Plugins are managed by sheldon (.config/sheldon/plugins.toml)"