From 4b98cab3cd062baab43f50be9cbb633ab0b7ed28 Mon Sep 17 00:00:00 2001
From: Tobias Reisinger <tobias@msrg.cc>
Date: Tue, 4 Oct 2022 22:23:22 +0200
Subject: [PATCH] Add wakatime and replace spaces with tabs

---
 .bin/.e               |   2 +
 .config/bspwm/bspwmrc |  13 +--
 .config/environment   |   1 +
 .config/git/ignore    |   1 +
 .config/vim/vimrc     | 179 +++++++++++++++++++++---------------------
 .xprofile             |  81 +++++++++----------
 6 files changed, 143 insertions(+), 134 deletions(-)

diff --git a/.bin/.e b/.bin/.e
index 3da5543..ea21212 100755
--- a/.bin/.e
+++ b/.bin/.e
@@ -7,10 +7,12 @@ declare -A mapper=(
 	["bspwm"]="$HOME/.config/bspwm/bspwmrc"
 	["environment"]="$HOME/.config/environment"
 	["git"]="$HOME/.config/git/config"
+	["git-ignore"]="$HOME/.config/git/ignore"
 	["qutebrowser"]="$HOME/.config/qutebrowser/common.py"
 	["starship"]="$HOME/.config/starship.toml"
 	["sxhkd"]="$HOME/.config/sxhkd/sxhkdrc"
 	["vim"]="$HOME/.config/vim/vimrc"
+	["wakatime"]="$HOME/.config/wakatime/.wakatime.cfg"
 	["zsh"]="$HOME/.config/zsh/.zshrc"
 )
 
diff --git a/.config/bspwm/bspwmrc b/.config/bspwm/bspwmrc
index 07cb441..10e1dad 100755
--- a/.config/bspwm/bspwmrc
+++ b/.config/bspwm/bspwmrc
@@ -64,12 +64,13 @@ bspc desktop side-view --layout monocle
 bspc desktop presenter1 --layout monocle
 bspc desktop presenter2 --layout monocle
 
-bspc config border_width         1
-bspc config window_gap           10
+bspc config border_width 1
+bspc config window_gap 10
 
-bspc config split_ratio          0.50
-bspc config borderless_monocle   true
-bspc config gapless_monocle      true
+bspc config split_ratio 0.50
+bspc config borderless_monocle true
+bspc config gapless_monocle	true
+bspc config single_monocle true
 
 bspc config focus_follows_pointer true
 
@@ -114,7 +115,7 @@ bspc rule -a 'thunderbird' desktop='messenger' locked='true'
 
 "$HOME/.config/polybar/launch.sh" &
 
-"$HOME/.config/bspwm/swallow.py" &
+#"$HOME/.config/bspwm/swallow.py" &
 "$HOME/.config/bspwm/focus-voip.py" &
 
 feh --bg-fill "$XDG_PICTURES_DIR/wallpaper/active_wallpaper"
diff --git a/.config/environment b/.config/environment
index e069257..b24b2aa 100644
--- a/.config/environment
+++ b/.config/environment
@@ -60,6 +60,7 @@ export TERMINAL="alacritty"
 
 export VIMINIT="if has('nvim') | source $XDG_CONFIG_HOME/nvim/init.lua | else | source $XDG_CONFIG_HOME/vim/vimrc | endif"
 
+export WAKATIME_HOME="$XDG_CONFIG_HOME/wakatime"
 export WOODPECKER_SERVER="https://ci.serguzim.me"
 
 export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
diff --git a/.config/git/ignore b/.config/git/ignore
index 526c0d4..7acf180 100644
--- a/.config/git/ignore
+++ b/.config/git/ignore
@@ -32,3 +32,4 @@
 
 # Other
 *-VBoxHeadless-*.log
+.tokeignore
diff --git a/.config/vim/vimrc b/.config/vim/vimrc
index d574ce2..f6596f1 100644
--- a/.config/vim/vimrc
+++ b/.config/vim/vimrc
@@ -3,35 +3,38 @@ set packpath+=~/.config/vim
 
 " Plug plugins using VimPlug
 call plug#begin('~/.config/vim/plugged')
