diff options
| -rwxr-xr-x | setup/core/tmux.sh | 24 | ||||
| -rwxr-xr-x | setup/core/vim.sh | 11 | ||||
| -rwxr-xr-x | setup/setup.sh | 29 |
3 files changed, 39 insertions, 25 deletions
diff --git a/setup/core/tmux.sh b/setup/core/tmux.sh new file mode 100755 index 0000000..1d3a9bd --- /dev/null +++ b/setup/core/tmux.sh | |||
| @@ -0,0 +1,24 @@ | |||
| 1 | #!/bin/bash | ||
| 2 | |||
| 3 | cd "$(dirname "${BASH_SOURCE[0]}")" || exit | ||
| 4 | |||
| 5 | TMUX_CONF="/etc/tmux.conf" | ||
| 6 | CLIP_HOST="p.noml.ch" | ||
| 7 | CLIP_PORT="5023" | ||
| 8 | CLIP_CMD="openssl enc -aes-256-cbc -pbkdf2 -pass pass:YourPassword | nc -w 1 ${CLIP_HOST} ${CLIP_PORT} >/dev/null 2>&1" | ||
| 9 | |||
| 10 | cat << EOF > "$TMUX_CONF" | ||
| 11 | # Vi mode for copy | ||
| 12 | setw -g mode-keys vi | ||
| 13 | |||
| 14 | # Mouse selection | ||
| 15 | set -g mouse on | ||
| 16 | |||
| 17 | # v to start selection, y to yank (like vim) | ||
| 18 | bind-key -T copy-mode-vi v send-keys -X begin-selection | ||
| 19 | bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "${CLIP_CMD}" | ||
| 20 | bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "${CLIP_CMD}" | ||
| 21 | bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "${CLIP_CMD}" | ||
| 22 | EOF | ||
| 23 | |||
| 24 | echo "tmux config written to $TMUX_CONF" | ||
diff --git a/setup/core/vim.sh b/setup/core/vim.sh index b67418c..1e1a4c1 100755 --- a/setup/core/vim.sh +++ b/setup/core/vim.sh | |||
| @@ -4,11 +4,14 @@ cd "$(dirname "${BASH_SOURCE[0]}")" || exit | |||
| 4 | 4 | ||
| 5 | VIMRC_PATH="/etc/vimrc" | 5 | VIMRC_PATH="/etc/vimrc" |
| 6 | [ -d /etc/vim ] && VIMRC_PATH="/etc/vim/vimrc" | 6 | [ -d /etc/vim ] && VIMRC_PATH="/etc/vim/vimrc" |
| 7 | CLIP_HOST="p.noml.ch" | ||
| 8 | CLIP_PORT="5023" | ||
| 9 | CLIP_CMD="openssl enc -aes-256-cbc -pbkdf2 -pass pass:YourPassword | nc -w 1 ${CLIP_HOST} ${CLIP_PORT}" | ||
| 7 | 10 | ||
| 8 | cat << EOF >> "$VIMRC_PATH" | 11 | cat << EOF >> "$VIMRC_PATH" |
| 9 | augroup netcat_clipboard | 12 | augroup netcat_clipboard |
| 10 | au! | 13 | au! |
| 11 | au TextYankPost * call system("echo " . shellescape(@") . " | openssl enc -aes-256-cbc -pbkdf2 -pass pass:YourPassword | nc -w 1 p.noml.ch 5023 >/dev/null 2>&1 &") | 14 | au TextYankPost * call system("echo " . shellescape(@") . " | ${CLIP_CMD} >/dev/null 2>&1 &") |
| 12 | augroup END | 15 | augroup END |
| 13 | 16 | ||
| 14 | " Enable line wrapping | 17 | " Enable line wrapping |
| @@ -53,10 +56,6 @@ nnoremap <C-e> $ | |||
| 53 | set number | 56 | set number |
| 54 | setlocal regexpengine=2 | 57 | setlocal regexpengine=2 |
| 55 | set paste | 58 | set paste |
| 56 | set foldcolumn=12 | 59 | set foldcolumn=12 |
| 57 | |||
| 58 | 60 | ||
| 59 | EOF | 61 | EOF |
| 60 | |||
| 61 | |||
| 62 | |||
diff --git a/setup/setup.sh b/setup/setup.sh index 1aecd1c..d5c009b 100755 --- a/setup/setup.sh +++ b/setup/setup.sh | |||
| @@ -1,30 +1,21 @@ | |||
| 1 | #!/bin/bash | 1 | #!/bin/bash |
| 2 | 2 | ||
| 3 | |||
| 4 | SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" | 3 | SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" |
| 5 | cd "$SCRIPT_DIR" || exit | 4 | cd "$SCRIPT_DIR" || exit |
| 6 | 5 | ||
| 7 | sudo tee -a /etc/bashrc > /dev/null << 'EOF2' | 6 | # Shell appearance |
| 7 | sudo tee -a /etc/bashrc > /dev/null << 'EOF' | ||
| 8 | LS_COLORS=$LS_COLORS:'di=38;5;135:ex=00;32:' ; export LS_COLORS | 8 | LS_COLORS=$LS_COLORS:'di=38;5;135:ex=00;32:' ; export LS_COLORS |
| 9 | PS1='[\[\033[01;32m\]\u\[\033[00m\]@\h \[\033[38;5;135m\]\W\[\033[00m\]]\$ ' | 9 | PS1='[\[\033[01;32m\]\u\[\033[00m\]@\h \[\033[38;5;135m\]\W\[\033[00m\]]\$ ' |
| 10 | EOF2 | 10 | export TERM=xterm-256color |
| 11 | EOF | ||
| 11 | source /etc/bashrc | 12 | source /etc/bashrc |
| 12 | 13 | ||
| 13 | sudo bash ./core/ssh.sh || { echo "Failed to configure SSH"; exit 1; } | 14 | # Timezone |
| 14 | sudo bash ./core/vim.sh || { echo "Failed to configure Vim"; exit 1; } | ||
| 15 | sudo bash ./core/install-packages.sh || { echo "Failed to install packages"; exit 1; } | ||
| 16 | |||
| 17 | sudo timedatectl set-timezone Asia/Singapore | 15 | sudo timedatectl set-timezone Asia/Singapore |
| 18 | 16 | ||
| 19 | # add check fro each component | 17 | # Core setup |
| 20 | 18 | sudo bash ./core/install-packages.sh || { echo "Failed to install packages"; exit 1; } | |
| 21 | # then git clone work directory, or git clone altogether | 19 | sudo bash ./core/ssh.sh || { echo "Failed to configure SSH"; exit 1; } |
| 22 | 20 | sudo bash ./core/vim.sh || { echo "Failed to configure Vim"; exit 1; } | |
| 23 | sudo dnf install -y ncurses-term nc # nc for vim | 21 | sudo bash ./core/tmux.sh || { echo "Failed to configure Tmux"; exit 1; } |
| 24 | echo "export TERM=xterm-256color" >> ~/.bashrc | ||
| 25 | source ~/.bashrc | ||
| 26 | tput colors # shld be 256 | ||
| 27 | |||
| 28 | |||
| 29 | |||
| 30 | |||
