Update configs. (#4)

This commit was merged in pull request #4.
This commit is contained in:
2026-02-14 01:58:02 +00:00
parent 7f0ca310aa
commit 74c93ce642
11 changed files with 104 additions and 104 deletions

View File

@@ -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
View File

@@ -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
View File

@@ -0,0 +1,4 @@
README.md
setup.sh
Dockerfile
VimScreenshot.png

View File

@@ -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

View File

@@ -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

View File

@@ -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
View File

@@ -0,0 +1,4 @@
# Ignore everything in this directory
*
# Don't ignore this file
!.gitignore

4
.vim/swap/.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
# Ignore everything in this directory
*
# Don't ignore this file
!.gitignore

77
.vimrc
View File

@@ -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

View File

@@ -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

23
setup.sh Executable file
View File

@@ -0,0 +1,23 @@
#!/usr/bin/env bash
git submodule update --init
sudo apt update
sudo apt install -y \
git \
stow \
vim \
vim-gtk3 \
xsel \
xclip \
tmux \
ranger \
clang \
yakuake \
wget \
curl \
golang-go
go install github.com/arl/gitmux@latest