-    " Tools
-    Plug 'editorconfig/editorconfig-vim'
-    Plug 'airblade/vim-gitgutter'
-    Plug 'samoshkin/vim-mergetool'
-    Plug 'fidian/hexmode'
-    Plug 'scrooloose/nerdtree'
-    Plug 'vim-scripts/DoxygenToolkit.vim'
-    Plug 'drmikehenry/vim-headerguard'
-    "Emmet is a plugin which greatly improves HTML & CSS workflow
-    Plug 'mattn/emmet-vim'
-    Plug 'easymotion/vim-easymotion'
+	" Tools
+	Plug 'editorconfig/editorconfig-vim'
+	Plug 'airblade/vim-gitgutter'
+	Plug 'samoshkin/vim-mergetool'
+	Plug 'fidian/hexmode'
+	Plug 'scrooloose/nerdtree'
+	Plug 'vim-scripts/DoxygenToolkit.vim'
+	Plug 'drmikehenry/vim-headerguard'
+	"Emmet is a plugin which greatly improves HTML & CSS workflow
+	Plug 'mattn/emmet-vim'
+	Plug 'easymotion/vim-easymotion'
 
-    " Eye-Candy
-    Plug 'machakann/vim-highlightedyank'
-    Plug 'itchyny/lightline.vim'
-    "Plug 'nanotech/jellybeans.vim'
-    Plug 'dracula/vim', { 'as': 'dracula' }
-    Plug 'scrooloose/syntastic'
-    Plug 'Yggdroot/indentLine'
+	" Eye-Candy
+	Plug 'machakann/vim-highlightedyank'
+	Plug 'itchyny/lightline.vim'
+	"Plug 'nanotech/jellybeans.vim'
+	Plug 'dracula/vim', { 'as': 'dracula' }
+	Plug 'scrooloose/syntastic'
+	Plug 'Yggdroot/indentLine'
 
-    " Commands
-    Plug 'machakann/vim-swap'
-    Plug 'matze/vim-move'
+	" Commands
+	Plug 'machakann/vim-swap'
+	Plug 'matze/vim-move'
 
-    " Syntax highlighting
-    Plug 'baskerville/vim-sxhkdrc'
-    Plug 'sirtaj/vim-openscad'
-    Plug 'lervag/vimtex'
-    Plug 'sheerun/vim-polyglot'
+	" Syntax highlighting
+	Plug 'baskerville/vim-sxhkdrc'
+	Plug 'sirtaj/vim-openscad'
+	Plug 'lervag/vimtex'
+	Plug 'sheerun/vim-polyglot'
+
+	" Misc
+	Plug 'wakatime/vim-wakatime'
 call plug#end()
 
 
@@ -45,9 +48,9 @@ set splitbelow splitright
 let mapleader = " "
 
 augroup numbertoggle
-  autocmd!
-  autocmd WinEnter * set relativenumber
-  autocmd WinLeave * set norelativenumber
+	autocmd!
+	autocmd WinEnter * set relativenumber
+	autocmd WinLeave * set norelativenumber
 augroup END
 
 syntax on
@@ -69,11 +72,11 @@ set nowrap
 set nocompatible
 
 if has('nvim')
-    " Neovim specific commands
-    set viminfo+=n~/.cache/nviminfo
+	" Neovim specific commands
+	set viminfo+=n~/.cache/nviminfo
 else
-    " Standard vim specific commands
-    set viminfo+=n~/.cache/viminfo
+	" Standard vim specific commands
+	set viminfo+=n~/.cache/viminfo
 endif
 
 set wildmode=longest,list,full
@@ -84,15 +87,15 @@ runtime ftplugin/man.vim
 set keywordprg=:Man
 
 if has("autocmd")
-    " Save cursor position. I don't understand this part
-    au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
+	" Save cursor position. I don't understand this part
+	au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
 
-    au BufNewFile,BufRead neomutt-* setf mail
+	au BufNewFile,BufRead neomutt-* setf mail
 
