-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.sh
More file actions
35 lines (27 loc) · 871 Bytes
/
Copy pathsetup.sh
File metadata and controls
35 lines (27 loc) · 871 Bytes
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
#!/usr/bin/env bash
#
# Bootstrap dotfiles — creates symlinks via GNU Stow.
# Run from the dotfiles directory.
#
# Usage:
# cd ~/dotfiles && bash setup.sh
set -euo pipefail
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$DIR"
HOME_PKGS=(git tmux zsh wezterm)
CONFIG_PKGS=(aerospace atuin bat btop fd gh-dash ghostty htop neofetch nix nvim opencode sesh sketchybar starship television thefuck yazi zellij)
echo "→ Stowing home-rooted packages..."
for pkg in "${HOME_PKGS[@]}"; do
stow --target="$HOME" "$pkg"
done
echo "→ Stowing config-rooted packages..."
for pkg in "${CONFIG_PKGS[@]}"; do
mkdir -p "$HOME/.config/$pkg"
stow --target="$HOME/.config/$pkg" "$pkg"
done
echo "→ Linking .hushlogin..."
ln -sf "$DIR/.hushlogin" "$HOME/.hushlogin"
echo "→ Stowing ssh..."
mkdir -p "$HOME/.ssh"
stow --target="$HOME/.ssh" ssh
echo "✓ Done"