20 Commits

Author SHA1 Message Date
3c04a3a24a Fix if. 2026-02-14 22:33:58 -05:00
060dd0b44f Update setup script. 2026-02-14 22:33:58 -05:00
72f807aaf0 Test install. 2026-02-14 22:33:58 -05:00
6d59e72866 Reapply "Add blerc."
This reverts commit b2734d8e54.
2026-02-14 22:33:58 -05:00
90f24b1edd Revert "Add blerc."
This reverts commit fdf5dcfe9d.
2026-02-14 22:33:58 -05:00
4b41cbe467 Install ble.sh in setup script. 2026-02-14 22:33:58 -05:00
bb77a3a032 Add blerc. 2026-02-14 22:33:58 -05:00
6b6e88dcbb Revert "Add bash line editor."
This reverts commit 10251dd1cb.
2026-02-14 22:33:08 -05:00
10251dd1cb Add bash line editor. 2026-02-14 12:43:31 -05:00
c7a300cd58 Update configs. (#4) 2026-02-14 11:45:56 -05:00
7f0ca310aa Update command aliases 2022-11-20 13:49:18 -05:00
c76f7a7b9f Fix repo name in tmux bar 2022-08-28 19:34:18 -04:00
be0dd678dc Add docker image 2022-08-28 18:00:09 -04:00
8ec0ec3cef Set configs for different envrionments
+ Check if we're in docker or running xorg
+ Adjust tmux / vim settings
2022-08-28 17:25:44 -04:00
e0ff2faeba Update vim configs
+ Conditionally use custom font
+ Fix ranger devicons
+ Add konsole profile
+ Conditionally eable default konsole profile
2022-08-26 22:02:57 -04:00
629ef32a26 Remove unused submodule 2022-08-06 23:55:40 -04:00
0fb52c2472 Update tmux configs
+ Add gitmux config
+ Use find to locate libclang in .bash_aliases
2022-08-06 23:39:41 -04:00
c2e4e04a18 Update bash aliases and settings
+ Fix gitmux
2022-07-29 20:13:51 -04:00
903e81aad4 Update tmux configs
+ Plugins for tmux
+ Ranger plugins
2022-07-16 10:28:31 -04:00
d412a35d38 Update README 2021-12-21 13:38:14 -05:00
31 changed files with 1136 additions and 124 deletions

View File

@@ -1,36 +1,118 @@
# Aliases to use the correct python version
# + Because python doesn't know how to update.. :')
alias python3='python3.9'
alias pip3='python3.9 -m pip'
# Source ble.sh if installed.
if [ -f ~/.local/share/blesh/ble.sh ]; then
source -- ~/.local/share/blesh/ble.sh
fi
alias kapp-git='git config --global user.name "Shaun Reed" && git config --global user.email "shaunrd0@gmail.com"'
alias kapp-update='sudo apt update -y && sudo apt upgrade -y && sudo apt upgrade --fix-broken --fix-missing --auto-remove'
# Source rust things if they exist
if [ -f ~/.cargo/env ]; then
. ~/.cargo/env
fi
# Alias / export customizations
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
export DOT_PACKAGES='git stow vim tmux ranger clang wget curl golang-go'
alias ,update='apt update -y && apt upgrade -y && apt upgrade --fix-broken --fix-missing --auto-remove'
alias ,init='apt update -y && apt install -y $DOT_PACKAGES'
alias ,swap='swapoff -a && swapon -a'
else
export DOT_PACKAGES='git stow vim vim-gtk3 xsel xclip tmux ranger clang yakuake wget curl golang-go gawk'
alias ,update='sudo apt update -y && sudo apt upgrade -y && sudo apt upgrade --fix-broken --fix-missing --auto-remove'
alias ,init='sudo apt update -y && sudo apt install -y $DOT_PACKAGES'
# Clear kscreen cached settings
alias ,kscreen='rm -rf ~/.local/share/kscreen/*'
# Restart plasmashell
alias ,plasmashell='plasmashell --replace &> /dev/null &'
alias ,swap='sudo swapoff -a && sudo swapon -a'
alias ,vbox="ps aux www |grep 'VBoxClient --draganddrop' | awk '{print $2}' | xargs kill"
alias ,assistant="nohup $HOME/Qt/6.9.0/gcc_64/bin/assistant > /dev/null 2>&1 &"
fi
# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
# Add an "alert" alias for long running commands. Use like so:
# sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
export EDITOR="vim"
export VISUAL="vim"
export LS_COLORS="di=1;34:ln=31;47:so=32:pi=33:ex=1;32:bd=34;46:cd=34;43:su=30;41:sg=30;46:tw=30;42:ow=30;43"
export PATH=$PATH:/opt/:/home/kapper/.local/bin/
export PATH=$PATH:/opt/:$HOME/.local/bin/:$HOME/.dotnet:$HOME/go/bin/
export DOTNET_ROOT=$HOME/.dotnet
# Example path for autocompletion using libclang-9-dev package, obtained by the following command
# find /usr/ -name libclang.so.1 2>/dev/null
export LIBCLANG="/usr/lib/llvm-10/lib/libclang.so.1"
export LIBCLANG="$(command -v clang &>/dev/null && ldconfig -p | sort | grep libclang-[0-9]. | awk -F "> " '{print$2}' | tail -n 1)"
# Source a top-secret alias file
if [ -f ~/.bash_secrets ]; then
if [ -e ~/.bash_secrets ]; then
. ~/.bash_secrets
fi
if command -v tmux &> /dev/null && [ -n "$PS1" ] && [[ ! "$TERM" =~ screen ]] && [[ ! "$TERM" =~ tmux ]] && [ -z "$TMUX" ]; then
if ! pstree -s $$ | grep -wq code; then
exec tmux >/dev/null 2>&1
fi
fi
# Set the default terminal to use konsole, with kapper profile
# + Execute tmux on start
if [ -e ~/.local/share/konsole/kapper.profile ]; then
if command -v tmux &>/dev/null; then
export TERMINAL='konsole --profile kapper -e tmux'
else
export TERMINAL='konsole --profile kapper'
fi
fi
# Conditionally enables font glyphs in .vimrc if available
if [ -e ~/.local/share/fonts/sauce-code-pro.otf ]; then
export SAUCE=1
fi
# Less colors for man pages
export PAGER=less
default=$(tput sgr0)
red=$(tput setaf 1)
green=$(tput setaf 2)
purple=$(tput setaf 5)
orange=$(tput setaf 9)
# Begin blinking
export LESS_TERMCAP_mb=$red
# Begin bold
export LESS_TERMCAP_md=$orange
# End mode
export LESS_TERMCAP_me=$default
# End standout-mode
export LESS_TERMCAP_se=$default
# Begin standout-mode - info box
export LESS_TERMCAP_so=$purple
# End underline
export LESS_TERMCAP_ue=$default
# Begin underline
export LESS_TERMCAP_us=$green
# Allow mouse wheel movement for less output (manpages, diffs)
export LESS='--mouse --wheel-lines 2'
# Set additional flags for less
# + -R for raw control characters
# + -w to highlight first unread line when jumping N>1 lines down
# + -#2 to shift 2 columns horizontally when right / left arrow is pressed
export LESS="$LESS -R -w -#2"
if ! [ command -v conda &>/dev/null ] && [ -e ~/Code/Clones/mambaforge/bin/conda ] && ! grep -e conda ~/.bashrc &>/dev/null; then
if ! (~/Code/Clones/mambaforge/bin/conda init | awk -F "==>" '{print $1}'); then
echo "[dot] ERROR: Failed to initialize Conda."
fi
echo "[dot] WARN: Ran \`conda init\`; Conda was installed but not initialized"
source ~/.bashrc
fi
# For shared systems where history is not desired.
# ln -sf /dev/null ~/.bash_history
# HISTFILE=/dev/null
# Avoid duplicates in bash history.
HISTCONTROL=ignoredups:erasedups
# When the shell exits, append to the history file instead of overwriting it.
shopt -s histappend

View File

@@ -115,4 +115,3 @@ if ! shopt -oq posix; then
. /etc/bash_completion
fi
fi
. "$HOME/.cargo/env"

54
.blerc Normal file
View File

@@ -0,0 +1,54 @@
# Insert date-time string within a bash prompt using `\dt<SP>`
function blerc/define-sabbrev-dt {
ble-sabbrev -m '\dt'='ble/util/assign COMPREPLY "date +%F_%H-%M-%S"'
}
blehook/eval-after-load complete blerc/define-sabbrev-dt
# Insert the time within a bash prompt using `\time<SP>`
function blerc/define-sabbrev-time {
ble-sabbrev -m '\time'='ble/util/assign COMPREPLY "date +%H-%M-%S"'
}
blehook/eval-after-load complete blerc/define-sabbrev-time
# Insert the date within a bash prompt using `\date<SP>`
# https://github.com/akinomyoga/ble.sh/wiki/Recipes#r1-insert-date-through-sabbrev-date
function blerc/define-sabbrev-date {
ble-sabbrev -m '\date'='ble/util/assign COMPREPLY "date +%F"'
}
blehook/eval-after-load complete blerc/define-sabbrev-date
# Interactive git branch selection with `\branch<SP>`
# https://github.com/akinomyoga/ble.sh/wiki/Recipes#r2-insert-git-branch-name-from-menu-through-sabbrev-branch
function blerc/define-sabbrev-branch {
function blerc/sabbrev-git-branch {
ble/util/assign-array COMPREPLY "git branch | sed 's/^\*\{0,1\}[[:blank:]]*//'" 2>/dev/null
}
ble-sabbrev -m '\branch'=blerc/sabbrev-git-branch
}
blehook/eval-after-load complete blerc/define-sabbrev-branch
# Interactive git commit selection with `\commit<SP>`
# https://github.com/akinomyoga/ble.sh/wiki/Recipes#r3-insert-git-commit-id-from-menu-through-sabbrev-commit
function blerc/define-sabbrev-commit {
ble/color/defface blerc_git_commit_id fg=63
ble/complete/action#inherit-from blerc_git_commit_id word
function ble/complete/action:blerc_git_commit_id/init-menu-item {
local ret
ble/color/face2g blerc_git_commit_id; g=$ret
}
function blerc/sabbrev-git-commit {
bleopt sabbrev_menu_style=desc-raw
bleopt sabbrev_menu_opts=enter_menu
local format=$'%h \e[1;32m(%ar)\e[m %s - \e[4m%an\e[m\e[1;33m%d\e[m'
local arr; ble/util/assign-array arr 'git log --pretty=format:"$format"' &>/dev/null
local line hash subject
for line in "${arr[@]}"; do
builtin read hash subject <<< "$line"
ble/complete/cand/yield blerc_git_commit_id "$hash" "$subject"
done
}
ble-sabbrev -m '\commit'='blerc/sabbrev-git-commit'
}
blehook/eval-after-load complete blerc/define-sabbrev-commit

View File

@@ -0,0 +1,486 @@
[ActionPlugins][0]
RightButton;NoModifier=org.kde.contextmenu
wheel:Vertical;NoModifier=org.kde.switchdesktop
[ActionPlugins][1]
RightButton;NoModifier=org.kde.contextmenu
[Containments][1][Configuration]
PreloadWeight=42
[Containments][2]
activityId=
formfactor=2
immutability=1
lastScreen=0
location=4
plugin=org.kde.panel
wallpaperplugin=org.kde.image
[Containments][2][Applets][20][Configuration]
PreloadWeight=77
[Containments][2][Applets][21]
immutability=1
plugin=org.kde.plasma.minimizeall
[Containments][2][Applets][21][Configuration]
PreloadWeight=42
[Containments][2][Applets][25]
immutability=1
plugin=org.kde.plasma.activitypager
[Containments][2][Applets][25][Configuration]
PreloadWeight=18
[Containments][2][Applets][25][Configuration][ConfigDialog]
DialogHeight=600
DialogWidth=800
[Containments][2][Applets][25][Configuration][General]
showWindowIcons=true
[Containments][2][Applets][26][Configuration]
PreloadWeight=42
[Containments][2][Applets][26][Configuration][SensorColors]
network/all/download=61,174,233
network/all/upload=233,120,61
[Containments][2][Applets][27]
immutability=1
plugin=org.kde.plasma.systemmonitor
[Containments][2][Applets][27][Configuration]
CurrentPreset=org.kde.plasma.systemmonitor
PreloadWeight=46
[Containments][2][Applets][27][Configuration][Appearance]
chartFace=org.kde.ksysguard.piechart
title=CPU
[Containments][2][Applets][27][Configuration][ConfigDialog]
DialogHeight=600
DialogWidth=800
[Containments][2][Applets][27][Configuration][SensorColors]
cpu/all/usage=61,233,79
[Containments][2][Applets][27][Configuration][Sensors]
highPrioritySensorIds=["cpu/all/usage"]
lowPrioritySensorIds=["cpu/all/system","cpu/all/user","cpu/all/wait","cpu/loadaverages/loadaverage1","cpu/loadaverages/loadaverage15","cpu/loadaverages/loadaverage5"]
totalSensors=["cpu/all/usage"]
[Containments][2][Applets][28]
immutability=1
plugin=org.kde.plasma.systemmonitor
[Containments][2][Applets][28][Configuration]
CurrentPreset=org.kde.plasma.systemmonitor
PreloadWeight=26
[Containments][2][Applets][28][Configuration][Appearance]
chartFace=org.kde.ksysguard.piechart
title=SWAP
[Containments][2][Applets][28][Configuration][ConfigDialog]
DialogHeight=600
DialogWidth=800
[Containments][2][Applets][28][Configuration][SensorColors]
memory/swap/freePercent=0,0,0
memory/swap/usedPercent=170,0,0
[Containments][2][Applets][28][Configuration][Sensors]
highPrioritySensorIds=["memory/swap/usedPercent"]
lowPrioritySensorIds=["memory/swap/freePercent"]
totalSensors=["memory/swap/usedPercent","memory/swap/freePercent"]
[Containments][2][Applets][29]
immutability=1
plugin=org.kde.plasma.systemmonitor
[Containments][2][Applets][29][Configuration]
CurrentPreset=org.kde.plasma.systemmonitor
PreloadWeight=31
[Containments][2][Applets][29][Configuration][Appearance]
chartFace=org.kde.ksysguard.piechart
title=RAM
[Containments][2][Applets][29][Configuration][ConfigDialog]
DialogHeight=600
DialogWidth=800
[Containments][2][Applets][29][Configuration][SensorColors]
memory/physical/freePercent=0,0,0
memory/physical/usedPercent=170,0,0
[Containments][2][Applets][29][Configuration][Sensors]
highPrioritySensorIds=["memory/physical/usedPercent"]
lowPrioritySensorIds=["memory/physical/freePercent"]
totalSensors=["memory/physical/usedPercent","memory/physical/freePercent"]
[Containments][2][Applets][3]
immutability=1
plugin=org.kde.plasma.kickoff
[Containments][2][Applets][3][Configuration]
PreloadWeight=92
popupHeight=556
popupWidth=701
[Containments][2][Applets][3][Configuration][Configuration/General]
showAppsByName=true
[Containments][2][Applets][3][Configuration][General]
favorites=preferred://browser,org.kde.discover.desktop,org.kde.kontact.desktop,org.kde.kate.desktop,libreoffice-startcenter.desktop,org.kde.dolphin.desktop,org.kde.plasma-systemmonitor.desktop,systemsettings.desktop,org.kde.konsole.desktop
favoritesPortedToKAstats=true
[Containments][2][Applets][3][Configuration][Shortcuts]
global=Alt+F1
[Containments][2][Applets][3][Shortcuts]
global=Alt+F1
[Containments][2][Applets][30]
immutability=1
plugin=org.kde.plasma.systemmonitor
[Containments][2][Applets][30][Configuration]
CurrentPreset=org.kde.plasma.systemmonitor
PreloadWeight=46
[Containments][2][Applets][30][Configuration][Appearance]
chartFace=org.kde.ksysguard.linechart
title=Network speed
[Containments][2][Applets][30][Configuration][SensorColors]
network/all/download=61,174,233
network/all/upload=233,120,61
[Containments][2][Applets][30][Configuration][Sensors]
highPrioritySensorIds=["network/all/download","network/all/upload"]
[Containments][2][Applets][31][Configuration]
PreloadWeight=26
[Containments][2][Applets][36]
immutability=1
plugin=org.kde.plasma.eventcalendar
[Containments][2][Applets][36][Configuration]
PreloadWeight=100
[Containments][2][Applets][36][Configuration][ConfigDialog]
DialogHeight=600
DialogWidth=800
[Containments][2][Applets][36][Configuration][General]
v71Migration=true
v72Migration=true
[Containments][2][Applets][36][Configuration][Google Calendar]
calendarList=W10=
tasklistList=W10=
[Containments][2][Applets][36][Configuration][Weather]
openWeatherMapCityId=5149222
weatherUnits=imperial
[Containments][2][Applets][39]
immutability=1
plugin=org.kde.weatherWidget-2
[Containments][2][Applets][39][Configuration]
PreloadWeight=100
[Containments][2][Applets][39][Configuration][ConfigDialog]
DialogHeight=600
DialogWidth=800
[Containments][2][Applets][39][Configuration][General]
firstRun=false
places=[{"providerId":"owm","placeIdentifier":"5149222","placeAlias":"Canton, OH","timezoneID":0}]
[Containments][2][Applets][39][Configuration][Units]
pressureType=inHg
temperatureType=fahrenheit
windSpeedType=mph
[Containments][2][Applets][4][Configuration]
PreloadWeight=42
[Containments][2][Applets][5]
immutability=1
plugin=org.kde.plasma.icontasks
[Containments][2][Applets][5][Configuration]
PreloadWeight=42
[Containments][2][Applets][5][Configuration][ConfigDialog]
DialogHeight=600
DialogWidth=800
[Containments][2][Applets][5][Configuration][General]
launchers=preferred://filemanager
sortingStrategy=4
[Containments][2][Applets][6]
immutability=1
plugin=org.kde.plasma.marginsseparator
[Containments][2][Applets][6][Configuration]
PreloadWeight=42
[Containments][2][Applets][61]
immutability=1
plugin=org.kde.plasma.digitalclock
[Containments][2][Applets][61][Configuration]
PreloadWeight=100
popupHeight=500
popupWidth=900
[Containments][2][Applets][61][Configuration][Appearance]
selectedTimeZones=America/Los_Angeles,Local,UTC+00:00,Europe/Paris,Europe/Madrid,Europe/Athens
showDate=false
showWeekNumbers=true
[Containments][2][Applets][61][Configuration][ConfigDialog]
DialogHeight=540
DialogWidth=720
[Containments][2][Applets][7]
immutability=1
plugin=org.kde.plasma.systemtray
[Containments][2][Applets][7][Configuration]
PreloadWeight=92
SystrayContainmentId=8
[Containments][2][ConfigDialog]
DialogHeight=91
DialogWidth=1920
[Containments][2][Configuration]
PreloadWeight=42
[Containments][2][General]
AppletOrder=3;29;28;27;30;5;25;61;6;7;21
[Containments][22][Configuration]
PreloadWeight=42
[Containments][27][Configuration]
PreloadWeight=42
[Containments][28][Configuration]
PreloadWeight=42
[Containments][29][Configuration]
PreloadWeight=42
[Containments][30][Configuration]
PreloadWeight=42
[Containments][32][Configuration]
PreloadWeight=34
[Containments][33][Configuration]
PreloadWeight=34
[Containments][34][Configuration]
PreloadWeight=42
[Containments][35][Configuration]
PreloadWeight=42
[Containments][36][Configuration]
PreloadWeight=42
[Containments][37][Configuration]
PreloadWeight=42
[Containments][38][Configuration]
PreloadWeight=42
[Containments][39][Configuration]
PreloadWeight=42
[Containments][40][Configuration]
PreloadWeight=42
[Containments][42][Configuration]
PreloadWeight=42
[Containments][71]
ItemGeometries-3840x2160=
ItemGeometriesHorizontal=
activityId=335a53bf-d117-46d8-a166-621281cf7411
formfactor=0
immutability=1
lastScreen=0
location=0
plugin=org.kde.plasma.folder
wallpaperplugin=org.kde.image
[Containments][72]
activityId=335a53bf-d117-46d8-a166-621281cf7411
formfactor=0
immutability=1
lastScreen=1
location=0
plugin=org.kde.plasma.folder
wallpaperplugin=org.kde.image
[Containments][8]
activityId=
formfactor=2
immutability=1
lastScreen=0
location=4
plugin=org.kde.plasma.private.systemtray
popupHeight=480
popupWidth=480
wallpaperplugin=org.kde.image
[Containments][8][Applets][10]
immutability=1
plugin=org.kde.kdeconnect
[Containments][8][Applets][10][Configuration]
PreloadWeight=42
[Containments][8][Applets][11]
immutability=1
plugin=org.kde.plasma.clipboard
[Containments][8][Applets][11][Configuration]
PreloadWeight=92
[Containments][8][Applets][12]
immutability=1
plugin=org.kde.plasma.volume
[Containments][8][Applets][12][Configuration]
PreloadWeight=42
[Containments][8][Applets][12][Configuration][ConfigDialog]
DialogHeight=600
DialogWidth=800
[Containments][8][Applets][12][Configuration][General]
currentTab=streams
migrated=true
[Containments][8][Applets][13]
immutability=1
plugin=org.kde.plasma.keyboardindicator
[Containments][8][Applets][13][Configuration]
PreloadWeight=42
[Containments][8][Applets][14]
immutability=1
plugin=org.kde.plasma.devicenotifier
[Containments][8][Applets][14][Configuration]
PreloadWeight=42
[Containments][8][Applets][15]
immutability=1
plugin=org.kde.plasma.nightcolorcontrol
[Containments][8][Applets][15][Configuration]
PreloadWeight=87
[Containments][8][Applets][16]
immutability=1
plugin=org.kde.plasma.manage-inputmethod
[Containments][8][Applets][16][Configuration]
PreloadWeight=42
[Containments][8][Applets][17]
immutability=1
plugin=org.kde.plasma.vault
[Containments][8][Applets][17][Configuration]
PreloadWeight=42
[Containments][8][Applets][18]
immutability=1
plugin=org.kde.plasma.keyboardlayout
[Containments][8][Applets][18][Configuration]
PreloadWeight=52
[Containments][8][Applets][19]
immutability=1
plugin=org.kde.plasma.printmanager
[Containments][8][Applets][19][Configuration]
PreloadWeight=92
[Containments][8][Applets][22]
immutability=1
plugin=org.kde.plasma.battery
[Containments][8][Applets][22][Configuration]
PreloadWeight=42
[Containments][8][Applets][22][Shortcuts]
global=
[Containments][8][Applets][23]
immutability=1
plugin=org.kde.plasma.networkmanagement
[Containments][8][Applets][23][Configuration]
PreloadWeight=47
[Containments][8][Applets][24]
immutability=1
plugin=org.kde.plasma.bluetooth
[Containments][8][Applets][24][Configuration]
PreloadWeight=18
[Containments][8][Applets][25][Configuration]
PreloadWeight=54
[Containments][8][Applets][35]
immutability=1
plugin=org.kde.plasma.mediacontroller
[Containments][8][Applets][35][Configuration]
PreloadWeight=0
[Containments][8][Applets][65]
immutability=1
plugin=org.kde.kscreen
[Containments][8][Applets][9]
immutability=1
plugin=org.kde.plasma.notifications
[Containments][8][Applets][9][Configuration]
PreloadWeight=42
[Containments][8][ConfigDialog]
DialogHeight=600
DialogWidth=800
[Containments][8][Configuration]
PreloadWeight=42
[Containments][8][General]
extraItems=org.kde.plasma.battery,org.kde.plasma.notifications,org.kde.plasma.clipboard,org.kde.plasma.mediacontroller,org.kde.kupapplet,org.kde.plasma.volume,org.kde.plasma.keyboardindicator,org.kde.plasma.devicenotifier,org.kde.plasma.bluetooth,org.kde.plasma.networkmanagement,org.kde.plasma.nightcolorcontrol,org.kde.plasma.manage-inputmethod,org.kde.plasma.vault,org.kde.plasma.keyboardlayout,org.kde.plasma.printmanager,org.kde.kscreen,org.kde.kdeconnect
knownItems=org.kde.plasma.battery,org.kde.plasma.notifications,org.kde.plasma.clipboard,org.kde.plasma.mediacontroller,org.kde.kupapplet,org.kde.plasma.volume,org.kde.plasma.keyboardindicator,org.kde.plasma.devicenotifier,org.kde.plasma.bluetooth,org.kde.plasma.networkmanagement,org.kde.plasma.nightcolorcontrol,org.kde.plasma.manage-inputmethod,org.kde.plasma.vault,org.kde.plasma.keyboardlayout,org.kde.plasma.printmanager,org.kde.kscreen,org.kde.kdeconnect
shownItems=org.kde.plasma.battery
[ScreenMapping]
itemsOnDisabledScreens=
screenMapping=desktop:/goals.md,0,335a53bf-d117-46d8-a166-621281cf7411,desktop:/kilroy.md,0,335a53bf-d117-46d8-a166-621281cf7411

View File

View File

@@ -764,3 +764,6 @@ tmap <delete> eval -q fm.ui.taskview.task_remove()
tmap <C-l> redraw_window
tmap <ESC> taskview_close
copytmap <ESC> q Q w <C-c>
default_linemode devicons

54
.config/yakuake.shortcuts Normal file
View File

@@ -0,0 +1,54 @@
[Global Shortcuts]
toggle-window-state=Meta+`
[Shortcuts]
close-active-terminal=Ctrl+Shift+R
close-session=none
decrease-window-height=Alt+Shift+Up
decrease-window-width=Alt+Shift+Left
edit-profile=none
file_quit=Ctrl+Shift+Q
grow-terminal-bottom=Ctrl+Alt+Down
grow-terminal-left=Ctrl+Alt+Left
grow-terminal-right=Ctrl+Alt+Right
grow-terminal-top=Ctrl+Alt+Up
help_about_app=none
help_about_kde=none
help_report_bug=none
help_whats_this=Shift+F1
increase-window-height=Alt+Shift+Down
increase-window-width=Alt+Shift+Right
keep-open=none
manage-profiles=none
move-session-left=Ctrl+Shift+Left
move-session-right=Ctrl+Shift+Right
new-session=Ctrl+Shift+T
new-session-quad=none
new-session-two-horizontal=none
new-session-two-vertical=none
next-session=Shift+Right
next-terminal=Ctrl+Tab; Shift+Tab
options_configure=Ctrl+Shift+,
options_configure_keybinding=none
options_configure_notifications=none
previous-session=Shift+Left
previous-terminal=Ctrl+Shift+Tab
rename-session=none
split-left-right=Ctrl+(
split-top-bottom=Ctrl+)
switch-to-session-1=none
switch-to-session-12=none
switch-to-session-2=none
switch-to-session-3=none
switch-to-session-4=none
switch-to-session-5=none
switch-to-session-6=none
switch-to-session-7=none
switch-to-session-8=none
switch-to-session-9=none
toggle-session-keyboard-input=none
toggle-session-monitor-activity=Ctrl+Shift+A
toggle-session-monitor-silence=Ctrl+Shift+I
toggle-session-prevent-closing=none
toggle-window-state=none
view-full-screen=Ctrl+Shift+F11

5
.gitignore vendored
View File

@@ -1,3 +1,6 @@
.bash_secrets
.vim/.netrwhist
.idea/
.config/Code/Backups/*
.config/Code/*Cache*/*
.config/Code/Coo*
@@ -10,6 +13,8 @@
.config/Code/rapid_render.json
.config/Code/Network*
**/.config/.brightness
.local/share/fonts/.uuid
# Byte-compiled / optimized / DLL files
*__pycache__/

12
.gitmodules vendored
View File

@@ -23,3 +23,15 @@
[submodule ".vim/bundle/ale"]
path = .vim/bundle/ale
url = https://github.com/dense-analysis/ale
[submodule ".tmux/plugins/tpm"]
path = .tmux/plugins/tpm
url = https://github.com/tmux-plugins/tpm.git
[submodule ".tmux/plugins/tmux-yank"]
path = .tmux/plugins/tmux-yank
url = https://github.com/tmux-plugins/tmux-yank
[submodule ".tmux/plugins/tmux-better-mouse-mode"]
path = .tmux/plugins/tmux-better-mouse-mode
url = https://github.com/NHDaly/tmux-better-mouse-mode
[submodule ".config/ranger/plugins/ranger_devicons"]
path = .config/ranger/plugins/ranger_devicons
url = https://github.com/alexanderjeurissen/ranger_devicons

28
.gitmux.conf Normal file
View File

@@ -0,0 +1,28 @@
tmux:
symbols:
branch: ""
hashprefix: ':'
ahead: ↑·
behind: ↓·
staged: '● '
conflict: '✖ '
modified: '✚ '
untracked: '… '
stashed: '⚑ '
clean: ✓
styles:
clear: '#[fg=default]'
state: '#[fg=red,bold]'
branch: '#[fg=white,bold]'
remote: '#[fg=cyan]'
staged: '#[fg=green,bold]'
conflict: '#[fg=red,bold]'
modified: '#[fg=red,bold]'
untracked: '#[fg=magenta,bold]'
stashed: '#[fg=cyan,bold]'
clean: '#[fg=green,bold]'
divergence: '#[fg=default]'
layout: ["#[bold]⎇ ", branch, ' ⥂ ', remote-branch, divergence, ' - ', flags]
options:
branch_max_len: 30
branch_trim: right

28
.gitmux.conf.docker Normal file
View File

@@ -0,0 +1,28 @@
tmux:
symbols:
branch: "B:"
hashprefix: ':'
ahead: '->'
behind: '<-'
staged: ''
conflict: 'X'
modified: '+'
untracked: '...'
stashed: '[]'
clean: '$'
styles:
clear: '#[fg=default]'
state: '#[fg=red,bold]'
branch: '#[fg=white,bold]'
remote: '#[fg=cyan]'
staged: '#[fg=green,bold]'
conflict: '#[fg=red,bold]'
modified: '#[fg=red,bold]'
untracked: '#[fg=magenta,bold]'
stashed: '#[fg=cyan,bold]'
clean: '#[fg=green,bold]'
divergence: '#[fg=default]'
layout: ["#[bold]", branch, remote-branch, divergence, ' - ', flags]
options:
branch_max_len: 30
branch_trim: right

2
.inputrc Normal file
View File

@@ -0,0 +1,2 @@
"\e[A": history-search-backward
"\e[B": history-search-forward

Binary file not shown.

View File

@@ -0,0 +1,7 @@
[Appearance]
ColorScheme=Breeze
Font=SauceCodePro Nerd Font Mono,10,-1,5,50,0,0,0,0,0
[General]
Name=kapper
Parent=FALLBACK/

7
.stow-local-ignore Normal file
View File

@@ -0,0 +1,7 @@
.git
.gitmodules
.gitignore
README.md
setup.sh
Dockerfile
VimScreenshot.png

98
.tmux.conf Normal file
View File

@@ -0,0 +1,98 @@
###############################################################################
## Author: Shaun Reed | Contact: shaunrd0@gmail.com | URL: www.shaunreed.com ##
## ##
## A custom tmux multiplexer config / layout created for KDE ##
## ##
## This config was tested with SauceCodePro Nerd Font Mono, Regular ##
## See: dot/.local/share/fonts/ ##
## https://github.com/ryanoasis/nerd-fonts ##
## ##
###############################################################################
# If symbols or powerline layout fail to appear...
# + Check your terminal emulator font settings include these fonts
# + Check that required fonts are installed
#
# Note: The use of 256colours in this file allows for portable color definitions between platforms and applications
# + Changing to a different color interpretation may result in some apps displaying colors differently than others
# + Vim plugin 'Colorizer' does not reflect the actual 256colour values
# + See https://jonasjacek.github.io/colors/ for a full list of 256colours
# Settings for terminal text selection / copy options
# + Source: https://www.seanh.cc/2020/12/27/copy-and-paste-in-tmux/
# + Depends: https://github.com/tmux-plugins/tmux-yank#linux
set -g mouse on
set-option -s set-clipboard external
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection clipboard -i"
# Remap shortcut prefix from 'C-b' to 'C-z'
#unbind C-b
#set-option -g prefix C-z
#bind-key C-z send-prefix
set-option -g prefix C-b
bind-key C-b send-prefix
# Reload tmux.conf in this session
bind r source-file ~/.tmux.conf
bind h split-window -h
bind v split-window -v
# switch panes using Alt-arrow without prefix
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D
set-option -g status-position top
# Status update interval
set -g status-interval 1
# Basic status bar colors
set -g status-style fg=colour240,bg=colour233
# Left side of status bar
set -g status-left-style bg=colour233,fg=colour243
set -g status-left-length 40
# Note: SauceCodePro font requires alternate of bold on right side
# + Corrects gap on right of character that reveals BG color
# Note: No bold required, no BG reveal produced by symbol gaps on left side
# + Font: SauceCodePro (NERD patch, Regular)
# Right side of status bar
set -g status-right-style bg=colour233,fg=colour243
set -g status-right-length 100
# Set gitmux to appear in center of tmux status bar
run 'bash -c "if command -v $HOME/go/bin/gitmux &>/dev/null; then test -f $HOME/.gitmux.conf || $HOME/go/bin/gitmux -printcfg > $HOME/.gitmux.conf; fi"'
set -g window-status-current-format "#($HOME/go/bin/gitmux -cfg $HOME/.gitmux.conf \"#{pane_current_path}\")"
# Or if you don't want gitmux
#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"
# Current window status
set -g window-status-current-style bg=colour233,fg=colour100
# Window with activity status
set -g window-status-activity-style bg=colour233,fg=colour245
# Window separator
set -g window-status-separator ""
# Window status alignment
set -g status-justify centre
# Pane border
set -g pane-border-style bg=default,fg=colour238
# Active pane border
set -g pane-active-border-style bg=default,fg=colour100
# Pane number indicator
set -g display-panes-colour colour233
set -g display-panes-active-colour colour245
# Clock mode
set -g clock-mode-colour colour100
set -g clock-mode-style 24
# Message
set -g message-style bg=colour100,fg=black
# Command message
set -g message-command-style bg=colour233,fg=black
set -g default-terminal "screen-256color"
# Mode
set -g mode-style bg=colour100,fg=colour235

28
.tmux/.tmux-gui.conf Normal file
View File

@@ -0,0 +1,28 @@
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] #(git -C #{pane_current_path} remote get-url origin | sed 's/.*[/]//' | sed 's/\.git//') "
# Settings for terminal text selection / copy options
# + Source: https://www.seanh.cc/2020/12/27/copy-and-paste-in-tmux/
# + Depends: https://github.com/tmux-plugins/tmux-yank#linux
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 -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
set -g @plugin 'nhdaly/tmux-better-mouse-mode'
set -g @scroll-speed-num-lines-per-scroll 2
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"
# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'git@github.com/user/plugin'
# set -g @plugin 'git@bitbucket.com/user/plugin'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run -b '~/.tmux/plugins/tpm/tpm'

16
.tmux/.tmux-tty.conf Normal file
View File

@@ -0,0 +1,16 @@
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] #(git -C #{pane_current_path} remote get-url origin | sed 's/.*[/]//' | sed 's/\.git//') "
# List of plugins and their settings
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'nhdaly/tmux-better-mouse-mode'
set -g @scroll-speed-num-lines-per-scroll 2
set -g @plugin 'tmux-plugins/tpm'
# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'git@github.com/user/plugin'
# set -g @plugin 'git@bitbucket.com/user/plugin'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run -b '~/.tmux/plugins/tpm/tpm'

1
.tmux/plugins/tpm Submodule

Submodule .tmux/plugins/tpm added at 26d9ace1b4

7
.tmux/tmux-conf.sh Executable file
View File

@@ -0,0 +1,7 @@
#!/bin/bash
if [ -z ${DISPLAY+notset} ]; then
tmux source-file ~/.tmux/.tmux-tty.conf
else
tmux source-file ~/.tmux/.tmux-gui.conf
fi

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

145
.vimrc
View File

@@ -1,8 +1,16 @@
" Single-quote is a comment written to be read
" Double-quotes are commented out code and can be removed or added
"
" General Vim Settings
" Fix plugin compatibility issues
set nocp
let is_docker = filereadable(expand('/.dockerenv'))
let has_sauce = filereadable(expand('~/.local/share/fonts/sauce-code-pro.otf'))
let is_xorg = exists("$DISPLAY")
" Highlight the column cursor is on
" May slow screen redraw time, so off by default
""set cursorcolumn
@@ -10,39 +18,25 @@
" Keep the bottom / top of the page n lines from the cursor
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
" :help undo-persistence
set undodir=~/.vim/undodir
set undodir=~/.vim/undodir//,~/tmp/,/var/tmp/,/tmp/,.
set undofile
" Combine vim clipboard with global clipboard buffer
" Allows using y and p to copy into CTRL-C buffer, vice versa
" :help 'clipboard'
set clipboard+=unnamed
set clipboard=unnamed
set clipboard+=unnamedplus
" Allows true colors in vim (> 8 bit colors)
" :help termguicolors
set termguicolors
" Custom formatting based on filetype
" :help autocmd
"" autocmd FileType yaml set tabstop=2 shiftwidth=2
" Highlight column 80 in c and cpp files
autocmd FileType cpp,c set colorcolumn=80
" 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 :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 termguicolors
" Set tabwidth=2, adjust Vim shiftwidth to the same
set tabstop=2 shiftwidth=2
@@ -58,23 +52,15 @@ set mouse=a
set number
" Use Powerline symbols
""let g:airline_powerline_fonts = 1
" Enable Syntax Highlighting in Vim
syntax on
" Use Sourcerer color scheme by Xero
colorscheme sourcerer
" Fix plugin compatibility issues
set nocp
" Allow backspace to remove all types of characters
set backspace=indent,eol,start
" Set terminal title when opening file
"" autocmd BufEnter * let &titlestring = ' ' . expand("%:t")
"" set title
"
" Custom Vim Keybindings
" nnoremap <C-e> <C-w> " Modify and remove leading quotation
@@ -86,9 +72,37 @@ nnoremap <C-e> <C-w>
" Build and run keybinds
"" nnoremap <C-b> :!make -C build/
nnoremap <C-b> :!cmake -S . -B ./build/ && cmake --build ./build
nnoremap <C-d> :!./build/scrap
"nnoremap <C-b> :!cmake -S . -B ./build/ && cmake --build ./build
"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
" set rtp+=/path/to/rtp/that/included/pathogen/vim " if needed
@@ -127,7 +141,7 @@ nmap <silent> <C-j> <Plug>(ale_next_wrap)
"let g:colorizer_colornames = 0 " Don't color literal names, like red, green, etc
let g:colorizer_auto_color = 0
""let g:colorizer_skip_comments = 1
""let g:colorizer_auto_filetype ='css,html,vim'
let g:colorizer_auto_filetype ='css,html,qml'
nnoremap <C-c> :ColorToggle<CR>
" Symbols important to vim / terminal layouts
@@ -135,40 +149,67 @@ nnoremap <C-c> :ColorToggle<CR>
set termencoding=utf-8
set encoding=utf-8
" air-line
let g:airline_powerline_fonts = 1
if !exists('g:airline_symbols')
let g:airline_symbols = {}
endif
" Set glyphs based on font availability and environment (xorg / docker)
if and(and(has_sauce, is_xorg), !is_docker)
let g:airline_left_sep = ''
let g:airline_left_alt_sep = ''
let g:airline_right_sep = ''
let g:airline_right_alt_sep = ''
let g:airline_symbols.branch = ''
let g:airline_symbols.readonly = ''
let g:airline_symbols.linenr = ''
elseif is_xorg
" unicode symbols
let g:airline_left_sep = '»'
let g:airline_left_sep = '▶'
let g:airline_right_sep = '«'
let g:airline_right_sep = '◀'
let g:airline_symbols.linenr = ''
let g:airline_symbols.linenr = ''
let g:airline_symbols.colnr = ' ㏇:'
let g:airline_symbols.colnr = ' ℅:'
let g:airline_symbols.crypt = '🔒'
let g:airline_symbols.linenr = '☰'
let g:airline_symbols.linenr = ' ␊:'
let g:airline_symbols.linenr = ' ␤:'
let g:airline_symbols.linenr = '¶'
let g:airline_symbols.maxlinenr = ''
let g:airline_symbols.maxlinenr = '㏑'
let g:airline_symbols.branch = '⎇'
let g:airline_symbols.paste = 'ρ'
let g:airline_symbols.paste = 'Þ'
let g:airline_symbols.paste = '∥'
let g:airline_symbols.spell = 'Ꞩ'
let g:airline_symbols.notexists = 'Ɇ'
let g:airline_symbols.whitespace = 'Ξ'
else
" no symbols
let g:airline_left_sep = ''
let g:airline_left_sep = ''
let g:airline_right_sep = ''
let g:airline_right_sep = ''
let g:airline_symbols.colnr = ''
let g:airline_symbols.colnr = ''
let g:airline_symbols.crypt = ''
let g:airline_symbols.linenr = ''
let g:airline_symbols.linenr = ''
let g:airline_symbols.linenr = ''
let g:airline_symbols.linenr = ''
let g:airline_symbols.maxlinenr = ''
let g:airline_symbols.maxlinenr = ''
let g:airline_symbols.branch = ''
let g:airline_symbols.paste = ''
let g:airline_symbols.paste = ''
let g:airline_symbols.paste = ''
let g:airline_symbols.spell = ''
let g:airline_symbols.notexists = ''
let g:airline_symbols.whitespace = ''
endif
" TODO: Add condition to toggle unicode / airline symbols
" By default use unicode for compatability on all systems
" airline symbols
""let g:airline_left_sep = ''
""let g:airline_left_alt_sep = ''
""let g:airline_right_sep = ''
""let g:airline_right_alt_sep = ''
""let g:airline_symbols.branch = ''
""let g:airline_symbols.readonly = ''
""let g:airline_symbols.linenr = ''
"
" Clang completeion settings
" If this is set, clang_complete will not be loaded at all

13
Dockerfile Normal file
View File

@@ -0,0 +1,13 @@
ARG REPO='https://git.shaunreed.com/shaunrd0/dot'
FROM ubuntu:latest
COPY . /dot
ENV TERM=xterm-256color
# Install additional packages we need
RUN bash -c '. /dot/.bash_aliases && apt update -y && apt install -y $DOT_PACKAGES fontconfig'
RUN apt upgrade -y
RUN go install github.com/arl/gitmux@latest
# Update submodules for plugins
RUN cd /dot && git submodule update --init && cp .gitmux.conf.docker .gitmux.conf
RUN rm ~/.bashrc && rm -rf /dot/.tmux/plugins/tmux-yank
RUN cd /dot && stow -t /root .

View File

@@ -1,44 +1,28 @@
# dot
## Dotfiles
A place for backing up my dotfiles. 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 Kubuntu 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
![Vim screenshot](VimScreenshot.png)
### Install
### Install Dotfiles
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.
Easiest installation is to clone repository into home directory -
Installation instructions -
```bash
git clone --recursive https://github.com/shaunrd0/dot ~/dot
cd ~/dot/
stow --adopt .
```
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. 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.
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 .
git clone --recursive https://github.com/shaunrd0/dot
cd dot/
./setup.sh
mv ~/.bashrc ~/.bashrc.backup
stow . -t ~
```
If you forget to clone recursively
```bash
git submodule update
git submodule update --init
Submodule path '.vim/bundle/Colorizer': checked out '53ada285f0acc171acda4280b6144e468dded89f'
Submodule path '.vim/bundle/ale': checked out '7265ceb6d050d1a4642741d248f11e4f2abd37e1'
Submodule path '.vim/bundle/clang_complete': checked out '0b98d7533ad967aac3fc4c1a5b0508dafa8a676f'
@@ -50,6 +34,24 @@ Submodule path '.vim/bundle/vim-signify': checked out '16eee41d2b267523b84bd4ac1
```
### Docker
You can run these dotfiles in a docker container -
```bash
git clone git@github.com:shaunrd0/dot.git
cd dot
docker build -t dot .
docker run -it dot bash
```
This container has the following packages installed and uses `ubuntu:latest` as a base.
```
git stow vim tmux ranger clang wget curl golang-go
```
### Install Clang Completion
**These configurations require the installation of clang for clang completion**
@@ -58,13 +60,18 @@ If you don't want clang completion, just remove the plugin directory from `~/.vi
If you don't remove clang completion and skip the following steps, vim will show errors when opening source code files. This is because these configurations use clang completion for source code auto completion and drop-down menus within vim.
Note that the `printf` command may take some time to finish, since it is searching your system for a needed file.
```bash
sudo apt install clang
printf "export LIBCLANG=\""$(find /usr/ -name libclang.so.1 2>/dev/null)"\"\n\n" >> .bash_aliases
echo "let g:clang_library_path=\$LIBCLANG" >> ~/.vimrc
source ~/.bashrc
```
### Gitmux
To enable the gitmux status bar in tmux sessions
```bash
sudo apt install golang-go
go install github.com/arl/gitmux@latest
```

View File

@@ -1,5 +0,0 @@
# A fix for a common issue found in virtual box
# https://forums.linuxmint.com/viewtopic.php?t=247850
# https://askubuntu.com/questions/1014172/virtualbox-unresponsive-area-on-desktop
#################################################################################
ps aux www |grep 'VBoxClient --draganddrop' | awk '{print $2}' | xargs kill

33
setup.sh Executable file
View File

@@ -0,0 +1,33 @@
#!/usr/bin/env bash
set -Eeuo pipefail
# $1: Error message
# $2: Error code
function fatal() {
local msg=${1:-"Unspecified error"}
echo "[Error:$LINENO] Could not install dotfiles: $msg"
exit ${2:-1}
}
trap 'fatal "Trapped an unknown error" $?' ERR
if ! git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
fatal "Run setup.sh from the root directory of the dotfiles repository." 2
fi
git submodule update --init --recursive
# Use alias for installing packages so we don't maintain several dependency lists.
if ! [[ -f .bash_aliases ]]; then
fatal "Failed to locate .bash_aliases in path: $(pwd)" 3
fi
. .bash_aliases
if [[ -z ${DOT_PACKAGES:-} ]]; then
fatal "DOT_PACKAGES variable not found after sourcing $(pwd)/.bash_aliases" 4
fi
sudo apt update -y && sudo apt install -y $DOT_PACKAGES
go install github.com/arl/gitmux@latest
# Install bash line editor for auto completion.
git clone --recursive --depth 1 --shallow-submodules https://github.com/akinomyoga/ble.sh.git
make -C ble.sh install PREFIX=$(pwd)/.local
rm -rf ble.sh