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