-    au FileType yaml setlocal ai tabstop=2 shiftwidth=2 expandtab cuc nu
+	au FileType yaml setlocal ai tabstop=2 shiftwidth=2 expandtab cuc nu
 
-    au FileType lilypond au BufWritePost * !lilypond %
-    au FileType dot au BufWritePost * !dot -Tpng -O %
+	au FileType lilypond au BufWritePost * !lilypond %
+	au FileType dot au BufWritePost * !dot -Tpng -O %
 endif
 
 
@@ -107,60 +110,60 @@ nnoremap <CR> :noh<CR><CR>
 autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
 
 let g:lightline = {
-\   'active': {
-\       'left': [
-\           [ 'mode', 'paste' ],
-\           [ 'readonly', 'filename', 'modified', 'gitbranch' ]
-\       ],
-\       'right': [
-\           [ 'bufnum', 'percent', 'lineinfo' ],
-\           [ 'fileformat', 'fileencoding', 'filetype', 'synthastic' ],
-\           [ 'charvaluehex' ]
-\       ]
-\   },
-\   'inactive': {
-\       'left': [
-\           [ 'filename' ]
-\       ],
-\       'right': [
-\           [ 'lineinfo' ],
-\           [ 'bufnum' ]
-\       ]
-\   },
-\   'component': {
-\       'charvaluehex': '0x%B',
-\       'bufnum': '%n'
-\   },
-\   'component_function': {
-\       'synthastic': 'SyntasticStatuslineFlag',
-\       'gitbranch': 'fugitive#head'
-\   },
-\ }
+	\   'active': {
+	\       'left': [
+	\           [ 'mode', 'paste' ],
+	\           [ 'readonly', 'filename', 'modified', 'gitbranch' ]
+	\       ],
+	\       'right': [
+	\           [ 'bufnum', 'percent', 'lineinfo' ],
+	\           [ 'fileformat', 'fileencoding', 'filetype', 'synthastic' ],
+	\           [ 'charvaluehex' ]
+	\       ]
+	\   },
+	\   'inactive': {
+	\       'left': [
+	\           [ 'filename' ]
+	\       ],
+	\       'right': [
+	\           [ 'lineinfo' ],
+	\           [ 'bufnum' ]
+	\       ]
+	\   },
+	\   'component': {
+	\       'charvaluehex': '0x%B',
+	\       'bufnum': '%n'
+	\   },
+	\   'component_function': {
+	\       'synthastic': 'SyntasticStatuslineFlag',
+	\       'gitbranch': 'fugitive#head'
+	\   },
+	\ }
 
 if has('termguicolors') && &termguicolors
-    let g:jellybeans_overrides['background']['guibg'] = 'none'
+	let g:jellybeans_overrides['background']['guibg'] = 'none'
 endif
 let g:jellybeans_overrides = {
-\   'Todo': {
-\       'guifg': '303030',
-\       'guibg': 'f0f000',
-\       'ctermfg': 'Black',
-\       'ctermbg': 'Yellow',
-\       'attr': 'bold'
-\   },
-\   'Comment': { 'guifg': 'cccccc' },
-\   'LineNr': { 'guifg': 'aaaaaa' },
-\   'background': {
-\       'ctermbg': 'none',
-\       '256ctermbg': 'none'
-\   },
-\ }
+	\   'Todo': {
+	\       'guifg': '303030',
+	\       'guibg': 'f0f000',
+	\       'ctermfg': 'Black',
+	\       'ctermbg': 'Yellow',
+	\       'attr': 'bold'
+	\   },
+	\   'Comment': { 'guifg': 'cccccc' },
+	\   'LineNr': { 'guifg': 'aaaaaa' },
+	\   'background': {
+	\       'ctermbg': 'none',
+	\       '256ctermbg': 'none'
+	\   },
+	\ }
 
 try
-    packadd! dracula_pro
-    colorscheme dracula_pro
+	packadd! dracula_pro
+	colorscheme dracula_pro
 catch
-    colorscheme dracula
+	colorscheme dracula
 endtry
 
 let g:dracula_colorterm = 0
