aboutsummaryrefslogtreecommitdiff
path: root/install.sh
diff options
context:
space:
mode:
Diffstat (limited to 'install.sh')
-rwxr-xr-xinstall.sh224
1 files changed, 112 insertions, 112 deletions
diff --git a/install.sh b/install.sh
index 68e57d0..8b15fc4 100755
--- a/install.sh
+++ b/install.sh
@@ -1,112 +1,112 @@
1#!/bin/sh 1#!/bin/sh
2 2
3set -eu 3set -eu
4 4
5SCRIPT_DIR=$(cd -P -- "$(dirname -- "$0")" && pwd -P) 5SCRIPT_DIR=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
6 6
7CONFIG="${XDG_CONFIG_HOME:-$HOME/.config}" 7CONFIG="${XDG_CONFIG_HOME:-$HOME/.config}"
8mkdir -p "$CONFIG" 8mkdir -p "$CONFIG"
9 9
10link() { 10link() {
11 src="$1" 11 src="$1"
12 dst="$2" 12 dst="$2"
13 13
14 if [ -e "$dst" ] || [ -L "$dst" ]; then 14 if [ -e "$dst" ] || [ -L "$dst" ]; then
15 rm -rf -- "$dst" 15 rm -rf -- "$dst"
16 fi 16 fi
17 17
18 ln -sf -- "$src" "$dst" 18 ln -sf -- "$src" "$dst"
19} 19}
20 20
21copy_if_missing() { 21copy_if_missing() {
22 src="$1" 22 src="$1"
23 dst="$2" 23 dst="$2"
24 24
25 if [ ! -e "$dst" ] && [ ! -L "$dst" ]; then 25 if [ ! -e "$dst" ] && [ ! -L "$dst" ]; then
26 cp -a -- "$src" "$dst" 26 cp -a -- "$src" "$dst"
27 fi 27 fi
28} 28}
29 29
30link_abook() { 30link_abook() {
31 mkdir -p "$HOME/.abook" 31 mkdir -p "$HOME/.abook"
32 link "$SCRIPT_DIR/abook/abookrc" "$HOME/.abook/abookrc" 32 link "$SCRIPT_DIR/abook/abookrc" "$HOME/.abook/abookrc"
33} 33}
34 34
35link_gdb() { 35link_gdb() {
36 link "$SCRIPT_DIR/gdb" "$CONFIG/gdb" 36 link "$SCRIPT_DIR/gdb" "$CONFIG/gdb"
37} 37}
38 38
39link_gitconfig() { 39link_gitconfig() {
40 link "$SCRIPT_DIR/git" "$CONFIG/git" 40 link "$SCRIPT_DIR/git" "$CONFIG/git"
41} 41}
42 42
43link_mpd() { 43link_mpd() {
44 link "$SCRIPT_DIR/mpd" "$CONFIG/mpd" 44 link "$SCRIPT_DIR/mpd" "$CONFIG/mpd"
45} 45}
46 46
47link_ncmpcpp() { 47link_ncmpcpp() {
48 link "$SCRIPT_DIR/ncmpcpp" "$CONFIG/ncmpcpp" 48 link "$SCRIPT_DIR/ncmpcpp" "$CONFIG/ncmpcpp"
49} 49}
50 50
51link_neovim() { 51link_neovim() {
52 link "$SCRIPT_DIR/nvim" "$CONFIG/nvim" 52 link "$SCRIPT_DIR/nvim" "$CONFIG/nvim"
53} 53}
54 54
55link_newsboat() { 55link_newsboat() {
56 mkdir -p "$CONFIG/newsboat" 56 mkdir -p "$CONFIG/newsboat"
57 link "$SCRIPT_DIR/newsboat/config" "$CONFIG/newsboat/config" 57 link "$SCRIPT_DIR/newsboat/config" "$CONFIG/newsboat/config"
58} 58}
59 59
60copy_npmrc() { 60copy_npmrc() {
61 copy_if_missing "$SCRIPT_DIR/npm/npmrc" "$HOME/.npmrc" 61 copy_if_missing "$SCRIPT_DIR/npm/npmrc" "$HOME/.npmrc"
62} 62}
63 63
64link_nexrc() { 64link_nexrc() {
65 link "$SCRIPT_DIR/nexrc/nexrc" "$HOME/.nexrc" 65 link "$SCRIPT_DIR/nexrc/nexrc" "$HOME/.nexrc"
66} 66}
67 67
68link_taskwarrior() { 68link_taskwarrior() {
69 link "$SCRIPT_DIR/taskwarrior" "$CONFIG/task" 69 link "$SCRIPT_DIR/taskwarrior" "$CONFIG/task"
70} 70}
71 71
72link_tmux() { 72link_tmux() {
73 link "$SCRIPT_DIR/tmux" "$CONFIG/tmux" 73 link "$SCRIPT_DIR/tmux" "$CONFIG/tmux"
74} 74}
75 75
76link_vit() { 76link_vit() {
77 link "$SCRIPT_DIR/vit" "$CONFIG/vit" 77 link "$SCRIPT_DIR/vit" "$CONFIG/vit"
78} 78}
79 79
80link_wyrdrc() { 80link_wyrdrc() {
81 link "$SCRIPT_DIR/wyrd/wyrdrc" "$HOME/.wyrdrc" 81 link "$SCRIPT_DIR/wyrd/wyrdrc" "$HOME/.wyrdrc"
82} 82}
83 83
84link_xinitrc() { 84link_xinitrc() {
85 link "$SCRIPT_DIR/X11/xinitrc" "$HOME/.xinitrc" 85 link "$SCRIPT_DIR/X11/xinitrc" "$HOME/.xinitrc"
86} 86}
87 87
88link_zsh() { 88link_zsh() {
89 link "$SCRIPT_DIR/zsh/zshrc" "$HOME/.zshrc" 89 link "$SCRIPT_DIR/zsh/zshrc" "$HOME/.zshrc"
90 link "$SCRIPT_DIR/zsh/zshenv" "$HOME/.zshenv" 90 link "$SCRIPT_DIR/zsh/zshenv" "$HOME/.zshenv"
91 link "$SCRIPT_DIR/zsh/zprofile" "$HOME/.zprofile" 91 link "$SCRIPT_DIR/zsh/zprofile" "$HOME/.zprofile"
92} 92}
93 93
94main() { 94main() {
95 link_abook 95 link_abook
96 link_gdb 96 link_gdb
97 link_gitconfig 97 link_gitconfig
98 link_mpd 98 link_mpd
99 link_ncmpcpp 99 link_ncmpcpp
100 link_neovim 100 link_neovim
101 link_newsboat 101 link_newsboat
102 copy_npmrc 102 copy_npmrc
103 link_nexrc 103 link_nexrc
104 link_taskwarrior 104 link_taskwarrior
105 link_tmux 105 link_tmux
106 link_vit 106 link_vit
107 link_wyrdrc 107 link_wyrdrc
108 link_xinitrc 108 link_xinitrc
109 link_zsh 109 link_zsh
110} 110}
111 111
112main "$@" 112main "$@"