Update configs. #4
@@ -1,7 +1,10 @@
|
|||||||
# For Rust stuff, uncomment this line
|
# Source rust things if they exist
|
||||||
#. "$HOME/.cargo/env"
|
if [ -f ~/.cargo/env ]; then
|
||||||
|
. ~/.cargo/env
|
||||||
|
fi
|
||||||
|
|
||||||
alias ,git='git config --global user.name "Shaun Reed" && git config --global user.email "shaunrd0@gmail.com"'
|
alias ,git='git config --global user.name "Shaun Reed" && git config --global user.email "shaunrd0@gmail.com"'
|
||||||
|
# Some aliases don't make sense in the docker image, like shortcuts to fix plasmashell.
|
||||||
if [ -f /.dockerenv ]; then
|
if [ -f /.dockerenv ]; then
|
||||||
export DOT_PACKAGES='git stow vim tmux ranger clang wget curl'
|
export DOT_PACKAGES='git stow vim tmux ranger clang wget curl'
|
||||||
alias ,update='apt update -y && apt upgrade -y && apt upgrade --fix-broken --fix-missing --auto-remove'
|
alias ,update='apt update -y && apt upgrade -y && apt upgrade --fix-broken --fix-missing --auto-remove'
|
||||||
@@ -19,8 +22,6 @@ else
|
|||||||
alias ,vbox="ps aux www |grep 'VBoxClient --draganddrop' | awk '{print $2}' | xargs kill"
|
alias ,vbox="ps aux www |grep 'VBoxClient --draganddrop' | awk '{print $2}' | xargs kill"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Alias / export customizations
|
|
||||||
|
|
||||||
# colored GCC warnings and errors
|
# colored GCC warnings and errors
|
||||||
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
|
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
|
||||||
|
|
||||||
|
|||||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,4 +1,6 @@
|
|||||||
|
.bashrc
|
||||||
.bash_secrets
|
.bash_secrets
|
||||||
|
.vim/.netrwhist
|
||||||
.idea/
|
.idea/
|
||||||
.config/Code/Backups/*
|
.config/Code/Backups/*
|
||||||
.config/Code/*Cache*/*
|
.config/Code/*Cache*/*
|
||||||
|
|||||||
4
.stow-local-ignore
Normal file
4
.stow-local-ignore
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
README.md
|
||||||
|
setup.sh
|
||||||
|
Dockerfile
|
||||||
|
VimScreenshot.png
|
||||||
28
.tmux.conf
28
.tmux.conf
@@ -2,11 +2,11 @@
|
|||||||
## Author: Shaun Reed | Contact: shaunrd0@gmail.com | URL: www.shaunreed.com ##
|
## Author: Shaun Reed | Contact: shaunrd0@gmail.com | URL: www.shaunreed.com ##
|
||||||
## ##
|
## ##
|
||||||
## A custom tmux multiplexer config / layout created for Manjaro i3 ##
|
## A custom tmux multiplexer config / layout created for Manjaro i3 ##
|
||||||
##+ Inspired by vim-powerline: https://github.com/Lokaltog/powerline ##
|
## Inspired by vim-powerline: https://github.com/Lokaltog/powerline ##
|
||||||
## ##
|
## ##
|
||||||
## This config created and tested with Powerline Consolas ##
|
## This config was created and tested with Powerline Consolas ##
|
||||||
##+ https://github.com/Lokaltog/powerline-fonts ##
|
## https://github.com/Lokaltog/powerline-fonts ##
|
||||||
##+ Some symbols may require Font Awesome 5 Free Solid ##
|
## Some symbols may require Font Awesome 5 Free Solid ##
|
||||||
## ##
|
## ##
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# .tmux.conf
|
# .tmux.conf
|
||||||
@@ -24,21 +24,6 @@
|
|||||||
# + Source: https://www.seanh.cc/2020/12/27/copy-and-paste-in-tmux/
|
# + Source: https://www.seanh.cc/2020/12/27/copy-and-paste-in-tmux/
|
||||||
# + Depends: https://github.com/tmux-plugins/tmux-yank#linux
|
# + Depends: https://github.com/tmux-plugins/tmux-yank#linux
|
||||||
set -g mouse on
|
set -g mouse on
|
||||||
# These bindings are for X Windows only. If you're using a different
|
|
||||||
# window system you have to replace the `xsel` commands with something
|
|
||||||
# else. See https://github.com/tmux/tmux/wiki/Clipboard#available-tools
|
|
||||||
bind -T copy-mode DoubleClick1Pane select-pane \; send -X select-word \; send -X copy-pipe-no-clear "xsel -i"
|
|
||||||
bind -T copy-mode-vi DoubleClick1Pane select-pane \; send -X select-word \; send -X copy-pipe-no-clear "xsel -i"
|
|
||||||
bind -n DoubleClick1Pane select-pane \; copy-mode -M \; send -X select-word \; send -X copy-pipe-no-clear "xsel -i"
|
|
||||||
bind -T copy-mode TripleClick1Pane select-pane \; send -X select-line \; send -X copy-pipe-no-clear "xsel -i"
|
|
||||||
bind -T copy-mode-vi TripleClick1Pane select-pane \; send -X select-line \; send -X copy-pipe-no-clear "xsel -i"
|
|
||||||
bind -n TripleClick1Pane select-pane \; copy-mode -M \; send -X select-line \; send -X copy-pipe-no-clear "xsel -i"
|
|
||||||
bind -n MouseDown2Pane run "tmux set-buffer -b primary_selection \"$(xsel -o)\"; tmux paste-buffer -b primary_selection; tmux delete-buffer -b primary_selection"
|
|
||||||
#set -g @plugin 'tmux-plugins/tpm'
|
|
||||||
#set -g @plugin 'tmux-plugins/tmux-yank'
|
|
||||||
#set -g @yank_action 'copy-pipe-no-clear'
|
|
||||||
#bind -T copy-mode C-c send -X copy-pipe-no-clear "xsel -i --clipboard"
|
|
||||||
#bind -T copy-mode-vi C-c send -X copy-pipe-no-clear "xsel -i --clipboard"
|
|
||||||
|
|
||||||
set-option -s set-clipboard external
|
set-option -s set-clipboard external
|
||||||
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection clipboard -i"
|
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection clipboard -i"
|
||||||
@@ -88,11 +73,6 @@ set -g window-status-current-format "#($HOME/go/bin/gitmux -cfg $HOME/.gitmux.co
|
|||||||
#set -g window-status-current-format "#[fg=colour255,bg=colour233]#[fg=colour100,nobold] #(whoami)@#H #[fg=colour255,bg=colour233,nobold]"
|
#set -g window-status-current-format "#[fg=colour255,bg=colour233]#[fg=colour100,nobold] #(whoami)@#H #[fg=colour255,bg=colour233,nobold]"
|
||||||
|
|
||||||
run-shell "bash ~/.tmux/tmux-conf.sh"
|
run-shell "bash ~/.tmux/tmux-conf.sh"
|
||||||
# Check if we are running xorg
|
|
||||||
#set -g status-left "#[fg=colour233,bg=colour100,bold] #S #[fg=colour100,bg=colour240,nobold]#[fg=colour233,bg=colour240] #(whoami) #[fg=colour240,bg=colour235]#[fg=colour240,bg=colour235] #(hostname) #[fg=colour235,bg=colour233]#[fg=colour240,bg=colour233]"
|
|
||||||
#set -g status-right "#[fg=colour235,bg=colour233,bold]#[fg=colour240,bg=colour235,nobold] %H:%M:%S #[fg=colour240,bg=colour235,bold]#[fg=colour233,bg=colour240,nobold] %d-%b-%y #[fg=colour100,bg=colour240,bold]#[fg=colour233,bg=colour100,bold] #(cd #{pane_current_path}; basename `git rev-parse --show-toplevel`) "
|
|
||||||
|
|
||||||
|
|
||||||
# Current window status
|
# Current window status
|
||||||
set -g window-status-current-style bg=colour233,fg=colour100
|
set -g window-status-current-style bg=colour233,fg=colour100
|
||||||
# Window with activity status
|
# Window with activity status
|
||||||
|
|||||||
@@ -8,12 +8,6 @@ set -g mouse on
|
|||||||
# These bindings are for X Windows only. If you're using a different
|
# These bindings are for X Windows only. If you're using a different
|
||||||
# window system you have to replace the `xsel` commands with something
|
# window system you have to replace the `xsel` commands with something
|
||||||
# else. See https://github.com/tmux/tmux/wiki/Clipboard#available-tools
|
# else. See https://github.com/tmux/tmux/wiki/Clipboard#available-tools
|
||||||
bind -T copy-mode DoubleClick1Pane select-pane \; send -X select-word \; send -X copy-pipe-no-clear "xsel -i"
|
|
||||||
bind -T copy-mode-vi DoubleClick1Pane select-pane \; send -X select-word \; send -X copy-pipe-no-clear "xsel -i"
|
|
||||||
bind -n DoubleClick1Pane select-pane \; copy-mode -M \; send -X select-word \; send -X copy-pipe-no-clear "xsel -i"
|
|
||||||
bind -T copy-mode TripleClick1Pane select-pane \; send -X select-line \; send -X copy-pipe-no-clear "xsel -i"
|
|
||||||
bind -T copy-mode-vi TripleClick1Pane select-pane \; send -X select-line \; send -X copy-pipe-no-clear "xsel -i"
|
|
||||||
bind -n TripleClick1Pane select-pane \; copy-mode -M \; send -X select-line \; send -X copy-pipe-no-clear "xsel -i"
|
|
||||||
bind -n MouseDown2Pane run "tmux set-buffer -b primary_selection \"$(xsel -o)\"; tmux paste-buffer -b primary_selection; tmux delete-buffer -b primary_selection"
|
bind -n MouseDown2Pane run "tmux set-buffer -b primary_selection \"$(xsel -o)\"; tmux paste-buffer -b primary_selection; tmux delete-buffer -b primary_selection"
|
||||||
|
|
||||||
# List of plugins and their settings
|
# List of plugins and their settings
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
let g:netrw_dirhistmax =10
|
|
||||||
let g:netrw_dirhistcnt =3
|
|
||||||
let g:netrw_dirhist_3='/home/kapper/.ssh'
|
|
||||||
let g:netrw_dirhist_2='/home/kapper'
|
|
||||||
let g:netrw_dirhist_1='/home/kapper/dot/vim/.vim/bundle/vim-airline-themes'
|
|
||||||
4
.vim/backup/.gitignore
vendored
Normal file
4
.vim/backup/.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# Ignore everything in this directory
|
||||||
|
*
|
||||||
|
# Don't ignore this file
|
||||||
|
!.gitignore
|
||||||
4
.vim/swap/.gitignore
vendored
Normal file
4
.vim/swap/.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# Ignore everything in this directory
|
||||||
|
*
|
||||||
|
# Don't ignore this file
|
||||||
|
!.gitignore
|
||||||
77
.vimrc
77
.vimrc
@@ -1,7 +1,12 @@
|
|||||||
" Single-quote is a comment written to be read
|
" Single-quote is a comment written to be read
|
||||||
" Double-quotes are commented out code and can be removed or added
|
" Double-quotes are commented out code and can be removed or added
|
||||||
|
|
||||||
|
"
|
||||||
" General Vim Settings
|
" General Vim Settings
|
||||||
|
|
||||||
|
" Fix plugin compatibility issues
|
||||||
|
set nocp
|
||||||
|
|
||||||
let is_docker = filereadable(expand('/.dockerenv'))
|
let is_docker = filereadable(expand('/.dockerenv'))
|
||||||
let has_sauce = filereadable(expand('~/.local/share/fonts/sauce-code-pro.otf'))
|
let has_sauce = filereadable(expand('~/.local/share/fonts/sauce-code-pro.otf'))
|
||||||
let is_xorg = exists("$DISPLAY")
|
let is_xorg = exists("$DISPLAY")
|
||||||
@@ -13,9 +18,14 @@ let is_xorg = exists("$DISPLAY")
|
|||||||
" Keep the bottom / top of the page n lines from the cursor
|
" Keep the bottom / top of the page n lines from the cursor
|
||||||
set scrolloff=5
|
set scrolloff=5
|
||||||
|
|
||||||
|
" set paths for swap, backup, and undo files
|
||||||
|
" :help directory
|
||||||
|
set directory=~/.vim/swap//,~/tmp/,/var/tmp/,/tmp/,.
|
||||||
|
" :help backupdir
|
||||||
|
set backupdir=~/.vim/backup//,~/tmp/,/var/tmp/,/tmp/,.
|
||||||
" Persistant undo
|
" Persistant undo
|
||||||
" :help undo-persistence
|
" :help undo-persistence
|
||||||
set undodir=~/.vim/undodir
|
set undodir=~/.vim/undo//,~/tmp/,/var/tmp/,/tmp/,.
|
||||||
set undofile
|
set undofile
|
||||||
|
|
||||||
" Combine vim clipboard with global clipboard buffer
|
" Combine vim clipboard with global clipboard buffer
|
||||||
@@ -26,29 +36,7 @@ set clipboard+=unnamedplus
|
|||||||
|
|
||||||
" Allows true colors in vim (> 8 bit colors)
|
" Allows true colors in vim (> 8 bit colors)
|
||||||
" :help termguicolors
|
" :help termguicolors
|
||||||
"set termguicolors
|
""set termguicolors
|
||||||
|
|
||||||
" Custom formatting based on filetype
|
|
||||||
" :help autocmd
|
|
||||||
"" autocmd FileType yaml set tabstop=2 shiftwidth=2
|
|
||||||
|
|
||||||
" Highlight characters past column N in source files based on file type
|
|
||||||
autocmd FileType cpp,c match ErrorMsg '\%>80v.\+'
|
|
||||||
autocmd FileType cs match ErrorMsg '\%>120v.\+'
|
|
||||||
|
|
||||||
" Define function in vim to remove whitespace
|
|
||||||
fun! TrimWhitespace()
|
|
||||||
let l:save = winsaveview()
|
|
||||||
keeppatterns %s/\s\+$//e
|
|
||||||
call winrestview(l:save)
|
|
||||||
endfun
|
|
||||||
"Call this on every attempt to save a file of types defined below..
|
|
||||||
autocmd BufWritePre *.cpp,*.h,*.c,*.php,*.cs,*.yml,*.txt,*.md :call TrimWhitespace()
|
|
||||||
""autocmd BufWritePre *.cpp,*.h,*.c,*.php :%s/\s\+$//ge
|
|
||||||
|
|
||||||
" Set terminal title when opening file
|
|
||||||
"" autocmd BufEnter * let &titlestring = ' ' . expand("%:t")
|
|
||||||
"" set title
|
|
||||||
|
|
||||||
" Set tabwidth=2, adjust Vim shiftwidth to the same
|
" Set tabwidth=2, adjust Vim shiftwidth to the same
|
||||||
set tabstop=2 shiftwidth=2
|
set tabstop=2 shiftwidth=2
|
||||||
@@ -64,23 +52,15 @@ set mouse=a
|
|||||||
|
|
||||||
set number
|
set number
|
||||||
|
|
||||||
" Use Powerline symbols
|
|
||||||
""let g:airline_powerline_fonts = 1
|
|
||||||
|
|
||||||
" Enable Syntax Highlighting in Vim
|
" Enable Syntax Highlighting in Vim
|
||||||
syntax on
|
syntax on
|
||||||
" Use Sourcerer color scheme by Xero
|
" Use Sourcerer color scheme by Xero
|
||||||
colorscheme sourcerer
|
colorscheme sourcerer
|
||||||
|
|
||||||
" Fix plugin compatibility issues
|
|
||||||
set nocp
|
|
||||||
" Allow backspace to remove all types of characters
|
" Allow backspace to remove all types of characters
|
||||||
set backspace=indent,eol,start
|
set backspace=indent,eol,start
|
||||||
|
|
||||||
" Set terminal title when opening file
|
"
|
||||||
"" autocmd BufEnter * let &titlestring = ' ' . expand("%:t")
|
|
||||||
"" set title
|
|
||||||
|
|
||||||
" Custom Vim Keybindings
|
" Custom Vim Keybindings
|
||||||
|
|
||||||
" nnoremap <C-e> <C-w> " Modify and remove leading quotation
|
" nnoremap <C-e> <C-w> " Modify and remove leading quotation
|
||||||
@@ -95,6 +75,34 @@ nnoremap <C-e> <C-w>
|
|||||||
"nnoremap <C-b> :!cmake -S . -B ./build/ && cmake --build ./build
|
"nnoremap <C-b> :!cmake -S . -B ./build/ && cmake --build ./build
|
||||||
"nnoremap <C-d> :!./build/scrap
|
"nnoremap <C-d> :!./build/scrap
|
||||||
|
|
||||||
|
" Define function in vim to remove whitespace
|
||||||
|
fun! TrimWhitespace()
|
||||||
|
let l:save = winsaveview()
|
||||||
|
keeppatterns %s/\s\+$//e
|
||||||
|
" Restore window view to retain cursor position
|
||||||
|
call winrestview(l:save)
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" :help autocmd
|
||||||
|
augroup DotAutoCmd
|
||||||
|
autocmd!
|
||||||
|
" Set custom options based on filetype
|
||||||
|
autocmd FileType yaml set tabstop=2 shiftwidth=2
|
||||||
|
|
||||||
|
" Highlight characters past column N in source files based on file type
|
||||||
|
autocmd FileType cpp,c,cc,rust match ErrorMsg '\%>80v.\+'
|
||||||
|
autocmd FileType cs match ErrorMsg '\%>120v.\+'
|
||||||
|
|
||||||
|
"Call this on every attempt to save a file of types defined below..
|
||||||
|
autocmd BufWritePre * call TrimWhitespace()
|
||||||
|
|
||||||
|
" Set terminal title when opening file
|
||||||
|
"" autocmd BufEnter * let &titlestring = ' ' . expand("%:t")
|
||||||
|
"" set title
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
|
||||||
|
"
|
||||||
" Vim Plugin Settings
|
" Vim Plugin Settings
|
||||||
|
|
||||||
" set rtp+=/path/to/rtp/that/included/pathogen/vim " if needed
|
" set rtp+=/path/to/rtp/that/included/pathogen/vim " if needed
|
||||||
@@ -178,7 +186,7 @@ elseif is_xorg
|
|||||||
let g:airline_symbols.notexists = 'Ɇ'
|
let g:airline_symbols.notexists = 'Ɇ'
|
||||||
let g:airline_symbols.whitespace = 'Ξ'
|
let g:airline_symbols.whitespace = 'Ξ'
|
||||||
else
|
else
|
||||||
" unicode symbols
|
" no symbols
|
||||||
let g:airline_left_sep = ''
|
let g:airline_left_sep = ''
|
||||||
let g:airline_left_sep = ''
|
let g:airline_left_sep = ''
|
||||||
let g:airline_right_sep = ''
|
let g:airline_right_sep = ''
|
||||||
@@ -201,6 +209,7 @@ else
|
|||||||
let g:airline_symbols.whitespace = ''
|
let g:airline_symbols.whitespace = ''
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
"
|
||||||
" Clang completeion settings
|
" Clang completeion settings
|
||||||
|
|
||||||
" If this is set, clang_complete will not be loaded at all
|
" If this is set, clang_complete will not be loaded at all
|
||||||
|
|||||||
36
README.md
36
README.md
@@ -1,3 +1,5 @@
|
|||||||
|
## Dotfiles
|
||||||
|
|
||||||
Dotfiles configurations for headless Ubuntu 22.04 linux environments. Be sure to clone recursively if you want to grab updated plugins / submodules included. For example, using Pathogen with Vim to manage plugins requires that the plugin to be installed are cloned to the `~/.vim/bundle/` directory. Cloning recursively allows git to clone these same nested repositories/submodules within this directory so Pathogen can handle running the Vim plugins.
|
Dotfiles configurations for headless Ubuntu 22.04 linux environments. Be sure to clone recursively if you want to grab updated plugins / submodules included. For example, using Pathogen with Vim to manage plugins requires that the plugin to be installed are cloned to the `~/.vim/bundle/` directory. Cloning recursively allows git to clone these same nested repositories/submodules within this directory so Pathogen can handle running the Vim plugins.
|
||||||
|
|
||||||
Once installed, editing source code in vim supports features displayed in the screenshot below
|
Once installed, editing source code in vim supports features displayed in the screenshot below
|
||||||
@@ -6,34 +8,16 @@ Once installed, editing source code in vim supports features displayed in the sc
|
|||||||
|
|
||||||
### Install Dotfiles
|
### Install Dotfiles
|
||||||
|
|
||||||
Easiest installation is to clone repository into home directory -
|
If you don't install `vim-gtk3`, vim will not have access to your system clipboard, and your copy and paste buffers will not stay in sync.
|
||||||
|
|
||||||
|
Installation instructions -
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo apt install git stow vim xsel xclip tmux ranger clang yakuake wget curl
|
git clone --recursive https://github.com/shaunrd0/dot
|
||||||
git clone --recursive https://github.com/shaunrd0/dot ~/dot
|
cd dot/
|
||||||
cd ~/dot/
|
./setup.sh
|
||||||
stow --adopt .
|
mv ~/.bashrc ~/.bashrc.backup
|
||||||
```
|
stow . -t ~
|
||||||
|
|
||||||
If you'd rather clone elsewhere -
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git clone --recursive https://github.com/shaunrd0/dot /path/to/dot
|
|
||||||
cd /path/to/dot/
|
|
||||||
stow --adopt -t ~ .
|
|
||||||
```
|
|
||||||
|
|
||||||
**Warning:** `--adopt` is used to link conflicting files, but doing so could result in the loss of some configs within your local copy of the repository and on your local system.
|
|
||||||
After running `stow --adopt .`, be sure to check `git status` is clean.
|
|
||||||
If a file has been modified, discard the local changes to be up-to-date with `origin/master` and it will be restored on your system as well, since the files are now linked. **Your conflicting local system configurations will be lost** unless you back them up manually.
|
|
||||||
|
|
||||||
We could run the following commands to restore changed files
|
|
||||||
```bash
|
|
||||||
git checkout -- .vimrc
|
|
||||||
# Or, to step through each change interactively using git..
|
|
||||||
git checkout -p
|
|
||||||
# Or restore the current directory
|
|
||||||
git restore .
|
|
||||||
```
|
```
|
||||||
|
|
||||||
If you forget to clone recursively
|
If you forget to clone recursively
|
||||||
|
|||||||
Reference in New Issue
Block a user