@@ -178,8 +181,8 @@ let g:syntastic_c_config_file = '.syntastic_cc_config'
 
 let g:tex_flavor = 'latex'
 let g:vimtex_compiler_latexmk = {
-\   'build_dir': 'latexmk_output'
-\}
+	\   'build_dir': 'latexmk_output'
+	\}
 
 let g:move_key_modifier = 'C'
 
diff --git a/.xprofile b/.xprofile
index c3797c4..6551a98 100644
--- a/.xprofile
+++ b/.xprofile
@@ -8,67 +8,68 @@ setxkbmap -option caps:none
 
 _autostart_workspace_voip()
 {
-    #/opt/teamspeak5/TeamSpeak &
-    #sleep 2
-    #alacritty --class "mail" --command sh -c "neomutt" &
-    teamspeak3 &
-    sleep 1
-    element-desktop &
-    sleep 1
-    discord &
+	#/opt/teamspeak5/TeamSpeak &
+	#sleep 2
+	#alacritty --class "mail" --command sh -c "neomutt" &
+	#teamspeak3 &
+	flatpak run com.teamspeak.TeamSpeak -nosingleinstance &
+	sleep 1
+	element-desktop &
+	sleep 1
+	discord &
 }
 
 _autostart_workspace_messenger()
 {
-    signal-desktop &
-    sleep 1
-    thunderbird &
+	signal-desktop &
+	sleep 1
+	thunderbird &
 }
 
 _autostart_apps()
 {
-    dunst &
-    ckb-next --background &
-    parcellite &
-    solaar --window hide &
+	dunst &
+	ckb-next --background &
+	parcellite &
+	solaar --window hide &
 
-    conky --daemonize --config="$HOME/.config/conky/clock.conf"
-    conky --daemonize --config="$HOME/.config/conky/system.conf"
-    conky --daemonize --config="$HOME/.config/conky/archlinux-updates.conf"
+	conky --daemonize --config="$HOME/.config/conky/clock.conf"
+	conky --daemonize --config="$HOME/.config/conky/system.conf"
+	conky --daemonize --config="$HOME/.config/conky/archlinux-updates.conf"
 
-    #actkbd --grab --config ~/.config/actkbd/actkbd.conf --device /dev/input/by-id/usb-Dell_Dell_USB_Keyboard-event-kbd &
+	#actkbd --grab --config ~/.config/actkbd/actkbd.conf --device /dev/input/by-id/usb-Dell_Dell_USB_Keyboard-event-kbd &
 
-    syncthing -no-browser &
-    /usr/lib/kdeconnectd &
-    #transmission-gtk --minimized &
-    qbittorrent &
+	syncthing -no-browser &
+	/usr/lib/kdeconnectd &
+	#transmission-gtk --minimized &
+	qbittorrent &
 
-    #steam-runtime -silent -tcp &
-    flatpak run com.valvesoftware.Steam -silent &
-    qutebrowser &
+	#steam-runtime -silent -tcp &
+	flatpak run com.valvesoftware.Steam -silent &
+	qutebrowser &
 
-    mopidy &
+	mopidy &
 
-    /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
-    systemctl --user start spotifyd.service &
+	/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
+	systemctl --user start spotifyd.service &
 }
 
 _autostart()
 {
-    ### wait for audio
-    #start_jack
-    start_audio pipewire
+	### wait for audio
+	#start_jack
+	start_audio pipewire
 
-    ### wait for internet
-    wait_for_service "network-online.target"
+	### wait for internet
+	wait_for_service "network-online.target"
 
-    pass x
-    (pass notes/keepass | head -n 1 | keepassxc --pw-stdin ~/sync/passwords.kdbx) &
-    pass x && sleep 5
+	pass x
+	(pass notes/keepass | head -n 1 | keepassxc --pw-stdin ~/sync/passwords.kdbx) &
+	pass x && sleep 5
 
-    _autostart_apps &
-    _autostart_workspace_voip &
-    _autostart_workspace_messenger &
+	_autostart_apps &
+	_autostart_workspace_voip &
+	_autostart_workspace_messenger &
 }
 
 _autostart &