diff options
Diffstat (limited to 'install.sh')
| -rwxr-xr-x | install.sh | 224 |
1 files changed, 112 insertions, 112 deletions
| @@ -1,112 +1,112 @@ | |||
| 1 | #!/bin/sh | 1 | #!/bin/sh |
| 2 | 2 | ||
| 3 | set -eu | 3 | set -eu |
| 4 | 4 | ||
| 5 | SCRIPT_DIR=$(cd -P -- "$(dirname -- "$0")" && pwd -P) | 5 | SCRIPT_DIR=$(cd -P -- "$(dirname -- "$0")" && pwd -P) |
| 6 | 6 | ||
| 7 | CONFIG="${XDG_CONFIG_HOME:-$HOME/.config}" | 7 | CONFIG="${XDG_CONFIG_HOME:-$HOME/.config}" |
| 8 | mkdir -p "$CONFIG" | 8 | mkdir -p "$CONFIG" |
| 9 | 9 | ||
| 10 | link() { | 10 | link() { |
| 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 | ||
| 21 | copy_if_missing() { | 21 | copy_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 | ||
| 30 | link_abook() { | 30 | link_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 | ||
| 35 | link_gdb() { | 35 | link_gdb() { |
| 36 | link "$SCRIPT_DIR/gdb" "$CONFIG/gdb" | 36 | link "$SCRIPT_DIR/gdb" "$CONFIG/gdb" |
| 37 | } | 37 | } |
| 38 | 38 | ||
| 39 | link_gitconfig() { | 39 | link_gitconfig() { |
| 40 | link "$SCRIPT_DIR/git" "$CONFIG/git" | 40 | link "$SCRIPT_DIR/git" "$CONFIG/git" |
| 41 | } | 41 | } |
| 42 | 42 | ||
| 43 | link_mpd() { | 43 | link_mpd() { |
| 44 | link "$SCRIPT_DIR/mpd" "$CONFIG/mpd" | 44 | link "$SCRIPT_DIR/mpd" "$CONFIG/mpd" |
| 45 | } | 45 | } |
| 46 | 46 | ||
| 47 | link_ncmpcpp() { | 47 | link_ncmpcpp() { |
| 48 | link "$SCRIPT_DIR/ncmpcpp" "$CONFIG/ncmpcpp" | 48 | link "$SCRIPT_DIR/ncmpcpp" "$CONFIG/ncmpcpp" |
| 49 | } | 49 | } |
| 50 | 50 | ||
| 51 | link_neovim() { | 51 | link_neovim() { |
| 52 | link "$SCRIPT_DIR/nvim" "$CONFIG/nvim" | 52 | link "$SCRIPT_DIR/nvim" "$CONFIG/nvim" |
| 53 | } | 53 | } |
| 54 | 54 | ||
| 55 | link_newsboat() { | 55 | link_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 | ||
| 60 | copy_npmrc() { | 60 | copy_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 | ||
| 64 | link_nexrc() { | 64 | link_nexrc() { |
| 65 | link "$SCRIPT_DIR/nexrc/nexrc" "$HOME/.nexrc" | 65 | link "$SCRIPT_DIR/nexrc/nexrc" "$HOME/.nexrc" |
| 66 | } | 66 | } |
| 67 | 67 | ||
| 68 | link_taskwarrior() { | 68 | link_taskwarrior() { |
| 69 | link "$SCRIPT_DIR/taskwarrior" "$CONFIG/task" | 69 | link "$SCRIPT_DIR/taskwarrior" "$CONFIG/task" |
| 70 | } | 70 | } |
| 71 | 71 | ||
| 72 | link_tmux() { | 72 | link_tmux() { |
| 73 | link "$SCRIPT_DIR/tmux" "$CONFIG/tmux" | 73 | link "$SCRIPT_DIR/tmux" "$CONFIG/tmux" |
| 74 | } | 74 | } |
| 75 | 75 | ||
| 76 | link_vit() { | 76 | link_vit() { |
| 77 | link "$SCRIPT_DIR/vit" "$CONFIG/vit" | 77 | link "$SCRIPT_DIR/vit" "$CONFIG/vit" |
| 78 | } | 78 | } |
| 79 | 79 | ||
| 80 | link_wyrdrc() { | 80 | link_wyrdrc() { |
| 81 | link "$SCRIPT_DIR/wyrd/wyrdrc" "$HOME/.wyrdrc" | 81 | link "$SCRIPT_DIR/wyrd/wyrdrc" "$HOME/.wyrdrc" |
| 82 | } | 82 | } |
| 83 | 83 | ||
| 84 | link_xinitrc() { | 84 | link_xinitrc() { |
| 85 | link "$SCRIPT_DIR/X11/xinitrc" "$HOME/.xinitrc" | 85 | link "$SCRIPT_DIR/X11/xinitrc" "$HOME/.xinitrc" |
| 86 | } | 86 | } |
| 87 | 87 | ||
| 88 | link_zsh() { | 88 | link_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 | ||
| 94 | main() { | 94 | main() { |
| 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 | ||
| 112 | main "$@" | 112 | main "$@" |
