-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsetup.sh
More file actions
executable file
·52 lines (42 loc) · 1.29 KB
/
Copy pathsetup.sh
File metadata and controls
executable file
·52 lines (42 loc) · 1.29 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
46
47
48
49
50
51
52
#!/usr/bin/env bash
cd "$(cd "$(dirname "$0")" && pwd)" || exit 1
# ----- $HOME 直下
for src in "$PWD/home"/.*; do
base=$(basename "$src")
[ "$base" = "." ] && continue
[ "$base" = ".." ] && continue
ln -nfs "$src" "$HOME/$base"
done
# ----- Gemini は使わなくなったので、過去に作ったリンクだけ削除
if [ -L "$HOME/.gemini" ] && [ "$(readlink "$HOME/.gemini")" = "$PWD/home/.gemini" ]; then
rm "$HOME/.gemini"
fi
# ----- AGENTS.md
ln -nfs "$PWD/home/AGENTS.md" "$HOME/AGENTS.md"
# ----- Agent Skills
mkdir -p ~/.claude/skills
for skill in "$PWD/home/.agents/skills"/*/; do
name=$(basename "$skill")
[ "${name:0:1}" = "." ] && continue
[ -L ~/.claude/skills/"$name" ] && continue
ln -s "$skill" ~/.claude/skills/"$name"
done
# ----- $HOME/.config
mkdir -p "$HOME/.config"
for dir in "$PWD/dot_config"/*; do
name=$(basename "$dir")
ln -nfs "$dir" "$HOME/.config/$name"
# git/config は OS 別に切り替え
if [ "$name" = "git" ]; then
if [ "$(uname)" = "Darwin" ]; then
ln -nfs "$dir/config.macos" "$HOME/.config/git/config"
else
ln -nfs "$dir/config.other" "$HOME/.config/git/config"
fi
continue
fi
done
# ----- Bundler
if command -v bundle > /dev/null 2>&1; then
bundle config set --global default_cli_command install
fi