blob: 8b15fc4f8218c9cbffc9a8405cb354e880301205 (
plain)
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
#!/bin/sh
set -eu
SCRIPT_DIR=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
CONFIG="${XDG_CONFIG_HOME:-$HOME/.config}"
mkdir -p "$CONFIG"
link() {
src="$1"
dst="$2"
if [ -e "$dst" ] || [ -L "$dst" ]; then
rm -rf -- "$dst"
fi
ln -sf -- "$src" "$dst"
}
copy_if_missing() {
src="$1"
dst="$2"
if [ ! -e "$dst" ] && [ ! -L "$dst" ]; then
cp -a -- "$src" "$dst"
fi
}
link_abook() {
mkdir -p "$HOME/.abook"
link "$SCRIPT_DIR/abook/abookrc" "$HOME/.abook/abookrc"
}
link_gdb() {
link "$SCRIPT_DIR/gdb" "$CONFIG/gdb"
}
link_gitconfig() {
link "$SCRIPT_DIR/git" "$CONFIG/git"
}
link_mpd() {
link "$SCRIPT_DIR/mpd" "$CONFIG/mpd"
}
link_ncmpcpp() {
link "$SCRIPT_DIR/ncmpcpp" "$CONFIG/ncmpcpp"
}
link_neovim() {
link "$SCRIPT_DIR/nvim" "$CONFIG/nvim"
}
link_newsboat() {
mkdir -p "$CONFIG/newsboat"
link "$SCRIPT_DIR/newsboat/config" "$CONFIG/newsboat/config"
}
copy_npmrc() {
copy_if_missing "$SCRIPT_DIR/npm/npmrc" "$HOME/.npmrc"
}
link_nexrc() {
link "$SCRIPT_DIR/nexrc/nexrc" "$HOME/.nexrc"
}
link_taskwarrior() {
link "$SCRIPT_DIR/taskwarrior" "$CONFIG/task"
}
link_tmux() {
link "$SCRIPT_DIR/tmux" "$CONFIG/tmux"
}
link_vit() {
link "$SCRIPT_DIR/vit" "$CONFIG/vit"
}
link_wyrdrc() {
link "$SCRIPT_DIR/wyrd/wyrdrc" "$HOME/.wyrdrc"
}
link_xinitrc() {
link "$SCRIPT_DIR/X11/xinitrc" "$HOME/.xinitrc"
}
link_zsh() {
link "$SCRIPT_DIR/zsh/zshrc" "$HOME/.zshrc"
link "$SCRIPT_DIR/zsh/zshenv" "$HOME/.zshenv"
link "$SCRIPT_DIR/zsh/zprofile" "$HOME/.zprofile"
}
main() {
link_abook
link_gdb
link_gitconfig
link_mpd
link_ncmpcpp
link_neovim
link_newsboat
copy_npmrc
link_nexrc
link_taskwarrior
link_tmux
link_vit
link_wyrdrc
link_xinitrc
link_zsh
}
main "$@"
|