From 8e3871b382bf95ea770048f5c1b3ab6ad9cdd17c Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Wed, 1 Oct 2014 17:26:35 -0400 Subject: [PATCH 001/160] init --- README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 From d4b6606075dcbba401a8f8bde9dc9be4c2e881bd Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Fri, 24 Oct 2014 22:48:44 -0400 Subject: [PATCH 002/160] Initial checkin of dotfiles --- README.md | 15 +++++++++ vim/vimrc | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ zsh/zshrc | 62 +++++++++++++++++++++++++++++++++++ 3 files changed, 174 insertions(+) create mode 100644 vim/vimrc create mode 100644 zsh/zshrc diff --git a/README.md b/README.md index e69de29..d2f5f67 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,15 @@ +My Dotfiles +----------- + +Here are my configuration files that I use on my system. I use Vundle (https://github.com/gmarik/Vundle.vim) for all of my plugin management, so in order to get most of the things working, you need to have that installed first. + + +File Naming ++++++++++++ +You should clone this to your home directory, and then create a symlink for the files. For example, if you want to use my .vimrc, you would: + +#. cd ~ +#. ln -s ~dotfiles/vim/vimrc .vimrc + +At some point I may make a utility to manage those, but that's the way to do it for now + diff --git a/vim/vimrc b/vim/vimrc new file mode 100644 index 0000000..e133960 --- /dev/null +++ b/vim/vimrc @@ -0,0 +1,97 @@ +set nocompatible +set splitright +filetype off +" Handy hack to force a write using sudo when you forget to sudo vi +cmap w!! w !sudo tee > /dev/null % + +"Make python-friendly tabs +set tabstop=4 +set shiftwidth=4 +set smarttab +set softtabstop=4 +set autoindent +set rtp+=~/.vim/bundle/vundle/ +set pastetoggle= +call vundle#rc() + +" let Vundle manage Vundle +" required! +Plugin 'gmarik/vundle' +Plugin 'Lokaltog/powerline', {'rtp': 'powerline/bindings/vim/'} +Plugin 'tpope/vim-fugitive' +Plugin 'scrooloose/nerdtree' +Plugin 'klen/python-mode' +Plugin 'davidhalter/jedi-vim' +Plugin 'ervandew/supertab' +Plugin 'Rykka/riv.vim' +Plugin 'Rykka/clickable.vim' +Plugin 'seveas/bind.vim' +Plugin 'altercation/vim-colors-solarized' +Plugin 'flazz/vim-colorschemes' + +filetype plugin indent on + +augroup vimrc_autocmds + autocmd! + " highlight characters past column 80 + autocmd FileType python highlight Excess ctermbg=DarkGrey guibg=Black + autocmd FileType python match Excess /\%80v.*/ + autocmd FileType python set nowrap +augroup END + +"Powerline setup +set guifont=PowerLineSymbols\ DejaVu\ Sans\ Mono\ for\ Powerline\ 9 +let g:Powerline_symbols = 'fancy' +set laststatus=2 + +"NerdTree map to +map :NERDTreeToggle + +" Python-mode +" Activate rope +" Keys: +" K Show python docs +" Rope autocomplete +" g Rope goto definition +" d Rope show documentation +" f Rope find occurrences +" b Set, unset breakpoint (g:pymode_breakpoint enabled) +" [[ Jump on previous class or function (normal, visual, operator +" modes) +" ]] Jump on next class or function (normal, visual, operator +" modes) +" [M Jump on previous class or method (normal, visual, operator +" modes) +" ]M Jump on next class or method (normal, visual, operator +" modes) +let g:pymode_rope = 0 + +" Documentation +let g:pymode_doc = 1 +let g:pymode_doc_key = 'K' + +"Linting +let g:pymode_lint = 1 +let g:pymode_lint_checker = "pyflakes,pep8" +" Auto check on save +let g:pymode_lint_write = 1 + +" Support virtualenv +let g:pymode_virtualenv = 1 + +" Enable breakpoints plugin +let g:pymode_breakpoint = 1 +let g:pymode_breakpoint_key = 'b' + +" syntax highlighting +let g:pymode_syntax = 1 +let g:pymode_syntax_all = 1 +let g:pymode_syntax_indent_errors = g:pymode_syntax_all +let g:pymode_syntax_space_errors = g:pymode_syntax_all + +" Don't autofold code +let g:pymode_folding = 0 +let g:riv_fold_level = 0 +let g:riv_fold_auto_update = 0 + +colorscheme jellybeans diff --git a/zsh/zshrc b/zsh/zshrc new file mode 100644 index 0000000..d26e957 --- /dev/null +++ b/zsh/zshrc @@ -0,0 +1,62 @@ +# Lines configured by zsh-newuser-install +HISTFILE=~/.histfile +HISTSIZE=1000 +SAVEHIST=1000 +bindkey -e +# End of lines configured by zsh-newuser-install +# The following lines were added by compinstall + +zstyle ':completion:*' completer _expand _complete _ignored +zstyle ':completion:*' list-colors '' +zstyle ':completion:*' menu select=3 +zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s +zstyle :compinstall filename '/home/kellya/.zshrc' + +autoload -Uz compinit +compinit +# End of lines added by compinstall +# create a zkbd compatible hash; +# to add other keys to this hash, see: man 5 terminfo +typeset -A key + +key[Home]=${terminfo[khome]} + +key[End]=${terminfo[kend]} +key[Insert]=${terminfo[kich1]} +key[Delete]=${terminfo[kdch1]} +key[Up]=${terminfo[kcuu1]} +key[Down]=${terminfo[kcud1]} +key[Left]=${terminfo[kcub1]} +key[Right]=${terminfo[kcuf1]} +key[PageUp]=${terminfo[kpp]} +key[PageDown]=${terminfo[knp]} + +# setup key accordingly +[[ -n "${key[Home]}" ]] && bindkey "${key[Home]}" beginning-of-line +[[ -n "${key[End]}" ]] && bindkey "${key[End]}" end-of-line +[[ -n "${key[Insert]}" ]] && bindkey "${key[Insert]}" overwrite-mode +[[ -n "${key[Delete]}" ]] && bindkey "${key[Delete]}" delete-char +[[ -n "${key[Up]}" ]] && bindkey "${key[Up]}" up-line-or-history +[[ -n "${key[Down]}" ]] && bindkey "${key[Down]}" down-line-or-history +[[ -n "${key[Left]}" ]] && bindkey "${key[Left]}" backward-char +[[ -n "${key[Right]}" ]] && bindkey "${key[Right]}" forward-char +[[ -n "${key[PageUp]}" ]] && bindkey "${key[PageUp]}" beginning-of-buffer-or-history +[[ -n "${key[PageDown]}" ]] && bindkey "${key[PageDown]}" end-of-buffer-or-history + +# Finally, make sure the terminal is in application mode, when zle is +# active. Only then are the values from $terminfo valid. +if (( ${+terminfo[smkx]} )) && (( ${+terminfo[rmkx]} )); then + function zle-line-init () { + printf '%s' "${terminfo[smkx]}" + } + function zle-line-finish () { + printf '%s' "${terminfo[rmkx]}" + } + zle -N zle-line-init + zle -N zle-line-finish +fi +# Messing with the prompt +autoload -U promptinit +promptinit +source /home/kellya/dotfiles/zsh/zsh-git-prompt/zshrc.sh +RPS1='$(git_super_status)' From ea906d8bf389bc31f1ae30bff63ffc8b18a625cd Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Fri, 24 Oct 2014 22:51:58 -0400 Subject: [PATCH 003/160] Fixed messed up markdown --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d2f5f67..09ffc25 100644 --- a/README.md +++ b/README.md @@ -5,11 +5,12 @@ Here are my configuration files that I use on my system. I use Vundle (https:// File Naming -+++++++++++ +=========== + You should clone this to your home directory, and then create a symlink for the files. For example, if you want to use my .vimrc, you would: -#. cd ~ -#. ln -s ~dotfiles/vim/vimrc .vimrc +1. cd ~ +2. ln -s ~dotfiles/vim/vimrc .vimrc At some point I may make a utility to manage those, but that's the way to do it for now From 6260ad3ecd6318e50f8fefe2763306792a70f452 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Fri, 24 Oct 2014 22:54:25 -0400 Subject: [PATCH 004/160] Another fix for markdown. --- README.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 09ffc25..b4603c5 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,13 @@ -My Dotfiles ------------ +#My Dotfiles Here are my configuration files that I use on my system. I use Vundle (https://github.com/gmarik/Vundle.vim) for all of my plugin management, so in order to get most of the things working, you need to have that installed first. -File Naming -=========== +##File Naming You should clone this to your home directory, and then create a symlink for the files. For example, if you want to use my .vimrc, you would: -1. cd ~ -2. ln -s ~dotfiles/vim/vimrc .vimrc + ln -s ~dotfiles/vim/vimrc .vimrc At some point I may make a utility to manage those, but that's the way to do it for now From bf657d3f8c3c53adb8a17dd6ce19391bbee297d0 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Sat, 25 Oct 2014 22:41:59 -0400 Subject: [PATCH 005/160] Added comment for zsh ignored zsh-git-prompt --- .gitignore | 1 + zsh/zshrc | 1 + 2 files changed, 2 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7a8f9b3 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +zsh/zsh-git-prompt/ diff --git a/zsh/zshrc b/zsh/zshrc index d26e957..17cbd29 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -58,5 +58,6 @@ fi # Messing with the prompt autoload -U promptinit promptinit +# Set the RPS1 to git status using the awesome zsh-git-prompt source /home/kellya/dotfiles/zsh/zsh-git-prompt/zshrc.sh RPS1='$(git_super_status)' From ba9177663d65ffae05919cdaa02aacf1cccc9046 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 28 Oct 2014 08:06:31 -0400 Subject: [PATCH 006/160] added zsh-git-prompt as a submodule --- .gitignore | 1 - .gitmodules | 3 +++ zsh/zsh-git-prompt | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 .gitmodules create mode 160000 zsh/zsh-git-prompt diff --git a/.gitignore b/.gitignore index 7a8f9b3..e69de29 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +0,0 @@ -zsh/zsh-git-prompt/ diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..b7ff242 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "zsh/zsh-git-prompt"] + path = zsh/zsh-git-prompt + url = https://github.com/olivierverdier/zsh-git-prompt.git diff --git a/zsh/zsh-git-prompt b/zsh/zsh-git-prompt new file mode 160000 index 0000000..1c96fe2 --- /dev/null +++ b/zsh/zsh-git-prompt @@ -0,0 +1 @@ +Subproject commit 1c96fe2a6a36653301144b8182ffc7cf063e1f3e From 7a13286c2a2fca1bfa1e07ad3b6dec5d1fa48fd7 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Fri, 14 Nov 2014 13:23:02 -0500 Subject: [PATCH 007/160] Changed vimrc to add wrap settings based on http://vim.wikia.com/wiki/Word_wrap_without_line_breaks --- vim/vimrc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/vim/vimrc b/vim/vimrc index e133960..cf5354a 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -14,6 +14,12 @@ set rtp+=~/.vim/bundle/vundle/ set pastetoggle= call vundle#rc() +"We are going to try the wrapping functions. We'll see how that works +"Python has nowrap set, so this generally shouldn't suck +set wrap +set linebreak +set nolist + " let Vundle manage Vundle " required! Plugin 'gmarik/vundle' From 0bfdb030348f60ff1617b22849520a7ec620181f Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 13 Jan 2015 16:44:20 -0500 Subject: [PATCH 008/160] Updated submodule --- zsh/zsh-git-prompt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zsh/zsh-git-prompt b/zsh/zsh-git-prompt index 1c96fe2..28cadff 160000 --- a/zsh/zsh-git-prompt +++ b/zsh/zsh-git-prompt @@ -1 +1 @@ -Subproject commit 1c96fe2a6a36653301144b8182ffc7cf063e1f3e +Subproject commit 28cadff80b6506f74e8bebfcc533e29bc04faf0e From adc03d04c349666ff73433f49dfa42abc3482198 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Wed, 4 Feb 2015 15:06:53 -0500 Subject: [PATCH 009/160] update of zsh-git-prompt --- zsh/zsh-git-prompt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zsh/zsh-git-prompt b/zsh/zsh-git-prompt index 28cadff..7d480a9 160000 --- a/zsh/zsh-git-prompt +++ b/zsh/zsh-git-prompt @@ -1 +1 @@ -Subproject commit 28cadff80b6506f74e8bebfcc533e29bc04faf0e +Subproject commit 7d480a928a1c9ac70fecc60f1a11031843cc1fcf From 326842bc02736e79d870397efb832e0fe363d279 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Thu, 26 Feb 2015 14:47:21 -0500 Subject: [PATCH 010/160] added incsearch to highlight searches --- vim/vimrc | 1 + 1 file changed, 1 insertion(+) diff --git a/vim/vimrc b/vim/vimrc index cf5354a..631815f 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -12,6 +12,7 @@ set softtabstop=4 set autoindent set rtp+=~/.vim/bundle/vundle/ set pastetoggle= +set incsearch call vundle#rc() "We are going to try the wrapping functions. We'll see how that works From 6dc82d28f86723766d105da27671ab5d9209a647 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Fri, 6 Mar 2015 14:57:12 -0500 Subject: [PATCH 011/160] Added extline for restructuredtext awesomeness --- vim/vimrc | 1 + 1 file changed, 1 insertion(+) diff --git a/vim/vimrc b/vim/vimrc index 631815f..0867730 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -35,6 +35,7 @@ Plugin 'Rykka/clickable.vim' Plugin 'seveas/bind.vim' Plugin 'altercation/vim-colors-solarized' Plugin 'flazz/vim-colorschemes' +Plugin 'drmikehenry/vim-extline' filetype plugin indent on From c452a92449d32d1da56aee495c92676b4ed822f8 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Sun, 19 Apr 2015 14:41:49 -0400 Subject: [PATCH 012/160] Swapped airline for powerline and added vim-surround --- vim/vimrc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/vim/vimrc b/vim/vimrc index 0867730..721a48d 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -24,7 +24,8 @@ set nolist " let Vundle manage Vundle " required! Plugin 'gmarik/vundle' -Plugin 'Lokaltog/powerline', {'rtp': 'powerline/bindings/vim/'} +"Plugin 'Lokaltog/powerline', {'rtp': 'powerline/bindings/vim/'} +Plugin 'bling/vim-airline' Plugin 'tpope/vim-fugitive' Plugin 'scrooloose/nerdtree' Plugin 'klen/python-mode' @@ -36,6 +37,7 @@ Plugin 'seveas/bind.vim' Plugin 'altercation/vim-colors-solarized' Plugin 'flazz/vim-colorschemes' Plugin 'drmikehenry/vim-extline' +Plugin 'tpope/vim-surround.git' filetype plugin indent on @@ -48,8 +50,10 @@ augroup vimrc_autocmds augroup END "Powerline setup -set guifont=PowerLineSymbols\ DejaVu\ Sans\ Mono\ for\ Powerline\ 9 +" set guifont=PowerLineSymbols\ DejaVu\ Sans\ Mono\ for\ Powerline\ 9 +" set guifont=Anonymous\ Pro\ for\ Powerline\ Regular/9 let g:Powerline_symbols = 'fancy' +let g:airline_powerline_fonts = 1 set laststatus=2 "NerdTree map to From fe3ec652326c62600a6f4225161124ca7778e915 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Fri, 8 May 2015 09:34:02 -0400 Subject: [PATCH 013/160] Updated zsh-git-prompt submodule --- vim/vimrc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vim/vimrc b/vim/vimrc index 721a48d..9de6463 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -24,8 +24,8 @@ set nolist " let Vundle manage Vundle " required! Plugin 'gmarik/vundle' -"Plugin 'Lokaltog/powerline', {'rtp': 'powerline/bindings/vim/'} -Plugin 'bling/vim-airline' +Plugin 'Lokaltog/powerline', {'rtp': 'powerline/bindings/vim/'} +"Plugin 'bling/vim-airline' Plugin 'tpope/vim-fugitive' Plugin 'scrooloose/nerdtree' Plugin 'klen/python-mode' From 8f71b48529f8558e4c0244ac215fc20e1a9775e9 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Wed, 3 Jun 2015 09:39:30 -0400 Subject: [PATCH 014/160] Fixed hardcoded zsh-git-prompt source line --- zsh/zshrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zsh/zshrc b/zsh/zshrc index 17cbd29..f31930d 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -59,5 +59,5 @@ fi autoload -U promptinit promptinit # Set the RPS1 to git status using the awesome zsh-git-prompt -source /home/kellya/dotfiles/zsh/zsh-git-prompt/zshrc.sh +source ~/dotfiles/zsh/zsh-git-prompt/zshrc.sh RPS1='$(git_super_status)' From d51d5b5a2ffb366371e7e8b8f45521c00bf222fc Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Sun, 27 Dec 2015 12:22:18 -0500 Subject: [PATCH 015/160] Added YCM plugin, and spellcheck. --- vim/vimrc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/vim/vimrc b/vim/vimrc index 9de6463..85fe9d0 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -13,6 +13,7 @@ set autoindent set rtp+=~/.vim/bundle/vundle/ set pastetoggle= set incsearch +set encoding=utf8 call vundle#rc() "We are going to try the wrapping functions. We'll see how that works @@ -38,7 +39,9 @@ Plugin 'altercation/vim-colors-solarized' Plugin 'flazz/vim-colorschemes' Plugin 'drmikehenry/vim-extline' Plugin 'tpope/vim-surround.git' - +Plugin 'ryanoasis/vim-webdevicons' +Plugin 'terryma/vim-multiple-cursors' +Plugin 'Valloric/YouCompleteMe' filetype plugin indent on augroup vimrc_autocmds @@ -50,7 +53,9 @@ augroup vimrc_autocmds augroup END "Powerline setup -" set guifont=PowerLineSymbols\ DejaVu\ Sans\ Mono\ for\ Powerline\ 9 +"set guifont=PowerLineSymbols\ DejaVu\ Sans\ Mono\ for\ Powerline\ 9 +" set guifont=DejaVu\ Sans\ Mono\ for\ Powerline\ Plus\ Nerd\ File\ Types\ 9 +set guifont=Sauce\ Code\ Powerline\ Plus\ Nerd\ File\ Types\ 9 " set guifont=Anonymous\ Pro\ for\ Powerline\ Regular/9 let g:Powerline_symbols = 'fancy' let g:airline_powerline_fonts = 1 @@ -107,3 +112,4 @@ let g:riv_fold_level = 0 let g:riv_fold_auto_update = 0 colorscheme jellybeans +setlocal spell spelllang=en_us From 6eb1d3eee09e6dc5ea79574b79bfc0b40cb15d31 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Mon, 12 Dec 2016 23:05:10 -0500 Subject: [PATCH 016/160] Added tmux conf, which at this point was mostly copied from someone else --- tmux/tmux.conf | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 tmux/tmux.conf diff --git a/tmux/tmux.conf b/tmux/tmux.conf new file mode 100644 index 0000000..7737762 --- /dev/null +++ b/tmux/tmux.conf @@ -0,0 +1,59 @@ +bind a setw synchronize-panes +#source /usr/share/tmux/powerline.conf + +#Prefix is Ctrl-a +#set -g prefix C-a +#bind C-a send-prefix +#unbind C-b + +set -sg escape-time 1 +set -g base-index 1 +setw -g pane-base-index 1 + +#Mouse works as expected +set -g mouse on +#setw -g mode-mouse on +#set -g mouse-select-pane on +#set -g mouse-resize-pane on +#set -g mouse-select-window on + +setw -g monitor-activity on +set -g visual-activity on + +set -g mode-keys vi +set -g history-limit 10000 + +# y and p as in vim +bind Escape copy-mode +unbind p +bind p paste-buffer +bind -t vi-copy 'v' begin-selection +bind -t vi-copy 'y' copy-selection +bind -t vi-copy 'Space' halfpage-down +bind -t vi-copy 'Bspace' halfpage-up + +# extra commands for interacting with the ICCCM clipboard +bind C-c run "tmux save-buffer - | xclip -i -sel clipboard" +bind C-v run "tmux set-buffer \"$(xclip -o -sel clipboard)\"; tmux paste-buffer" + +# easy-to-remember split pane commands +bind | split-window -h +bind - split-window -v +unbind '"' +unbind % + +# moving between panes with vim movement keys +bind h select-pane -L +bind j select-pane -D +bind k select-pane -U +bind l select-pane -R + +# moving between windows with vim movement keys +bind -r C-h select-window -t :- +bind -r C-l select-window -t :+ + +# resize panes with vim movement keys +bind -r H resize-pane -L 5 +bind -r J resize-pane -D 5 +bind -r K resize-pane -U 5 +bind -r L resize-pane -R 5 From aefde55369f23cba011ca00d4d958507df0c8d6b Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Mon, 12 Dec 2016 23:06:29 -0500 Subject: [PATCH 017/160] added some python specifics --- vim/vimrc | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/vim/vimrc b/vim/vimrc index 85fe9d0..7f47cae 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -3,19 +3,12 @@ set splitright filetype off " Handy hack to force a write using sudo when you forget to sudo vi cmap w!! w !sudo tee > /dev/null % - -"Make python-friendly tabs -set tabstop=4 -set shiftwidth=4 -set smarttab -set softtabstop=4 -set autoindent set rtp+=~/.vim/bundle/vundle/ set pastetoggle= set incsearch set encoding=utf8 -call vundle#rc() +call vundle#rc() "We are going to try the wrapping functions. We'll see how that works "Python has nowrap set, so this generally shouldn't suck set wrap @@ -42,6 +35,7 @@ Plugin 'tpope/vim-surround.git' Plugin 'ryanoasis/vim-webdevicons' Plugin 'terryma/vim-multiple-cursors' Plugin 'Valloric/YouCompleteMe' +Plugin 'brookhong/DBGPavim' filetype plugin indent on augroup vimrc_autocmds @@ -112,4 +106,17 @@ let g:riv_fold_level = 0 let g:riv_fold_auto_update = 0 colorscheme jellybeans -setlocal spell spelllang=en_us +"setlocal spell spelllang=en_us +set mouse=a + +"Make python-friendly tabs +set tabstop=4 +set shiftwidth=4 +set smarttab +set softtabstop=4 +set autoindent +let &colorcolumn="80,".join(range(81,999),",") + +let g:dbgPavimPort = 9000 +let g:dbgPavimBreakAtEntry = 0 +let g:dbgPavimOnce = 1 From 9c19e36b295ebb4e12b6d377f97b16505af50880 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Mon, 18 Sep 2017 16:31:26 -0400 Subject: [PATCH 018/160] Added 2 new plugins since last checkin --- tmux/tmux.conf | 14 ++++++++++---- vim/vimrc | 3 +++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/tmux/tmux.conf b/tmux/tmux.conf index 7737762..13b76c0 100644 --- a/tmux/tmux.conf +++ b/tmux/tmux.conf @@ -23,14 +23,17 @@ set -g visual-activity on set -g mode-keys vi set -g history-limit 10000 +set -g status-bg blue +set -g status-fg white + # y and p as in vim bind Escape copy-mode unbind p bind p paste-buffer -bind -t vi-copy 'v' begin-selection -bind -t vi-copy 'y' copy-selection -bind -t vi-copy 'Space' halfpage-down -bind -t vi-copy 'Bspace' halfpage-up +#bind -t vi-copy 'v' begin-selection +#bind -t vi-copy 'y' copy-selection +#bind -t vi-copy 'Space' halfpage-down +#bind -t vi-copy 'Bspace' halfpage-up # extra commands for interacting with the ICCCM clipboard bind C-c run "tmux save-buffer - | xclip -i -sel clipboard" @@ -57,3 +60,6 @@ bind -r H resize-pane -L 5 bind -r J resize-pane -D 5 bind -r K resize-pane -U 5 bind -r L resize-pane -R 5 + +#set border colors +set -g pane-active-border-fg blue diff --git a/vim/vimrc b/vim/vimrc index 7f47cae..2f80cd3 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -36,6 +36,9 @@ Plugin 'ryanoasis/vim-webdevicons' Plugin 'terryma/vim-multiple-cursors' Plugin 'Valloric/YouCompleteMe' Plugin 'brookhong/DBGPavim' +Plugin 'tbabej/taskwiki' +Plugin 'airblade/vim-gitgutter' + filetype plugin indent on augroup vimrc_autocmds From f3eaf1ad333c3acedc1c5bc1110c7e0028f42604 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Mon, 25 Sep 2017 14:58:55 -0400 Subject: [PATCH 019/160] seems I have not actually been committing the zshrc file --- zsh/zshrc | 149 ++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 94 insertions(+), 55 deletions(-) diff --git a/zsh/zshrc b/zsh/zshrc index f31930d..9d5a9db 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -1,63 +1,102 @@ -# Lines configured by zsh-newuser-install -HISTFILE=~/.histfile -HISTSIZE=1000 -SAVEHIST=1000 -bindkey -e -# End of lines configured by zsh-newuser-install -# The following lines were added by compinstall +# Path to your oh-my-zsh installation. +export ZSH=/home/kellya/.oh-my-zsh -zstyle ':completion:*' completer _expand _complete _ignored -zstyle ':completion:*' list-colors '' -zstyle ':completion:*' menu select=3 -zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s -zstyle :compinstall filename '/home/kellya/.zshrc' +# Set name of the theme to load. +# Look in ~/.oh-my-zsh/themes/ +# Optionally, if you set this to "random", it'll load a random theme each +# time that oh-my-zsh is loaded. +ZSH_THEME="agnoster" -autoload -Uz compinit -compinit -# End of lines added by compinstall -# create a zkbd compatible hash; -# to add other keys to this hash, see: man 5 terminfo -typeset -A key +# Uncomment the following line to use case-sensitive completion. +# CASE_SENSITIVE="true" -key[Home]=${terminfo[khome]} +# Uncomment the following line to disable bi-weekly auto-update checks. +# DISABLE_AUTO_UPDATE="true" -key[End]=${terminfo[kend]} -key[Insert]=${terminfo[kich1]} -key[Delete]=${terminfo[kdch1]} -key[Up]=${terminfo[kcuu1]} -key[Down]=${terminfo[kcud1]} -key[Left]=${terminfo[kcub1]} -key[Right]=${terminfo[kcuf1]} -key[PageUp]=${terminfo[kpp]} -key[PageDown]=${terminfo[knp]} +# Uncomment the following line to change how often to auto-update (in days). +# export UPDATE_ZSH_DAYS=13 -# setup key accordingly -[[ -n "${key[Home]}" ]] && bindkey "${key[Home]}" beginning-of-line -[[ -n "${key[End]}" ]] && bindkey "${key[End]}" end-of-line -[[ -n "${key[Insert]}" ]] && bindkey "${key[Insert]}" overwrite-mode -[[ -n "${key[Delete]}" ]] && bindkey "${key[Delete]}" delete-char -[[ -n "${key[Up]}" ]] && bindkey "${key[Up]}" up-line-or-history -[[ -n "${key[Down]}" ]] && bindkey "${key[Down]}" down-line-or-history -[[ -n "${key[Left]}" ]] && bindkey "${key[Left]}" backward-char -[[ -n "${key[Right]}" ]] && bindkey "${key[Right]}" forward-char -[[ -n "${key[PageUp]}" ]] && bindkey "${key[PageUp]}" beginning-of-buffer-or-history -[[ -n "${key[PageDown]}" ]] && bindkey "${key[PageDown]}" end-of-buffer-or-history +# Uncomment the following line to disable colors in ls. +# DISABLE_LS_COLORS="true" -# Finally, make sure the terminal is in application mode, when zle is -# active. Only then are the values from $terminfo valid. -if (( ${+terminfo[smkx]} )) && (( ${+terminfo[rmkx]} )); then - function zle-line-init () { - printf '%s' "${terminfo[smkx]}" - } - function zle-line-finish () { - printf '%s' "${terminfo[rmkx]}" - } - zle -N zle-line-init - zle -N zle-line-finish -fi -# Messing with the prompt -autoload -U promptinit -promptinit -# Set the RPS1 to git status using the awesome zsh-git-prompt +# Uncomment the following line to disable auto-setting terminal title. +# DISABLE_AUTO_TITLE="true" + +# Uncomment the following line to enable command auto-correction. +# ENABLE_CORRECTION="true" + +# Uncomment the following line to display red dots whilst waiting for completion. +# COMPLETION_WAITING_DOTS="true" + +# Uncomment the following line if you want to disable marking untracked files +# under VCS as dirty. This makes repository status check for large repositories +# much, much faster. +# DISABLE_UNTRACKED_FILES_DIRTY="true" + +# Uncomment the following line if you want to change the command execution time +# stamp shown in the history command output. +# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" +# HIST_STAMPS="mm/dd/yyyy" + +# Would you like to use another custom folder than $ZSH/custom? +# ZSH_CUSTOM=/path/to/new-custom-folder + +# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) +# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ +# Example format: plugins=(rails git textmate ruby lighthouse) +# Add wisely, as too many plugins slow down shell startup. +# plugins=(git) +plugins=(sudo taskwarrior common-aliases git-flow keybase geeknote vi-mode battery) + +# User configuration + +export PATH="/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/kellya/bin:/home/kellya/incoming/git-annex.linux:/home/kellya/bin/keybase/bin" +# export MANPATH="/usr/local/man:$MANPATH" + + +DISABLE_AUTO_UPDATE='true' +source $ZSH/oh-my-zsh.sh + +export EDITOR='vim' +# You may need to manually set your language environment +# export LANG=en_US.UTF-8 + +# Preferred editor for local and remote sessions +# if [[ -n $SSH_CONNECTION ]]; then +# export EDITOR='vim' +# else +# export EDITOR='mvim' +# fi + +# Compilation flags +# export ARCHFLAGS="-arch x86_64" + +# ssh +# export SSH_KEY_PATH="~/.ssh/dsa_id" + +# Set personal aliases, overriding those provided by oh-my-zsh libs, +# plugins, and themes. Aliases can be placed here, though oh-my-zsh +# users are encouraged to define aliases within the ZSH_CUSTOM folder. +# For a full list of active aliases, run `alias`. +# +# Example aliases +# alias zshconfig="mate ~/.zshrc" +# alias ohmyzsh="mate ~/.oh-my-zsh" +# source ~/dotfiles/zsh/zsh-git-prompt/zshrc.sh RPS1='$(git_super_status)' + +source ~/.autoenv/activate.sh +unsetopt histverify +alias in='task add +in' +alias rtask="task rc:/home/kellya/.taskrc_tinslin" +export LPASS_AGENT_TIMEOUT=0 +export PATH="/usr/local/heroku/bin:$PATH" +#eval "$(ntfy shell-integration)" +source /usr/share/gems/gems/tmuxinator-0.6.11/completion/tmuxinator.zsh + +rand () { + cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w ${1:-32} | head -n 1 + } +alias dum='du -sh *|egrep ".*\.?[0-9]M"' +alias keploy='echo -e "\e[101;97mKeploy was removed, its functionality is already built in ssh-copy-id, just use that\e[49m"; ssh-copy-id' From 5d8cfb4df709b90a63ad0d2fa7bbb412ead4d25d Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 10 Oct 2017 11:12:18 -0400 Subject: [PATCH 020/160] Modified README --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index b4603c5..f4e7a3d 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,3 @@ Here are my configuration files that I use on my system. I use Vundle (https:// You should clone this to your home directory, and then create a symlink for the files. For example, if you want to use my .vimrc, you would: ln -s ~dotfiles/vim/vimrc .vimrc - -At some point I may make a utility to manage those, but that's the way to do it for now - From 0893f0b3041208d31a270a9f51bf676b0c81c5f1 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 20 Mar 2018 10:24:09 -0400 Subject: [PATCH 021/160] Swapped to the latest version in use --- vim/vimrc | 201 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 105 insertions(+), 96 deletions(-) diff --git a/vim/vimrc b/vim/vimrc index 2f80cd3..6144a3a 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -1,118 +1,65 @@ -set nocompatible +set nocompatible " required set splitright -filetype off -" Handy hack to force a write using sudo when you forget to sudo vi +filetype off " required +" Handy hack to force a write using sudo when you forget to 'sudo vi' cmap w!! w !sudo tee > /dev/null % -set rtp+=~/.vim/bundle/vundle/ -set pastetoggle= -set incsearch -set encoding=utf8 -call vundle#rc() -"We are going to try the wrapping functions. We'll see how that works -"Python has nowrap set, so this generally shouldn't suck +set pastetoggle= + +set incsearch +set encoding=utf-8 set wrap set linebreak set nolist -" let Vundle manage Vundle -" required! -Plugin 'gmarik/vundle' -Plugin 'Lokaltog/powerline', {'rtp': 'powerline/bindings/vim/'} -"Plugin 'bling/vim-airline' -Plugin 'tpope/vim-fugitive' +" set the runtime path to include Vundle and initialize +set rtp+=~/.vim/bundle/Vundle.vim +call vundle#begin() + +" alternatively, pass a path where Vundle should install plugins +"call vundle#begin('~/some/path/here') + +" let Vundle manage Vundle, required +Plugin 'gmarik/Vundle.vim' +Plugin 'Valloric/YouCompleteMe' +Plugin 'vim-syntastic/syntastic' +Plugin 'nvie/vim-flake8' +Plugin 'python-mode/python-mode' +Plugin 'airblade/vim-gitgutter' Plugin 'scrooloose/nerdtree' -Plugin 'klen/python-mode' +Plugin 'powerline/powerline', {'rtp': 'powerline/bindings/vim'} +Plugin 'flazz/vim-colorschemes' Plugin 'davidhalter/jedi-vim' Plugin 'ervandew/supertab' -Plugin 'Rykka/riv.vim' -Plugin 'Rykka/clickable.vim' +" Bind zonefile stuff Plugin 'seveas/bind.vim' -Plugin 'altercation/vim-colors-solarized' -Plugin 'flazz/vim-colorschemes' +" extline extends rst stuff Plugin 'drmikehenry/vim-extline' Plugin 'tpope/vim-surround.git' Plugin 'ryanoasis/vim-webdevicons' -Plugin 'terryma/vim-multiple-cursors' -Plugin 'Valloric/YouCompleteMe' Plugin 'brookhong/DBGPavim' -Plugin 'tbabej/taskwiki' -Plugin 'airblade/vim-gitgutter' -filetype plugin indent on +" Add all your plugins here (note older versions of Vundle used Bundle instead +" of Plugin) -augroup vimrc_autocmds - autocmd! - " highlight characters past column 80 - autocmd FileType python highlight Excess ctermbg=DarkGrey guibg=Black - autocmd FileType python match Excess /\%80v.*/ - autocmd FileType python set nowrap -augroup END - -"Powerline setup -"set guifont=PowerLineSymbols\ DejaVu\ Sans\ Mono\ for\ Powerline\ 9 -" set guifont=DejaVu\ Sans\ Mono\ for\ Powerline\ Plus\ Nerd\ File\ Types\ 9 -set guifont=Sauce\ Code\ Powerline\ Plus\ Nerd\ File\ Types\ 9 -" set guifont=Anonymous\ Pro\ for\ Powerline\ Regular/9 -let g:Powerline_symbols = 'fancy' -let g:airline_powerline_fonts = 1 -set laststatus=2 - -"NerdTree map to +" All of your Plugins must be added before the following line +call vundle#end() " required +filetype plugin indent on " required +"Powerline setup +"set guifont=PowerLineSymbols\ DejaVu\ Sans\ Mono\ for\ Powerline\ 9 +" set guifont=DejaVu\ Sans\ Mono\ for\ Powerline\ Plus\ Nerd\ File\ Types\ 9 +set guifont=Sauce\ Code\ Powerline\ Plus\ Nerd\ File\ Types\ 9 +" set guifont=Anonymous\ Pro\ for\ Powerline\ Regular/9 +let g:Powerline_symbols = 'fancy' +let g:airline_powerline_fonts = 1 +set laststatus=2 + +"NerdTree map to map :NERDTreeToggle -" Python-mode -" Activate rope -" Keys: -" K Show python docs -" Rope autocomplete -" g Rope goto definition -" d Rope show documentation -" f Rope find occurrences -" b Set, unset breakpoint (g:pymode_breakpoint enabled) -" [[ Jump on previous class or function (normal, visual, operator -" modes) -" ]] Jump on next class or function (normal, visual, operator -" modes) -" [M Jump on previous class or method (normal, visual, operator -" modes) -" ]M Jump on next class or method (normal, visual, operator -" modes) -let g:pymode_rope = 0 - -" Documentation -let g:pymode_doc = 1 -let g:pymode_doc_key = 'K' - -"Linting -let g:pymode_lint = 1 -let g:pymode_lint_checker = "pyflakes,pep8" -" Auto check on save -let g:pymode_lint_write = 1 - -" Support virtualenv -let g:pymode_virtualenv = 1 - -" Enable breakpoints plugin -let g:pymode_breakpoint = 1 -let g:pymode_breakpoint_key = 'b' - -" syntax highlighting -let g:pymode_syntax = 1 -let g:pymode_syntax_all = 1 -let g:pymode_syntax_indent_errors = g:pymode_syntax_all -let g:pymode_syntax_space_errors = g:pymode_syntax_all - -" Don't autofold code -let g:pymode_folding = 0 -let g:riv_fold_level = 0 -let g:riv_fold_auto_update = 0 - colorscheme jellybeans -"setlocal spell spelllang=en_us -set mouse=a -"Make python-friendly tabs +"Make python-friendly tabs set tabstop=4 set shiftwidth=4 set smarttab @@ -120,6 +67,68 @@ set softtabstop=4 set autoindent let &colorcolumn="80,".join(range(81,999),",") -let g:dbgPavimPort = 9000 -let g:dbgPavimBreakAtEntry = 0 +augroup vimrc_autocmds + autocmd! + "highlight characters past col 80 + autocmd FileType python highlight Excess ctermbg=DarkGrey guibg=Black + autocmd FileType python match Excess /\%80v.*/ + autocmd FileType python set nowrap +augroup END + +set mouse=a + +" python-mode settings +" Python-mode +" Activate rope +" Keys: +" K Show python docs +" Rope autocomplete +" g Rope goto definition +" d Rope show documentation +" f Rope find occurrences +" b Set, unset breakpoint (g:pymode_breakpoint enabled) +" [[ Jump on previous class or function (normal, visual, operator +" modes) +" ]] Jump on next class or function (normal, visual, operator +" modes) +" [M Jump on previous class or method (normal, visual, operator +" modes) +" ]M Jump on next class or method (normal, visual, operator +" modes) +let g:pymode_rope = 0 + +" Documentation +let g:pymode_doc = 1 +let g:pymode_doc_key = 'K' + +"Linting +let g:pymode_lint = 1 +"let g:pymode_lint_checker = "pyflakes,pep8" +let g:pymode_lint_checker = "flake8,pep8" +" Auto check on save +let g:pymode_lint_write = 1 + +" Support virtualenv +let g:pymode_virtualenv = 1 + +" Enable breakpoints plugin +let g:pymode_breakpoint = 1 +let g:pymode_breakpoint_key = 'b' + +" syntax highlighting +let g:pymode_syntax = 1 +let g:pymode_syntax_all = 1 +let g:pymode_syntax_indent_errors = g:pymode_syntax_all +let g:pymode_syntax_space_errors = g:pymode_syntax_all + +" Don't autofold code +let g:pymode_folding = 0 +let g:riv_fold_level = 0 +let g:riv_fold_auto_update = 0 + +let g:dbgPavimPort = 9000 +let g:dbgPavimBreakAtEntry = 0 let g:dbgPavimOnce = 1 + +let python_highlight_all=1 +syntax on From 0eaa2142c43ac3ba4f97eb95ca8fdef514b9319c Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 20 Mar 2018 10:40:58 -0400 Subject: [PATCH 022/160] testing signing, not a real commit --- vim/vimrc | 1 + 1 file changed, 1 insertion(+) diff --git a/vim/vimrc b/vim/vimrc index 6144a3a..cbe6336 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -132,3 +132,4 @@ let g:dbgPavimOnce = 1 let python_highlight_all=1 syntax on +"force a change" From 27174bd4de7b093d2f8358898d7c07e871369e27 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 20 Mar 2018 10:42:47 -0400 Subject: [PATCH 023/160] Reverted comment to force change to test signing --- vim/vimrc | 1 - 1 file changed, 1 deletion(-) diff --git a/vim/vimrc b/vim/vimrc index cbe6336..6144a3a 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -132,4 +132,3 @@ let g:dbgPavimOnce = 1 let python_highlight_all=1 syntax on -"force a change" From f3e27f45e239b9b702b682a80232f9e9f3af117b Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 20 Mar 2018 10:45:06 -0400 Subject: [PATCH 024/160] maybe actually figured out the signing problem --- vim/vimrc | 1 + 1 file changed, 1 insertion(+) diff --git a/vim/vimrc b/vim/vimrc index 6144a3a..d461007 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -132,3 +132,4 @@ let g:dbgPavimOnce = 1 let python_highlight_all=1 syntax on +" if at first you don't succeed...commit a bunch of comments until you do From 302fb83c4c3cd0877975672398b77e886dcd2d48 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Mon, 25 Jun 2018 15:46:53 -0400 Subject: [PATCH 025/160] Added python handler thingy for vimrc --- vim/vimrc | 13 ++++++++++++- zsh/zshrc | 8 +++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/vim/vimrc b/vim/vimrc index d461007..0b53aa8 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -12,6 +12,11 @@ set wrap set linebreak set nolist +" Attempt to fix python/python3 issue +" To run py2 stuff, you can force with "vim --cmd 'let py2 = 1' +if exists('py2') && has('python') +elseif has('python3') +endif " set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() @@ -38,6 +43,9 @@ Plugin 'drmikehenry/vim-extline' Plugin 'tpope/vim-surround.git' Plugin 'ryanoasis/vim-webdevicons' Plugin 'brookhong/DBGPavim' +Plugin 'dhruvasagar/vim-table-mode' +Plugin 'nathanielc/vim-tickscript' +Plugin 'fatih/vim-go' " Add all your plugins here (note older versions of Vundle used Bundle instead " of Plugin) @@ -132,4 +140,7 @@ let g:dbgPavimOnce = 1 let python_highlight_all=1 syntax on -" if at first you don't succeed...commit a bunch of comments until you do + +" For table mode RST friendliness +let g:table_mode_corner_corner='+' +let g:table_mode_header_fillchar='=' diff --git a/zsh/zshrc b/zsh/zshrc index 9d5a9db..3ed15bc 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -26,7 +26,7 @@ ZSH_THEME="agnoster" # ENABLE_CORRECTION="true" # Uncomment the following line to display red dots whilst waiting for completion. -# COMPLETION_WAITING_DOTS="true" +COMPLETION_WAITING_DOTS="true" # Uncomment the following line if you want to disable marking untracked files # under VCS as dirty. This makes repository status check for large repositories @@ -46,7 +46,7 @@ ZSH_THEME="agnoster" # Example format: plugins=(rails git textmate ruby lighthouse) # Add wisely, as too many plugins slow down shell startup. # plugins=(git) -plugins=(sudo taskwarrior common-aliases git-flow keybase geeknote vi-mode battery) +plugins=(sudo taskwarrior common-aliases git-flow keybase geeknote vi-mode battery web-search) # User configuration @@ -96,7 +96,9 @@ export PATH="/usr/local/heroku/bin:$PATH" source /usr/share/gems/gems/tmuxinator-0.6.11/completion/tmuxinator.zsh rand () { - cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w ${1:-32} | head -n 1 + cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w ${1:-32} | head -n 1|tr -d '\n' } alias dum='du -sh *|egrep ".*\.?[0-9]M"' alias keploy='echo -e "\e[101;97mKeploy was removed, its functionality is already built in ssh-copy-id, just use that\e[49m"; ssh-copy-id' +cat /home/kellya/.local/share/franklinlogo.txt +export PATH="$PATH:/home/kellya/go/bin" From 7ba5ccea1931d13886be9bb304dd96f35b96dceb Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 11 Dec 2018 15:11:26 -0500 Subject: [PATCH 026/160] Updated --- zsh/zsh-git-prompt | 2 +- zsh/zshrc | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/zsh/zsh-git-prompt b/zsh/zsh-git-prompt index 7d480a9..0a6c8b6 160000 --- a/zsh/zsh-git-prompt +++ b/zsh/zsh-git-prompt @@ -1 +1 @@ -Subproject commit 7d480a928a1c9ac70fecc60f1a11031843cc1fcf +Subproject commit 0a6c8b610e799040b612db8888945f502a2ddd9d diff --git a/zsh/zshrc b/zsh/zshrc index 3ed15bc..7eae8b1 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -5,7 +5,7 @@ export ZSH=/home/kellya/.oh-my-zsh # Look in ~/.oh-my-zsh/themes/ # Optionally, if you set this to "random", it'll load a random theme each # time that oh-my-zsh is loaded. -ZSH_THEME="agnoster" +#ZSH_THEME="agnoster" # Uncomment the following line to use case-sensitive completion. # CASE_SENSITIVE="true" @@ -100,5 +100,11 @@ rand () { } alias dum='du -sh *|egrep ".*\.?[0-9]M"' alias keploy='echo -e "\e[101;97mKeploy was removed, its functionality is already built in ssh-copy-id, just use that\e[49m"; ssh-copy-id' +alias shrug='curl shrug.io|xclip' cat /home/kellya/.local/share/franklinlogo.txt export PATH="$PATH:/home/kellya/go/bin" +export WORKON_HOME=/mnt/vdisks/projects/python_virtualenvs + +export AGNOSTER_PROMPT_SEGMENTS=("prompt_status" "prompt_context" "prompt_virtualenv" "prompt_dir" "prompt_end") +prompt_git() { +} From 831659d2a56ff8ee8873d2b055e72c9599eb8ff9 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 11 Dec 2018 15:28:40 -0500 Subject: [PATCH 027/160] Added dummy git_status to make it stop showing up in the prompt --- zsh/zshrc | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/zsh/zshrc b/zsh/zshrc index d62f322..9472eb2 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -5,7 +5,7 @@ export ZSH=/home/kellya/.oh-my-zsh # Look in ~/.oh-my-zsh/themes/ # Optionally, if you set this to "random", it'll load a random theme each # time that oh-my-zsh is loaded. -#ZSH_THEME="agnoster" +ZSH_THEME="agnoster" # Uncomment the following line to use case-sensitive completion. # CASE_SENSITIVE="true" @@ -100,15 +100,12 @@ rand () { } alias dum='du -sh *|egrep ".*\.?[0-9]M"' alias keploy='echo -e "\e[101;97mKeploy was removed, its functionality is already built in ssh-copy-id, just use that\e[49m"; ssh-copy-id' -<<<<<<< HEAD alias shrug='curl shrug.io|xclip' -cat /home/kellya/.local/share/franklinlogo.txt export PATH="$PATH:/home/kellya/go/bin" export WORKON_HOME=/mnt/vdisks/projects/python_virtualenvs export AGNOSTER_PROMPT_SEGMENTS=("prompt_status" "prompt_context" "prompt_virtualenv" "prompt_dir" "prompt_end") +# Override the git prompt, because I don't want it in my left-hand prompt, and I can't use the variable to unset it for some reason prompt_git() { } -======= cat /home/kellya/.local/share/franklinlogo.txt -export PATH="$PATH:/home/kellya/go/bin" From b26356c83993fc1c279ef62e0d053e48644ccb25 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 11 Dec 2018 15:37:27 -0500 Subject: [PATCH 028/160] Moved things around to make the conf a little cleaner --- zsh/zshrc | 47 ++++++++++++++++------------------------------- 1 file changed, 16 insertions(+), 31 deletions(-) diff --git a/zsh/zshrc b/zsh/zshrc index 9472eb2..a2e3a58 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -37,6 +37,7 @@ COMPLETION_WAITING_DOTS="true" # stamp shown in the history command output. # The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" # HIST_STAMPS="mm/dd/yyyy" +HIST_STAMPS="yyyy-mm-dd" # Would you like to use another custom folder than $ZSH/custom? # ZSH_CUSTOM=/path/to/new-custom-folder @@ -57,32 +58,6 @@ export PATH="/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/ DISABLE_AUTO_UPDATE='true' source $ZSH/oh-my-zsh.sh -export EDITOR='vim' -# You may need to manually set your language environment -# export LANG=en_US.UTF-8 - -# Preferred editor for local and remote sessions -# if [[ -n $SSH_CONNECTION ]]; then -# export EDITOR='vim' -# else -# export EDITOR='mvim' -# fi - -# Compilation flags -# export ARCHFLAGS="-arch x86_64" - -# ssh -# export SSH_KEY_PATH="~/.ssh/dsa_id" - -# Set personal aliases, overriding those provided by oh-my-zsh libs, -# plugins, and themes. Aliases can be placed here, though oh-my-zsh -# users are encouraged to define aliases within the ZSH_CUSTOM folder. -# For a full list of active aliases, run `alias`. -# -# Example aliases -# alias zshconfig="mate ~/.zshrc" -# alias ohmyzsh="mate ~/.oh-my-zsh" -# source ~/dotfiles/zsh/zsh-git-prompt/zshrc.sh RPS1='$(git_super_status)' @@ -90,22 +65,32 @@ source ~/.autoenv/activate.sh unsetopt histverify alias in='task add +in' alias rtask="task rc:/home/kellya/.taskrc_tinslin" -export LPASS_AGENT_TIMEOUT=0 -export PATH="/usr/local/heroku/bin:$PATH" #eval "$(ntfy shell-integration)" source /usr/share/gems/gems/tmuxinator-0.6.11/completion/tmuxinator.zsh +#Custom Functions +#quick and dirty random string generator rand () { cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w ${1:-32} | head -n 1|tr -d '\n' } + +# Override the git prompt, because I don't want it in my left-hand prompt, and I can't use the variable to unset it for some reason +prompt_git() { + +} + +#Aliases alias dum='du -sh *|egrep ".*\.?[0-9]M"' alias keploy='echo -e "\e[101;97mKeploy was removed, its functionality is already built in ssh-copy-id, just use that\e[49m"; ssh-copy-id' alias shrug='curl shrug.io|xclip' + +#Variable Exports +export EDITOR='vim' export PATH="$PATH:/home/kellya/go/bin" export WORKON_HOME=/mnt/vdisks/projects/python_virtualenvs +export LPASS_AGENT_TIMEOUT=0 +export PATH="/usr/local/heroku/bin:$PATH" +#This didn't work, but I'll leave it here in case someday it does export AGNOSTER_PROMPT_SEGMENTS=("prompt_status" "prompt_context" "prompt_virtualenv" "prompt_dir" "prompt_end") -# Override the git prompt, because I don't want it in my left-hand prompt, and I can't use the variable to unset it for some reason -prompt_git() { -} cat /home/kellya/.local/share/franklinlogo.txt From c86326c0654c0f84f66a66f2b232c9bce5ab6e9c Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Wed, 9 Jan 2019 14:03:21 -0500 Subject: [PATCH 029/160] Moved functions to an included directory --- zsh/functions/prompt_git.sh | 4 ++++ zsh/functions/qr.sh | 3 +++ zsh/functions/rand.sh | 4 ++++ 3 files changed, 11 insertions(+) create mode 100755 zsh/functions/prompt_git.sh create mode 100755 zsh/functions/qr.sh create mode 100755 zsh/functions/rand.sh diff --git a/zsh/functions/prompt_git.sh b/zsh/functions/prompt_git.sh new file mode 100755 index 0000000..ad0b612 --- /dev/null +++ b/zsh/functions/prompt_git.sh @@ -0,0 +1,4 @@ +# Override the git prompt, because I don't want it in my left-hand prompt, and I can't use the variable to unset it for some reason +prompt_git() { + +} diff --git a/zsh/functions/qr.sh b/zsh/functions/qr.sh new file mode 100755 index 0000000..e577adc --- /dev/null +++ b/zsh/functions/qr.sh @@ -0,0 +1,3 @@ +qrnet () { + echo "WIFI:S:$1;T:WPA;$2;;"|curl -F-=\<- qrenco.de +} diff --git a/zsh/functions/rand.sh b/zsh/functions/rand.sh new file mode 100755 index 0000000..6a60057 --- /dev/null +++ b/zsh/functions/rand.sh @@ -0,0 +1,4 @@ +#quick and dirty random string generator +rand () { + cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w ${1:-32} | head -n 1|tr -d '\n' + } From d1de7cafc31357ecf896e4edf76d48b206d71a4b Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Wed, 9 Jan 2019 14:10:53 -0500 Subject: [PATCH 030/160] Moved functions into directory, and sourced from .zshrc --- zsh/zsh-git-prompt | 2 +- zsh/zshrc | 14 +++----------- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/zsh/zsh-git-prompt b/zsh/zsh-git-prompt index 0a6c8b6..b4e0b2e 160000 --- a/zsh/zsh-git-prompt +++ b/zsh/zsh-git-prompt @@ -1 +1 @@ -Subproject commit 0a6c8b610e799040b612db8888945f502a2ddd9d +Subproject commit b4e0b2e39663fb8eee801f84cb577dadf055b44e diff --git a/zsh/zshrc b/zsh/zshrc index a2e3a58..e2c6fa1 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -50,6 +50,8 @@ HIST_STAMPS="yyyy-mm-dd" plugins=(sudo taskwarrior common-aliases git-flow keybase vi-mode battery web-search) # User configuration +# Load custom functions +for f (~/.functions/**/*(N.)) . $f export PATH="/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/kellya/bin:/home/kellya/incoming/git-annex.linux:/home/kellya/bin/keybase/bin" # export MANPATH="/usr/local/man:$MANPATH" @@ -68,21 +70,11 @@ alias rtask="task rc:/home/kellya/.taskrc_tinslin" #eval "$(ntfy shell-integration)" source /usr/share/gems/gems/tmuxinator-0.6.11/completion/tmuxinator.zsh -#Custom Functions -#quick and dirty random string generator -rand () { - cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w ${1:-32} | head -n 1|tr -d '\n' - } - -# Override the git prompt, because I don't want it in my left-hand prompt, and I can't use the variable to unset it for some reason -prompt_git() { - -} - #Aliases alias dum='du -sh *|egrep ".*\.?[0-9]M"' alias keploy='echo -e "\e[101;97mKeploy was removed, its functionality is already built in ssh-copy-id, just use that\e[49m"; ssh-copy-id' alias shrug='curl shrug.io|xclip' +alias weather='curl wttr.in' #Variable Exports export EDITOR='vim' From e829a603a8825d28317f3d3a785ae1153851c41e Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Wed, 9 Jan 2019 14:16:54 -0500 Subject: [PATCH 031/160] Quiet py3 imp/importlib complaints --- vim/vimrc | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/vim/vimrc b/vim/vimrc index 0b53aa8..269a6e0 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -12,10 +12,9 @@ set wrap set linebreak set nolist -" Attempt to fix python/python3 issue -" To run py2 stuff, you can force with "vim --cmd 'let py2 = 1' -if exists('py2') && has('python') -elseif has('python3') +" Stop the py3 imp complaining for YCM (and others using python3 +if !has('patch-8.1.201') + silent! python3 1 endif " set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim From 00fa780fc01bdf2c0267370f23e5bf5065ded82d Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Wed, 9 Jan 2019 14:18:27 -0500 Subject: [PATCH 032/160] Added private alias file call, for things that shouldn't be publicly gited --- zsh/zshrc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/zsh/zshrc b/zsh/zshrc index e2c6fa1..ccd2947 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -69,6 +69,8 @@ alias in='task add +in' alias rtask="task rc:/home/kellya/.taskrc_tinslin" #eval "$(ntfy shell-integration)" source /usr/share/gems/gems/tmuxinator-0.6.11/completion/tmuxinator.zsh +source ~/.private_aliases + #Aliases alias dum='du -sh *|egrep ".*\.?[0-9]M"' From 9ec171b4054b972c54ab6f0c7876150989acaefe Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Wed, 9 Jan 2019 14:19:14 -0500 Subject: [PATCH 033/160] credit the solution source --- vim/vimrc | 1 + 1 file changed, 1 insertion(+) diff --git a/vim/vimrc b/vim/vimrc index 269a6e0..7b8406e 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -13,6 +13,7 @@ set linebreak set nolist " Stop the py3 imp complaining for YCM (and others using python3 +" solution found at https://github.com/vim/vim/issues/3117 if !has('patch-8.1.201') silent! python3 1 endif From 2a50b24fec712c8a69c551c46ea0b4b1c9025902 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Wed, 9 Jan 2019 15:43:04 -0500 Subject: [PATCH 034/160] Added space to expanded folded content --- vim/vimrc | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/vim/vimrc b/vim/vimrc index 7b8406e..9c0d499 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -12,8 +12,10 @@ set wrap set linebreak set nolist -" Stop the py3 imp complaining for YCM (and others using python3 -" solution found at https://github.com/vim/vim/issues/3117 +" Attempt to fix python/python3 issue +" To run py2 stuff, you can force with "vim --cmd 'let py2 = 1' +"if exists('py2') && has('python') +"elseif has('python3') if !has('patch-8.1.201') silent! python3 1 endif @@ -45,7 +47,12 @@ Plugin 'ryanoasis/vim-webdevicons' Plugin 'brookhong/DBGPavim' Plugin 'dhruvasagar/vim-table-mode' Plugin 'nathanielc/vim-tickscript' +Plugin 'godlygeek/tabular' +Plugin 'plasticboy/vim-markdown' Plugin 'fatih/vim-go' +Plugin 'dbeniamine/cheat.sh-vim' +"let g:deoplete#enable_at_startup = 1 +"Plugin 'Shougo/deoplete.nvim' " Add all your plugins here (note older versions of Vundle used Bundle instead " of Plugin) @@ -116,8 +123,8 @@ let g:pymode_lint_checker = "flake8,pep8" " Auto check on save let g:pymode_lint_write = 1 -" Support virtualenv -let g:pymode_virtualenv = 1 +" Support virtualenv +let g:pymode_virtualenv = 1 " Enable breakpoints plugin let g:pymode_breakpoint = 1 @@ -133,6 +140,7 @@ let g:pymode_syntax_space_errors = g:pymode_syntax_all let g:pymode_folding = 0 let g:riv_fold_level = 0 let g:riv_fold_auto_update = 0 +nnoremap za let g:dbgPavimPort = 9000 let g:dbgPavimBreakAtEntry = 0 From 54042374c8fb8828bc3ab1e07c14389a22709935 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Wed, 9 Jan 2019 15:49:58 -0500 Subject: [PATCH 035/160] Fixed MD formatting, and the ln command --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f4e7a3d..79facc2 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ -#My Dotfiles +# My Dotfiles Here are my configuration files that I use on my system. I use Vundle (https://github.com/gmarik/Vundle.vim) for all of my plugin management, so in order to get most of the things working, you need to have that installed first. -##File Naming +## File Naming You should clone this to your home directory, and then create a symlink for the files. For example, if you want to use my .vimrc, you would: - ln -s ~dotfiles/vim/vimrc .vimrc + ln -s ~/dotfiles/vim/vimrc .vimrc From 19284ed1b84cb86407181cc0f2ef53ccf9cb0992 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Wed, 9 Jan 2019 16:13:05 -0500 Subject: [PATCH 036/160] Added : so the empty function is valid --- zsh/functions/prompt_git.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/zsh/functions/prompt_git.sh b/zsh/functions/prompt_git.sh index ad0b612..3cd1ba4 100755 --- a/zsh/functions/prompt_git.sh +++ b/zsh/functions/prompt_git.sh @@ -1,4 +1,4 @@ # Override the git prompt, because I don't want it in my left-hand prompt, and I can't use the variable to unset it for some reason -prompt_git() { - +prompt_git () { + : } From 987ec741b2f1c898d7186193be2656113a9cbe9f Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Wed, 9 Jan 2019 16:13:25 -0500 Subject: [PATCH 037/160] Sourced functions need to come at the end to handle overrides --- zsh/zshrc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/zsh/zshrc b/zsh/zshrc index ccd2947..739babe 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -50,9 +50,6 @@ HIST_STAMPS="yyyy-mm-dd" plugins=(sudo taskwarrior common-aliases git-flow keybase vi-mode battery web-search) # User configuration -# Load custom functions -for f (~/.functions/**/*(N.)) . $f - export PATH="/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/kellya/bin:/home/kellya/incoming/git-annex.linux:/home/kellya/bin/keybase/bin" # export MANPATH="/usr/local/man:$MANPATH" @@ -85,6 +82,10 @@ export WORKON_HOME=/mnt/vdisks/projects/python_virtualenvs export LPASS_AGENT_TIMEOUT=0 export PATH="/usr/local/heroku/bin:$PATH" +#Source all the custom functions +# Load custom functions +for f (~/.functions/**/*(N.)) . $f + #This didn't work, but I'll leave it here in case someday it does -export AGNOSTER_PROMPT_SEGMENTS=("prompt_status" "prompt_context" "prompt_virtualenv" "prompt_dir" "prompt_end") +#export AGNOSTER_PROMPT_SEGMENTS=("prompt_status" "prompt_context" "prompt_virtualenv" "prompt_dir" "prompt_end") cat /home/kellya/.local/share/franklinlogo.txt From c512a473ea7342e20bc27403a3efd69dbf9a6964 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Sun, 3 Feb 2019 12:27:30 -0500 Subject: [PATCH 038/160] Experimenting with line wrap settings. Already too annoying for rst --- vim/vimrc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/vim/vimrc b/vim/vimrc index 9c0d499..fe617f3 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -51,6 +51,7 @@ Plugin 'godlygeek/tabular' Plugin 'plasticboy/vim-markdown' Plugin 'fatih/vim-go' Plugin 'dbeniamine/cheat.sh-vim' +Plugin 'jacqueswww/vim-vyper' "let g:deoplete#enable_at_startup = 1 "Plugin 'Shougo/deoplete.nvim' @@ -80,6 +81,7 @@ set shiftwidth=4 set smarttab set softtabstop=4 set autoindent +set expandtab let &colorcolumn="80,".join(range(81,999),",") augroup vimrc_autocmds @@ -88,6 +90,8 @@ augroup vimrc_autocmds autocmd FileType python highlight Excess ctermbg=DarkGrey guibg=Black autocmd FileType python match Excess /\%80v.*/ autocmd FileType python set nowrap +" autocmd FileType rst set textwidth=80 + autocmd FileType markdown set textwidth=80 augroup END set mouse=a From 1f09661c253fb43fc0d389a754d12fe31725464d Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Wed, 8 May 2019 11:12:28 -0400 Subject: [PATCH 039/160] Added some aliases for taskwarrior contexts --- vim/vimrc | 6 ++++-- zsh/zshrc | 20 +++++++++++++++++++- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/vim/vimrc b/vim/vimrc index fe617f3..a8bf4c9 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -131,8 +131,8 @@ let g:pymode_lint_write = 1 let g:pymode_virtualenv = 1 " Enable breakpoints plugin -let g:pymode_breakpoint = 1 -let g:pymode_breakpoint_key = 'b' + let g:pymode_breakpoint = 1 + let g:pymode_breakpoint_key = 'b' " syntax highlighting let g:pymode_syntax = 1 @@ -153,6 +153,8 @@ let g:dbgPavimOnce = 1 let python_highlight_all=1 syntax on +let g:pymode_python = 'python3' + " For table mode RST friendliness let g:table_mode_corner_corner='+' let g:table_mode_header_fillchar='=' diff --git a/zsh/zshrc b/zsh/zshrc index 739babe..dd377c9 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -60,10 +60,28 @@ source $ZSH/oh-my-zsh.sh source ~/dotfiles/zsh/zsh-git-prompt/zshrc.sh RPS1='$(git_super_status)' -source ~/.autoenv/activate.sh +#source ~/.autoenv/activate.sh + +# changing over to direnv from autoenv +eval "$(direnv hook zsh)" + +# Add PS1 for python virtualenv in direnv +show_virtual_env() { + if [[ -n "$VIRTUAL_ENV" && -n "$DIRENV_DIR" ]]; then + echo "($(basename $VIRTUAL_ENV))" + fi + } + PS1='$(show_virtual_env)'$PS1 + +#--------- End of direnv block ------------------------------------------------ + unsetopt histverify alias in='task add +in' alias rtask="task rc:/home/kellya/.taskrc_tinslin" +alias atwork="task context work" +alias athome="task context home" +alias atschool="task context school" +alias atnone="task context none;" #eval "$(ntfy shell-integration)" source /usr/share/gems/gems/tmuxinator-0.6.11/completion/tmuxinator.zsh source ~/.private_aliases From cea96f2800a093179b9345af711dc050abed0814 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Wed, 8 May 2019 11:12:45 -0400 Subject: [PATCH 040/160] Beginning switch to direnv from autoenv --- direnv/direnvrc | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 direnv/direnvrc diff --git a/direnv/direnvrc b/direnv/direnvrc new file mode 100644 index 0000000..a2f9f95 --- /dev/null +++ b/direnv/direnvrc @@ -0,0 +1,9 @@ +layout_virtualenv() { + local venv_path="$1" + source ${venv_path}/bin/activate +} + +layout_virtualenvwrapper() { + local venv_path="${WORKON_HOME}/$1" + layout_virtualenv $venv_path +} From ba4dcd13083038dd87bdee63cafed3653a029d0c Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Thu, 30 Apr 2020 09:31:20 -0400 Subject: [PATCH 041/160] Added .direnvc --- .direnvrc | 9 +++++++++ vim/vimrc | 7 ++++--- zsh/zshrc | 9 +++++++++ 3 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 .direnvrc diff --git a/.direnvrc b/.direnvrc new file mode 100644 index 0000000..4abe70d --- /dev/null +++ b/.direnvrc @@ -0,0 +1,9 @@ +layout_virtualenv() { + local venv_path="$1" + source ${venv_path}/bin/activate +} + +layout_virtualenvwrapper() { + local venv_path="${WORKON_HOME}/$1" + layout_virtualenv $venv_path +} diff --git a/vim/vimrc b/vim/vimrc index a8bf4c9..8b029d3 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -52,6 +52,8 @@ Plugin 'plasticboy/vim-markdown' Plugin 'fatih/vim-go' Plugin 'dbeniamine/cheat.sh-vim' Plugin 'jacqueswww/vim-vyper' +Plugin 'direnv/direnv.vim' +Plugin 'tomlion/vim-solidity' "let g:deoplete#enable_at_startup = 1 "Plugin 'Shougo/deoplete.nvim' @@ -82,13 +84,12 @@ set smarttab set softtabstop=4 set autoindent set expandtab -let &colorcolumn="80,".join(range(81,999),",") - +"let &colorcolumn="123,".join(range(124,999),",") augroup vimrc_autocmds autocmd! "highlight characters past col 80 autocmd FileType python highlight Excess ctermbg=DarkGrey guibg=Black - autocmd FileType python match Excess /\%80v.*/ + autocmd FileType python match Excess /\%123v.*/ autocmd FileType python set nowrap " autocmd FileType rst set textwidth=80 autocmd FileType markdown set textwidth=80 diff --git a/zsh/zshrc b/zsh/zshrc index dd377c9..67c06ca 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -82,9 +82,12 @@ alias atwork="task context work" alias athome="task context home" alias atschool="task context school" alias atnone="task context none;" +alias icat="kitty +kitten icat" +alias d="kitty +kitten diff" #eval "$(ntfy shell-integration)" source /usr/share/gems/gems/tmuxinator-0.6.11/completion/tmuxinator.zsh source ~/.private_aliases +source /usr/bin/virtualenvwrapper.sh #Aliases @@ -92,6 +95,7 @@ alias dum='du -sh *|egrep ".*\.?[0-9]M"' alias keploy='echo -e "\e[101;97mKeploy was removed, its functionality is already built in ssh-copy-id, just use that\e[49m"; ssh-copy-id' alias shrug='curl shrug.io|xclip' alias weather='curl wttr.in' +alias ipython='ipython --no-confirm-exit' #Variable Exports export EDITOR='vim' @@ -107,3 +111,8 @@ for f (~/.functions/**/*(N.)) . $f #This didn't work, but I'll leave it here in case someday it does #export AGNOSTER_PROMPT_SEGMENTS=("prompt_status" "prompt_context" "prompt_virtualenv" "prompt_dir" "prompt_end") cat /home/kellya/.local/share/franklinlogo.txt + +#Stop the annoying git prompt +prompt_git () { + : +} From 4d6e50c6520ac5c3544cf27390b66fa550107d6c Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Thu, 11 Jun 2020 13:56:00 -0400 Subject: [PATCH 042/160] Fixed the style changes that I did not know about for the f32 update --- tmux/tmux.conf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tmux/tmux.conf b/tmux/tmux.conf index 13b76c0..694275d 100644 --- a/tmux/tmux.conf +++ b/tmux/tmux.conf @@ -62,4 +62,5 @@ bind -r K resize-pane -U 5 bind -r L resize-pane -R 5 #set border colors -set -g pane-active-border-fg blue +#set -g pane-active-border-fg blue +set-option -g pane-active-border-style fg=blue From 352fad024d0de2473f005a390a09976f0dccd2b5 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Thu, 11 Jun 2020 13:58:06 -0400 Subject: [PATCH 043/160] Updated settings --- vim/vimrc | 6 ++++-- zsh/zshrc | 6 +++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/vim/vimrc b/vim/vimrc index 8b029d3..19edddb 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -54,6 +54,7 @@ Plugin 'dbeniamine/cheat.sh-vim' Plugin 'jacqueswww/vim-vyper' Plugin 'direnv/direnv.vim' Plugin 'tomlion/vim-solidity' + "let g:deoplete#enable_at_startup = 1 "Plugin 'Shougo/deoplete.nvim' @@ -84,12 +85,13 @@ set smarttab set softtabstop=4 set autoindent set expandtab -"let &colorcolumn="123,".join(range(124,999),",") +let &colorcolumn="80,".join(range(81,999),",") + augroup vimrc_autocmds autocmd! "highlight characters past col 80 autocmd FileType python highlight Excess ctermbg=DarkGrey guibg=Black - autocmd FileType python match Excess /\%123v.*/ + autocmd FileType python match Excess /\%80v.*/ autocmd FileType python set nowrap " autocmd FileType rst set textwidth=80 autocmd FileType markdown set textwidth=80 diff --git a/zsh/zshrc b/zsh/zshrc index 67c06ca..abe4f32 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -47,7 +47,7 @@ HIST_STAMPS="yyyy-mm-dd" # Example format: plugins=(rails git textmate ruby lighthouse) # Add wisely, as too many plugins slow down shell startup. # plugins=(git) -plugins=(sudo taskwarrior common-aliases git-flow keybase vi-mode battery web-search) +plugins=(sudo taskwarrior common-aliases git-flow github keybase vi-mode battery web-search) # User configuration export PATH="/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/kellya/bin:/home/kellya/incoming/git-annex.linux:/home/kellya/bin/keybase/bin" @@ -116,3 +116,7 @@ cat /home/kellya/.local/share/franklinlogo.txt prompt_git () { : } + + +# hyperdrive autocomplete setup +HYPERDRIVE_AC_ZSH_SETUP_PATH=/home/kellya/.cache/hyperdrive-daemon/autocomplete/zsh_setup && test -f $HYPERDRIVE_AC_ZSH_SETUP_PATH && source $HYPERDRIVE_AC_ZSH_SETUP_PATH; \ No newline at end of file From 3b654c85cc00f3a7cd7f2d2206dae226c094c783 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 4 Aug 2020 23:07:05 -0400 Subject: [PATCH 044/160] Cleanup end of line whitespace --- vim/vimrc | 108 +++++++++++++++++++++++++++--------------------------- 1 file changed, 55 insertions(+), 53 deletions(-) diff --git a/vim/vimrc b/vim/vimrc index 19edddb..d641149 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -64,21 +64,21 @@ Plugin 'tomlion/vim-solidity' " All of your Plugins must be added before the following line call vundle#end() " required filetype plugin indent on " required -"Powerline setup -"set guifont=PowerLineSymbols\ DejaVu\ Sans\ Mono\ for\ Powerline\ 9 -" set guifont=DejaVu\ Sans\ Mono\ for\ Powerline\ Plus\ Nerd\ File\ Types\ 9 -set guifont=Sauce\ Code\ Powerline\ Plus\ Nerd\ File\ Types\ 9 -" set guifont=Anonymous\ Pro\ for\ Powerline\ Regular/9 -let g:Powerline_symbols = 'fancy' -let g:airline_powerline_fonts = 1 -set laststatus=2 - -"NerdTree map to +"Powerline setup +"set guifont=PowerLineSymbols\ DejaVu\ Sans\ Mono\ for\ Powerline\ 9 +" set guifont=DejaVu\ Sans\ Mono\ for\ Powerline\ Plus\ Nerd\ File\ Types\ 9 +set guifont=Sauce\ Code\ Powerline\ Plus\ Nerd\ File\ Types\ 9 +" set guifont=Anonymous\ Pro\ for\ Powerline\ Regular/9 +let g:Powerline_symbols = 'fancy' +let g:airline_powerline_fonts = 1 +set laststatus=2 + +"NerdTree map to map :NERDTreeToggle colorscheme jellybeans -"Make python-friendly tabs +"Make python-friendly tabs set tabstop=4 set shiftwidth=4 set smarttab @@ -100,57 +100,57 @@ augroup END set mouse=a " python-mode settings -" Python-mode -" Activate rope -" Keys: -" K Show python docs -" Rope autocomplete -" g Rope goto definition -" d Rope show documentation -" f Rope find occurrences -" b Set, unset breakpoint (g:pymode_breakpoint enabled) -" [[ Jump on previous class or function (normal, visual, operator -" modes) -" ]] Jump on next class or function (normal, visual, operator -" modes) -" [M Jump on previous class or method (normal, visual, operator -" modes) -" ]M Jump on next class or method (normal, visual, operator -" modes) -let g:pymode_rope = 0 - -" Documentation -let g:pymode_doc = 1 -let g:pymode_doc_key = 'K' +" Python-mode +" Activate rope +" Keys: +" K Show python docs +" Rope autocomplete +" g Rope goto definition +" d Rope show documentation +" f Rope find occurrences +" b Set, unset breakpoint (g:pymode_breakpoint enabled) +" [[ Jump on previous class or function (normal, visual, operator +" modes) +" ]] Jump on next class or function (normal, visual, operator +" modes) +" [M Jump on previous class or method (normal, visual, operator +" modes) +" ]M Jump on next class or method (normal, visual, operator +" modes) +let g:pymode_rope = 0 -"Linting -let g:pymode_lint = 1 -"let g:pymode_lint_checker = "pyflakes,pep8" -let g:pymode_lint_checker = "flake8,pep8" -" Auto check on save -let g:pymode_lint_write = 1 +" Documentation +let g:pymode_doc = 1 +let g:pymode_doc_key = 'K' + +"Linting +let g:pymode_lint = 1 +"let g:pymode_lint_checker = "pyflakes,pep8" +let g:pymode_lint_checker = "flake8,pep8" +" Auto check on save +let g:pymode_lint_write = 1 " Support virtualenv let g:pymode_virtualenv = 1 -" Enable breakpoints plugin - let g:pymode_breakpoint = 1 - let g:pymode_breakpoint_key = 'b' +" Enable breakpoints plugin + let g:pymode_breakpoint = 1 + let g:pymode_breakpoint_key = 'b' -" syntax highlighting -let g:pymode_syntax = 1 -let g:pymode_syntax_all = 1 -let g:pymode_syntax_indent_errors = g:pymode_syntax_all -let g:pymode_syntax_space_errors = g:pymode_syntax_all +" syntax highlighting +let g:pymode_syntax = 1 +let g:pymode_syntax_all = 1 +let g:pymode_syntax_indent_errors = g:pymode_syntax_all +let g:pymode_syntax_space_errors = g:pymode_syntax_all -" Don't autofold code -let g:pymode_folding = 0 -let g:riv_fold_level = 0 -let g:riv_fold_auto_update = 0 +" Don't autofold code +let g:pymode_folding = 0 +let g:riv_fold_level = 0 +let g:riv_fold_auto_update = 0 nnoremap za -let g:dbgPavimPort = 9000 -let g:dbgPavimBreakAtEntry = 0 +let g:dbgPavimPort = 9000 +let g:dbgPavimBreakAtEntry = 0 let g:dbgPavimOnce = 1 let python_highlight_all=1 @@ -161,3 +161,5 @@ let g:pymode_python = 'python3' " For table mode RST friendliness let g:table_mode_corner_corner='+' let g:table_mode_header_fillchar='=' +let g:webdevicons_enable = 1 +let g:webdevicons_enable_nerdtree = 1 From 9b50b562ed662f3485e46d013fe4a9f1d20d1968 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Mon, 15 Mar 2021 08:45:23 -0400 Subject: [PATCH 045/160] Added mutt --- mutt/accounts/arachnitech | 14 + mutt/accounts/franklin | 19 ++ mutt/bindings.rc | 18 ++ .../INBOX/1570538954-12920 | 264 ++++++++++++++++++ mutt/cache/headers | Bin 0 -> 136192 bytes mutt/colors.rc | 5 + mutt/gpg.old | 114 ++++++++ mutt/gpg.rc | 12 + mutt/macros.rc | 18 ++ mutt/mailboxes.rc | 4 + mutt/muttrc | 30 ++ mutt/notmuch.rc | 2 + mutt/sources.sh | 1 + 13 files changed, 501 insertions(+) create mode 100644 mutt/accounts/arachnitech create mode 100644 mutt/accounts/franklin create mode 100644 mutt/bindings.rc create mode 100644 mutt/cache/bodies/imap:kellya@192.168.0.125:143/INBOX/1570538954-12920 create mode 100644 mutt/cache/headers create mode 100644 mutt/colors.rc create mode 100644 mutt/gpg.old create mode 100644 mutt/gpg.rc create mode 100644 mutt/macros.rc create mode 100644 mutt/mailboxes.rc create mode 100644 mutt/muttrc create mode 100644 mutt/notmuch.rc create mode 100755 mutt/sources.sh diff --git a/mutt/accounts/arachnitech b/mutt/accounts/arachnitech new file mode 100644 index 0000000..d6a500a --- /dev/null +++ b/mutt/accounts/arachnitech @@ -0,0 +1,14 @@ +set from = "kellya@arachnitech.com" +set sendmail = "/usr/bin/msmtp -a arachnitech" +set mbox = "+arachnitech/archive" +set postponed = "+arachnitech/drafts" + +color status green default + +macro index D \ + "+arachnitech/Trash" \ + "move message to the trash" + +macro index S \ + "+arachnitech/Spam" \ + "mark message as spam" diff --git a/mutt/accounts/franklin b/mutt/accounts/franklin new file mode 100644 index 0000000..be42bb6 --- /dev/null +++ b/mutt/accounts/franklin @@ -0,0 +1,19 @@ +set from = "alex.kelly@franklin.edu" +set sendmail = "/usr/bin/msmtp -a franklin" +set mbox = "+franklin/archive" +set postponed = "+franklin/drafts" + +color status cyan default +set pgp_default_key = "FE3A66764329CE891E807CD7DC441667D5FCB16F" + +macro index D \ + "+franklin/Trash" \ + "move message to the trash" + +macro index S \ + "+franklin/Spam" \ + "mark message as spam" + +macro index A \ + "+franklin/Archive" \ + "Archive message" diff --git a/mutt/bindings.rc b/mutt/bindings.rc new file mode 100644 index 0000000..20589b3 --- /dev/null +++ b/mutt/bindings.rc @@ -0,0 +1,18 @@ +bind index,pager \Cp sidebar-prev +# Move the highlight to the next mailbox +bind index,pager \Cn sidebar-next +# Open the highlighted mailbox +bind index,pager \Co sidebar-open +# Move the highlight to the previous page +# This is useful if you have a LOT of mailboxes. +bind index,pager sidebar-page-up +# Move the highlight to the next page +# This is useful if you have a LOT of mailboxes. +bind index,pager sidebar-page-down +# Move the highlight to the previous mailbox containing new, or flagged, +# mail. +bind index,pager sidebar-prev-new +# Move the highlight to the next mailbox containing new, or flagged, mail. +bind index,pager sidebar-next-new +# Toggle the visibility of the Sidebar. +bind index,pager B sidebar-toggle-visible diff --git a/mutt/cache/bodies/imap:kellya@192.168.0.125:143/INBOX/1570538954-12920 b/mutt/cache/bodies/imap:kellya@192.168.0.125:143/INBOX/1570538954-12920 new file mode 100644 index 0000000..55766d3 --- /dev/null +++ b/mutt/cache/bodies/imap:kellya@192.168.0.125:143/INBOX/1570538954-12920 @@ -0,0 +1,264 @@ +Return-Path: +Received: from desis.arachnitech.com ([unix socket]) + by desis.arachnitech.com (Cyrus 2.5.15-28-g7d1550bfa-Kolab-2.5.15.28-1.20.el7.kolab_16) with LMTPA; + Wed, 10 Mar 2021 09:21:18 -0500 +X-Sieve: CMU Sieve 2.4 +X-Virus-Scanned: amavisd-new at arachnitech.com +X-Spam-Flag: NO +X-Spam-Score: -0.092 +X-Spam-Level: +X-Spam-Status: No, score=-0.092 tagged_above=-10 required=6.2 + tests=[DKIMWL_WL_HIGH=-0.243, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, + DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.249, + HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, + URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no +Authentication-Results: desis.arachnitech.com (amavisd-new); + dkim=pass (1024-bit key) header.d=github.com +Received: from s214f.ik2.com (s214f.ik2.com [208.77.151.118]) + by desis.arachnitech.com (Postfix) with ESMTPS id 7ACBE350 + for ; Wed, 10 Mar 2021 09:21:14 -0500 (EST) +Received: from s250a.ik2.com + by s214f.ik2.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) + (envelope-from ) id 1lJzi3-0004gV-TG + for kellya@arachnitech.com; Wed, 10 Mar 2021 14:21:12 +0000 +Received: from 192.30.252.201 by s250a.ik2.com (IK2 SMTP Server); + Wed, 10 Mar 2021 14:21:10 +0000 +Received: from github.com (hubbernetes-node-4f064af.va3-iad.github.net + [10.48.114.44]) + by smtp.github.com (Postfix) with ESMTPA id 057843406F2 + for ; Wed, 10 Mar 2021 06:21:08 -0800 (PST) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; + s=pf2014; t=1615386068; + bh=wfKjHC8f33f5tPC0r7vNXCoIwc1zGPt//UQubP8I+3Q=; + h=Date:From:To:Subject:From; + b=x9StawBnq6/L4X4nYAFqh0wbGYumrG5w0kox8qxPJOKLTYpIqu00DPSnKylTDXP5O + QI5c581RlP+snBhnlkw/QVv7mnbbEMg/0vjVlh73xa8Fp2oFPPtbyYWUIL1jA7wSsk + Ps2+CGwibuQ3i0ASH/K50enPoqaBeC9/9+qCdLN0= +Date: Wed, 10 Mar 2021 06:21:08 -0800 +From: GitHub +To: kellya@arachnitech.com +Message-ID: <6048d5d431e4_5ca17d41328f4@lowworker-7f6b9d8d47-rjzbw.mail> +Subject: =?UTF-8?Q?You're_in!_Welcome_to_GitHub_Sponsors_=F0=9F=92=96?= +Mime-Version: 1.0 +Content-Type: multipart/alternative; + boundary="--==_mimepart_6048d5d429f9_5ca17d41327fe"; + charset=UTF-8 +Content-Transfer-Encoding: 7bit +X-Auto-Response-Suppress: All +X-SF-RX-Return-Path: +X-SF-Originating-IP: 192.30.252.201 +X-SF-Score: 1.2 +X-SF-Alias: alex.kelly@arachnitech.com +X-SF-SRS: Sender address rewritten from to + +X-SF-Domain: ffsuvdhlly + + +----==_mimepart_6048d5d429f9_5ca17d41327fe +Content-Type: text/plain; + charset=UTF-8 +Content-Transfer-Encoding: quoted-printable + +# Welcome to GitHub Sponsors!=0D +=0D +You're just a couple of steps away from receiving your first funds as a s= +ponsored=0D +developer.=0D +=0D +### Step 1: Submit your contact information=0D +=0D +Before you can start filling out your GitHub Sponsors profile, please sub= +mit=0D +your contact information.=0D +=0D +https://github.com/sponsors/kellya/signup=0D +=0D +### Step 2: Create your GitHub Sponsors profile=0D +=0D +After submitting contact details, fill out your profile in your GitHub Sp= +onsors=0D +dashboard.=0D +=0D +https://github.com/sponsors/kellya/dashboard=0D +=0D +Here are some helpful guides:=0D +=0D +- Learn more about setting up your profile:=0D + https://docs.github.com/articles/becoming-a-sponsored-developer#complet= +ing-your-sponsored-developer-profile=0D +=0D +- Check out the Sponsors landing page to see how other developers set up = +their=0D + own profiles:=0D + https://github.com/sponsors=0D +=0D +### Step 3: Get your profile approved=0D +=0D +Once you complete your GitHub Sponsors profile, submit it for identity ve= +rification=0D +and approval by GitHub staff. We'll follow up by email when your profile = +has been approved.=0D +=0D +### Step 4: Get paid=0D +=0D + Once you receive your first sponsorship, you will be paid around the 22= +nd of each month!=0D +=0D +And that's it! Thank you for your contribution to open source =E2=80=94 w= +e're excited to see=0D +all the ways GitHub Sponsors can support you.=0D + +----==_mimepart_6048d5d429f9_5ca17d41327fe +Content-Type: text/html; + charset=UTF-8 +Content-Transfer-Encoding: 7bit + + + + + + +Welcome to GitHub Sponsors! + + + + + + + + + + + +
+
+ + +
+ + + + +
+ + GitHub + +
+
+ +

+ Welcome to GitHub Sponsors! +

+ +

+ You're just a couple of steps away from receiving your first funds as a sponsored developer. +

+ +

+ Step 1: Submit your contact information +

+ +

+ Before you can start filling out your GitHub Sponsors profile, please submit your contact information. +

+ +

+ Step 2: Create your GitHub Sponsors profile +

+ +pending GitHub Sponsors profile + +

+ Fill out your profile in + your GitHub Sponsors dashboard. Here are some helpful guides: +

+ + + +

+ Step 3: Get your profile approved +

+ +

+ Once you complete your GitHub Sponsors profile, submit it for identity verification and approval by GitHub staff. We'll follow up by email when your profile has been approved. +

+ +

+ Step 4: Get paid +

+ +

+ Once you receive your first sponsorship, you will be paid around the 22nd of each month! +

+ +

+ And that's it! Thank you for your contribution to open source — we're excited to see all the ways GitHub Sponsors can support you. +

+ + welcometocat + + +
+ +
+ + + + +----==_mimepart_6048d5d429f9_5ca17d41327fe-- diff --git a/mutt/cache/headers b/mutt/cache/headers new file mode 100644 index 0000000000000000000000000000000000000000..6246f20e71ef82019de7b7e973c2699b26d5935f GIT binary patch literal 136192 zcmeI$zbnLH90%~{dr`VY|+uhk|y1_vdjmMR8vb=D1IWyR}n7ul$ zPp{>Ui`RwXQBp_>#r#RW7~i};*PeEg?w7U4+ICkpw^&XF<|lUdcJ{YcCU5IE!-wgE Gw1GF4xG@X> literal 0 HcmV?d00001 diff --git a/mutt/colors.rc b/mutt/colors.rc new file mode 100644 index 0000000..63a9748 --- /dev/null +++ b/mutt/colors.rc @@ -0,0 +1,5 @@ +color header cyan black subject +color hdrdefault brightwhite black +color quoted brightgreen black +color status black cyan +color indicator default blue diff --git a/mutt/gpg.old b/mutt/gpg.old new file mode 100644 index 0000000..d773c15 --- /dev/null +++ b/mutt/gpg.old @@ -0,0 +1,114 @@ +# -*-muttrc-*- +# +# Command formats for gpg. +# +# Some of the older commented-out versions of the commands use gpg-2comp from: +# http://70t.de/download/gpg-2comp.tar.gz +# +# %p The empty string when no passphrase is needed, +# the string "PGPPASSFD=0" if one is needed. +# +# This is mostly used in conditional % sequences. +# +# %f Most PGP commands operate on a single file or a file +# containing a message. %f expands to this file's name. +# +# %s When verifying signatures, there is another temporary file +# containing the detached signature. %s expands to this +# file's name. +# +# %a In "signing" contexts, this expands to the value of the +# configuration variable $pgp_sign_as, if set, otherwise +# $pgp_default_key. You probably need to +# use this within a conditional % sequence. +# +# %r In many contexts, mutt passes key IDs to pgp. %r expands to +# a list of key IDs. + + +# Section A: Key Management + +# The default key for encryption (used by $pgp_self_encrypt and +# $postpone_encrypt). +# +# It will also be used for signing unless $pgp_sign_as is set to a +# key. +# +# Unless your key does not have encryption capability, uncomment this +# line and replace the keyid with your own. +# +# set pgp_default_key="0x12345678" + +# If you have a separate signing key, or your key _only_ has signing +# capability, uncomment this line and replace the keyid with your +# signing keyid. +# +# set pgp_sign_as="0x87654321" + + +# Section B: Commands + +# Note that we explicitly set the comment armor header since GnuPG, when used +# in some localiaztion environments, generates 8bit data in that header, thereby +# breaking PGP/MIME. + +# decode application/pgp +set pgp_decode_command="gpg --status-fd=2 %?p?--passphrase-fd 0? --no-verbose --quiet --batch --output - %f" + +# verify a pgp/mime signature +set pgp_verify_command="gpg --status-fd=2 --no-verbose --quiet --batch --output - --verify %s %f" + +# decrypt a pgp/mime attachment +set pgp_decrypt_command="gpg --status-fd=2 %?p?--passphrase-fd 0? --no-verbose --quiet --batch --output - %f" + +# create a pgp/mime signed attachment +# set pgp_sign_command="gpg-2comp --comment '' --no-verbose --batch --output - %?p?--passphrase-fd 0? --armor --detach-sign --textmode %?a?-u %a? %f" +set pgp_sign_command="gpg --no-verbose --batch --quiet --output - %?p?--passphrase-fd 0? --armor --detach-sign --textmode %?a?-u %a? %f" + +# create a application/pgp signed (old-style) message +# set pgp_clearsign_command="gpg-2comp --comment '' --no-verbose --batch --output - %?p?--passphrase-fd 0? --armor --textmode --clearsign %?a?-u %a? %f" +set pgp_clearsign_command="gpg --no-verbose --batch --quiet --output - %?p?--passphrase-fd 0? --armor --textmode --clearsign %?a?-u %a? %f" + +# create a pgp/mime encrypted attachment +# set pgp_encrypt_only_command="pgpewrap gpg-2comp -v --batch --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f" +set pgp_encrypt_only_command="pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f" + +# create a pgp/mime encrypted and signed attachment +# set pgp_encrypt_sign_command="pgpewrap gpg-2comp %?p?--passphrase-fd 0? -v --batch --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f" +set pgp_encrypt_sign_command="pgpewrap gpg %?p?--passphrase-fd 0? --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f" + +# import a key into the public key ring +set pgp_import_command="gpg --no-verbose --import %f" + +# export a key from the public key ring +set pgp_export_command="gpg --no-verbose --export --armor %r" + +# verify a key +set pgp_verify_key_command="gpg --verbose --batch --fingerprint --check-sigs %r" + +# read in the public key ring +# note: the second --with-fingerprint adds fingerprints to subkeys +set pgp_list_pubring_command="gpg --no-verbose --batch --quiet --with-colons --with-fingerprint --with-fingerprint --list-keys %r" + +# read in the secret key ring +# note: the second --with-fingerprint adds fingerprints to subkeys +set pgp_list_secring_command="gpg --no-verbose --batch --quiet --with-colons --with-fingerprint --with-fingerprint --list-secret-keys %r" + +# fetch keys +# set pgp_getkeys_command="pkspxycwrap %r" + +# pattern for good signature - may need to be adapted to locale! + +# set pgp_good_sign="^gpgv?: Good signature from " + +# OK, here's a version which uses gnupg's message catalog: +# set pgp_good_sign="`gettext -d gnupg -s 'Good signature from "' | tr -d '"'`" + +# This version uses --status-fd messages +set pgp_good_sign="^\\[GNUPG:\\] GOODSIG" + +# pattern to verify a decryption occurred +# This is now deprecated by pgp_check_gpg_decrypt_status_fd: +# set pgp_decryption_okay="^\\[GNUPG:\\] DECRYPTION_OKAY" +set pgp_check_gpg_decrypt_status_fd + diff --git a/mutt/gpg.rc b/mutt/gpg.rc new file mode 100644 index 0000000..2cac826 --- /dev/null +++ b/mutt/gpg.rc @@ -0,0 +1,12 @@ +set crypt_use_gpgme=yes +set postpone_encrypt = yes +set pgp_self_encrypt = yes +set crypt_use_pka = no +set crypt_autosign = yes +set crypt_autoencrypt = no +set crypt_autopgp = yes +set pgp_sign_as=FE3A66764329CE891E807CD7DC441667D5FCB16F + +send2-hook . unset pgp_sign_as +send2-hook '~f alex.kelly@franklin.edu' set pgp_sign_as=FE3A66764329CE891E807CD7DC441667D5FCB16F +send2-hook '~f kellya@arachnitech.com' set pgp_sign_as=15CD8B0B88DD99E8882B7A90DB2139896E9F21BD diff --git a/mutt/macros.rc b/mutt/macros.rc new file mode 100644 index 0000000..e8de563 --- /dev/null +++ b/mutt/macros.rc @@ -0,0 +1,18 @@ +macro index \ + "unset wait_key~/bin/mutt-notmuch --prompt search -o ~/Maildir/mutt_results~/Maildir/mutt_results" \ + "search mail (using notmuch)" +macro index \ + "unset wait_key~/bin/mutt-notmuch thread~/.cache/Maildir/set wait_key" \ + "search and reconstruct owning thread (using notmuch)" +macro attach A "/home/kellya/projects/public/mutt-filters/vcalendar-filter | /home/kellya/projects/public/khal/misc/mutt2khal" +macro index t "mutt2task" +# 'L' performs a notmuch query, showing only the results +macro index L "unset wait_keyread -p 'notmuch query: ' x; echo \$x >~/.cache/mutt_terms~i \"\`notmuch search --output=messages \$(cat ~/.cache/mutt_terms) | head -n 600 | perl -le '@a=<>;chomp@a;s/\^id:// for@a;$,=\"|\";print@a'\`\"" "show only messages matching a notmuch pattern" +# 'a' shows all messages again (supersedes default binding) +macro index a "all\n" "show all messages (undo limit)" +macro index \\\\ "" # looks up a hand made query +macro index A "+archive -unread -inbox\\n" # tag as Archived +macro index I "-inbox -unread\\n" # removed from inbox +macro index S "-inbox -unread +junk\\n" # tag as Junk mail +macro index + "+*\\n" # tag as starred +macro index - "-*\\n" # tag as unstarred diff --git a/mutt/mailboxes.rc b/mutt/mailboxes.rc new file mode 100644 index 0000000..b5b16b1 --- /dev/null +++ b/mutt/mailboxes.rc @@ -0,0 +1,4 @@ +mailboxes \ + "+arachnitech/INBOX" \ + "+franklin/INBOX" \ + "+franklin/Sent" diff --git a/mutt/muttrc b/mutt/muttrc new file mode 100644 index 0000000..f538b0b --- /dev/null +++ b/mutt/muttrc @@ -0,0 +1,30 @@ +### save and sync my sent messages +#set record=~/Maildir/arachnitech/Sent +set sidebar_visible = yes +## set record="~/Maildir/Sent Mail" +set spoolfile="+franklin/INBOX" +# set header cache +set header_cache=~/Localmail/hcache +set mbox_type=Maildir +set folder=~/Maildir/ +set sort=reverse-date-received +# IMAP and INBOX (this should map to any existing IMAP folders) +folder-hook arachnitech/* source ~/.mutt/accounts/arachnitech +folder-hook franklin/* source ~/.mutt/accounts/franklin +# auto_view text/html +alternative_order text/plain text/enriched text/html +auto_view text/html +auto_view text/calendar + + +set new_mail_command="notify-send --icon='/home/kellya/images/mutt-1.png' \ + 'New Emails' '%n new messages' &" + +#source ~/.mutt/bindings +#source ~/.mutt/mailboxes +#source ~/.mutt/gpg +#source ~/.mutt/macros +#source ~/.mutt/notmuch +source ~/.mutt/sources.sh| +set query_command="khard email -p '%s'" +bind editor complete-query diff --git a/mutt/notmuch.rc b/mutt/notmuch.rc new file mode 100644 index 0000000..7de1889 --- /dev/null +++ b/mutt/notmuch.rc @@ -0,0 +1,2 @@ +set nm_default_url = "notmuch:///home/kellya/Maildir" +virtual-mailboxes "My INBOX" "notmuch://?query=tag:inbox" diff --git a/mutt/sources.sh b/mutt/sources.sh new file mode 100755 index 0000000..cab5a31 --- /dev/null +++ b/mutt/sources.sh @@ -0,0 +1 @@ +cat *.rc From d81ffc1a903fcc84ecaf59dfa19040c60e9235d2 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Mon, 15 Mar 2021 08:48:51 -0400 Subject: [PATCH 046/160] added key bindings for panel nav --- mutt/macros.rc | 3 +++ tmux/tmux.conf | 2 ++ vim/vimrc | 18 +++++++++++++++--- zsh/zshrc | 25 ++++++++++++++++++++++--- 4 files changed, 42 insertions(+), 6 deletions(-) diff --git a/mutt/macros.rc b/mutt/macros.rc index e8de563..a8ca547 100644 --- a/mutt/macros.rc +++ b/mutt/macros.rc @@ -16,3 +16,6 @@ macro index I "-inbox -unread\\n" # removed from macro index S "-inbox -unread +junk\\n" # tag as Junk mail macro index + "+*\\n" # tag as starred macro index - "-*\\n" # tag as unstarred +bind index sidebar-prev # got to previous folder in sidebar +bind index sidebar-next # got to next folder in sidebar +bind index sidebar-open # open selected folder from sidebar diff --git a/tmux/tmux.conf b/tmux/tmux.conf index 694275d..1dc21b2 100644 --- a/tmux/tmux.conf +++ b/tmux/tmux.conf @@ -64,3 +64,5 @@ bind -r L resize-pane -R 5 #set border colors #set -g pane-active-border-fg blue set-option -g pane-active-border-style fg=blue +set -g default-terminal "screen-256color" +set-option -sa terminal-overrides ',XXX:RGB' diff --git a/vim/vimrc b/vim/vimrc index d641149..138fcc1 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -28,32 +28,42 @@ call vundle#begin() " let Vundle manage Vundle, required Plugin 'gmarik/Vundle.vim' +" +" Python Plugins Plugin 'Valloric/YouCompleteMe' Plugin 'vim-syntastic/syntastic' Plugin 'nvie/vim-flake8' Plugin 'python-mode/python-mode' Plugin 'airblade/vim-gitgutter' +" +"general development plugins Plugin 'scrooloose/nerdtree' Plugin 'powerline/powerline', {'rtp': 'powerline/bindings/vim'} Plugin 'flazz/vim-colorschemes' Plugin 'davidhalter/jedi-vim' Plugin 'ervandew/supertab' +Plugin 'ryanoasis/vim-webdevicons' +Plugin 'direnv/direnv.vim' +Plugin 'ActivityWatch/aw-watcher-vim' +" " Bind zonefile stuff Plugin 'seveas/bind.vim' +" " extline extends rst stuff Plugin 'drmikehenry/vim-extline' Plugin 'tpope/vim-surround.git' -Plugin 'ryanoasis/vim-webdevicons' Plugin 'brookhong/DBGPavim' Plugin 'dhruvasagar/vim-table-mode' -Plugin 'nathanielc/vim-tickscript' Plugin 'godlygeek/tabular' Plugin 'plasticboy/vim-markdown' +" Additional languages +Plugin 'nathanielc/vim-tickscript' Plugin 'fatih/vim-go' Plugin 'dbeniamine/cheat.sh-vim' Plugin 'jacqueswww/vim-vyper' -Plugin 'direnv/direnv.vim' Plugin 'tomlion/vim-solidity' +Plugin 'kien/ctrlp.vim' + "let g:deoplete#enable_at_startup = 1 "Plugin 'Shougo/deoplete.nvim' @@ -163,3 +173,5 @@ let g:table_mode_corner_corner='+' let g:table_mode_header_fillchar='=' let g:webdevicons_enable = 1 let g:webdevicons_enable_nerdtree = 1 +set relativenumber +set number diff --git a/zsh/zshrc b/zsh/zshrc index abe4f32..e10261b 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -47,10 +47,10 @@ HIST_STAMPS="yyyy-mm-dd" # Example format: plugins=(rails git textmate ruby lighthouse) # Add wisely, as too many plugins slow down shell startup. # plugins=(git) -plugins=(sudo taskwarrior common-aliases git-flow github keybase vi-mode battery web-search) +plugins=(sudo taskwarrior common-aliases git-flow github keybase vi-mode battery python) # User configuration -export PATH="/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/kellya/bin:/home/kellya/incoming/git-annex.linux:/home/kellya/bin/keybase/bin" +export PATH="/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/kellya/bin:/home/kellya/incoming/git-annex.linux:/home/kellya/bin/keybase/bin:/home/kellya/.local/bin" # export MANPATH="/usr/local/man:$MANPATH" @@ -119,4 +119,23 @@ prompt_git () { # hyperdrive autocomplete setup -HYPERDRIVE_AC_ZSH_SETUP_PATH=/home/kellya/.cache/hyperdrive-daemon/autocomplete/zsh_setup && test -f $HYPERDRIVE_AC_ZSH_SETUP_PATH && source $HYPERDRIVE_AC_ZSH_SETUP_PATH; \ No newline at end of file +HYPERDRIVE_AC_ZSH_SETUP_PATH=/home/kellya/.cache/hyperdrive-daemon/autocomplete/zsh_setup && test -f $HYPERDRIVE_AC_ZSH_SETUP_PATH && source $HYPERDRIVE_AC_ZSH_SETUP_PATH; +alias vi=nvim +alias ashow="litecli --auto-vertical-output /home/kellya/snap/accountable2you/common/storage.db -e \"select * from log;\"" +alias akill="litecli --auto-vertical-output /home/kellya/snap/accountable2you/common/storage.db -e \"delete from log;\"" +fpath+=~/.zfunc +compinit +kitty + complete setup zsh | source /dev/stdin +# +# Enable 'z' tracking for directory speediness +source /usr/libexec/z.sh + +export PATH="$HOME/.poetry/bin:$PATH" + +#function chpwd() { +# if [ -r $PWD/.zsh_config ]; then +# source $PWD/.zsh_config +# else +# source $HOME/.zshrc +# fi +#} From e99291367b1bfdc474a5d6ec71f023378a4c9209 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Mon, 15 Mar 2021 14:23:23 -0400 Subject: [PATCH 047/160] moved all bindings to bindings, cleaned up muttrc comments from old source cmds --- mutt/bindings.rc | 5 +++++ mutt/colors.rc | 4 ++++ mutt/macros.rc | 5 ++--- mutt/muttrc | 14 +++++++------- 4 files changed, 18 insertions(+), 10 deletions(-) diff --git a/mutt/bindings.rc b/mutt/bindings.rc index 20589b3..cbf18d3 100644 --- a/mutt/bindings.rc +++ b/mutt/bindings.rc @@ -1,3 +1,4 @@ +# Rules for handling the sidebar bind index,pager \Cp sidebar-prev # Move the highlight to the next mailbox bind index,pager \Cn sidebar-next @@ -16,3 +17,7 @@ bind index,pager sidebar-prev-new bind index,pager sidebar-next-new # Toggle the visibility of the Sidebar. bind index,pager B sidebar-toggle-visible +# make it so vi keys navigate the index, capital vi keys navigate the sidebar +bind index K sidebar-prev # got to previous folder in sidebar +bind index J sidebar-next # got to next folder in sidebar +bind index sidebar-open # open selected folder from sidebar diff --git a/mutt/colors.rc b/mutt/colors.rc index 63a9748..81ae23f 100644 --- a/mutt/colors.rc +++ b/mutt/colors.rc @@ -1,4 +1,8 @@ +color body brightblue black (https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+ color header cyan black subject +color header yellow black from +color header yellow black cc +color header color244 black to color hdrdefault brightwhite black color quoted brightgreen black color status black cyan diff --git a/mutt/macros.rc b/mutt/macros.rc index a8ca547..604387e 100644 --- a/mutt/macros.rc +++ b/mutt/macros.rc @@ -9,6 +9,7 @@ macro index t "mutt2task" # 'L' performs a notmuch query, showing only the results macro index L "unset wait_keyread -p 'notmuch query: ' x; echo \$x >~/.cache/mutt_terms~i \"\`notmuch search --output=messages \$(cat ~/.cache/mutt_terms) | head -n 600 | perl -le '@a=<>;chomp@a;s/\^id:// for@a;$,=\"|\";print@a'\`\"" "show only messages matching a notmuch pattern" # 'a' shows all messages again (supersedes default binding) +### Nutmuch stuff macro index a "all\n" "show all messages (undo limit)" macro index \\\\ "" # looks up a hand made query macro index A "+archive -unread -inbox\\n" # tag as Archived @@ -16,6 +17,4 @@ macro index I "-inbox -unread\\n" # removed from macro index S "-inbox -unread +junk\\n" # tag as Junk mail macro index + "+*\\n" # tag as starred macro index - "-*\\n" # tag as unstarred -bind index sidebar-prev # got to previous folder in sidebar -bind index sidebar-next # got to next folder in sidebar -bind index sidebar-open # open selected folder from sidebar +#### end notmuch stuff diff --git a/mutt/muttrc b/mutt/muttrc index f538b0b..11d7cab 100644 --- a/mutt/muttrc +++ b/mutt/muttrc @@ -1,4 +1,3 @@ -### save and sync my sent messages #set record=~/Maildir/arachnitech/Sent set sidebar_visible = yes ## set record="~/Maildir/Sent Mail" @@ -16,15 +15,16 @@ alternative_order text/plain text/enriched text/html auto_view text/html auto_view text/calendar - +# Just do what I tell you to, consequences be damned +set confirmappend=yes +set delete=yes +# Show new notification when mail arrives set new_mail_command="notify-send --icon='/home/kellya/images/mutt-1.png' \ 'New Emails' '%n new messages' &" -#source ~/.mutt/bindings -#source ~/.mutt/mailboxes -#source ~/.mutt/gpg -#source ~/.mutt/macros -#source ~/.mutt/notmuch +# Run a script to cat anything that has .rc as the extension to auto source things source ~/.mutt/sources.sh| + +# Addressbook lookup set query_command="khard email -p '%s'" bind editor complete-query From d067202c7086433560269cd9032a421760918bea Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Mon, 15 Mar 2021 15:47:33 -0400 Subject: [PATCH 048/160] Attempting to make the taskwarrior macro work --- mutt/macros.rc | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/mutt/macros.rc b/mutt/macros.rc index 604387e..6ec9f63 100644 --- a/mutt/macros.rc +++ b/mutt/macros.rc @@ -1,20 +1,27 @@ +#index macro index \ "unset wait_key~/bin/mutt-notmuch --prompt search -o ~/Maildir/mutt_results~/Maildir/mutt_results" \ "search mail (using notmuch)" macro index \ "unset wait_key~/bin/mutt-notmuch thread~/.cache/Maildir/set wait_key" \ "search and reconstruct owning thread (using notmuch)" -macro attach A "/home/kellya/projects/public/mutt-filters/vcalendar-filter | /home/kellya/projects/public/khal/misc/mutt2khal" -macro index t "mutt2task" +# macro index t "mutt2task" +macro index t "/home/kellya/projects/arachnitech/mutt2tw/mutt2tw.py"\ +"A" # 'L' performs a notmuch query, showing only the results macro index L "unset wait_keyread -p 'notmuch query: ' x; echo \$x >~/.cache/mutt_terms~i \"\`notmuch search --output=messages \$(cat ~/.cache/mutt_terms) | head -n 600 | perl -le '@a=<>;chomp@a;s/\^id:// for@a;$,=\"|\";print@a'\`\"" "show only messages matching a notmuch pattern" # 'a' shows all messages again (supersedes default binding) ### Nutmuch stuff macro index a "all\n" "show all messages (undo limit)" -macro index \\\\ "" # looks up a hand made query -macro index A "+archive -unread -inbox\\n" # tag as Archived +macro index \\\\ "" # looks up a hand made query macro index I "-inbox -unread\\n" # removed from inbox macro index S "-inbox -unread +junk\\n" # tag as Junk mail macro index + "+*\\n" # tag as starred macro index - "-*\\n" # tag as unstarred #### end notmuch stuff + +#Attachments +macro attach A "/home/kellya/projects/public/mutt-filters/vcalendar-filter | /home/kellya/projects/public/khal/misc/mutt2khal" + +# Archive +macro index A ":set confirmappend=no delete=yes\n=archive\n:set confirmappend=no delete=yes\n+archive -unread -inbox\\n" From 570d75b6ab4ee6b85d37f39de72f773670ffcfdf Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 16 Mar 2021 13:43:00 -0400 Subject: [PATCH 049/160] Added the Archive to the arachnitech account, global wasn't working --- mutt/accounts/arachnitech | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mutt/accounts/arachnitech b/mutt/accounts/arachnitech index d6a500a..a432287 100644 --- a/mutt/accounts/arachnitech +++ b/mutt/accounts/arachnitech @@ -12,3 +12,7 @@ macro index D \ macro index S \ "+arachnitech/Spam" \ "mark message as spam" + +macro index A \ + "+arachnitech/Archive" \ + "Archive message" From eedec0bc32a79f767dc9cf4c1dc90fcb7c241e39 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 16 Mar 2021 13:43:22 -0400 Subject: [PATCH 050/160] Fixed incorrect key for account --- mutt/gpg.rc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mutt/gpg.rc b/mutt/gpg.rc index 2cac826..407401d 100644 --- a/mutt/gpg.rc +++ b/mutt/gpg.rc @@ -5,8 +5,8 @@ set crypt_use_pka = no set crypt_autosign = yes set crypt_autoencrypt = no set crypt_autopgp = yes -set pgp_sign_as=FE3A66764329CE891E807CD7DC441667D5FCB16F +set pgp_sign_as=738CA93A2DAD8D06C991CE4E5495537542CF2D94 send2-hook . unset pgp_sign_as -send2-hook '~f alex.kelly@franklin.edu' set pgp_sign_as=FE3A66764329CE891E807CD7DC441667D5FCB16F +send2-hook '~f alex.kelly@franklin.edu' set pgp_sign_as=738CA93A2DAD8D06C991CE4E5495537542CF2D94 send2-hook '~f kellya@arachnitech.com' set pgp_sign_as=15CD8B0B88DD99E8882B7A90DB2139896E9F21BD From fb36c8dda298f657c75edd8eb12eff26175deb7f Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 16 Mar 2021 13:43:56 -0400 Subject: [PATCH 051/160] Various tweaks --- mutt/macros.rc | 2 +- mutt/mailboxes.rc | 2 ++ mutt/muttrc | 19 +++++++++++++++++-- mutt/notmuch.rc | 4 +++- 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/mutt/macros.rc b/mutt/macros.rc index 6ec9f63..dbcc1ac 100644 --- a/mutt/macros.rc +++ b/mutt/macros.rc @@ -24,4 +24,4 @@ macro index - "-*\\n" # tag as unstar macro attach A "/home/kellya/projects/public/mutt-filters/vcalendar-filter | /home/kellya/projects/public/khal/misc/mutt2khal" # Archive -macro index A ":set confirmappend=no delete=yes\n=archive\n:set confirmappend=no delete=yes\n+archive -unread -inbox\\n" +# macro index A ":set confirmappend=no delete=yes\n=archive\n:set confirmappend=no delete=yes\n+archive -unread -inbox\\n" diff --git a/mutt/mailboxes.rc b/mutt/mailboxes.rc index b5b16b1..786635e 100644 --- a/mutt/mailboxes.rc +++ b/mutt/mailboxes.rc @@ -1,4 +1,6 @@ mailboxes \ "+arachnitech/INBOX" \ + "+arachnitech/Blockchain" \ "+franklin/INBOX" \ + "+franklin/Archive" \ "+franklin/Sent" diff --git a/mutt/muttrc b/mutt/muttrc index 11d7cab..0ec8cec 100644 --- a/mutt/muttrc +++ b/mutt/muttrc @@ -1,5 +1,17 @@ #set record=~/Maildir/arachnitech/Sent set sidebar_visible = yes +set sidebar_short_path # Shorten mailbox names +set sidebar_delim_chars="/" # Delete everything up to the last / character +set sidebar_folder_indent # Indent folders whose names we've shortened +set sidebar_indent_string=" " # Indent with two spaces +color sidebar_new yellow default +color sidebar_indicator default color17 # Dark blue background +color sidebar_highlight white color238 # Grey background +color sidebar_spoolfile yellow default # Yellow +color sidebar_new green default # Green +color sidebar_ordinary default default # Default colors +color sidebar_flagged red default # Red +color sidebar_divider color8 default # Dark grey ## set record="~/Maildir/Sent Mail" set spoolfile="+franklin/INBOX" # set header cache @@ -7,11 +19,14 @@ set header_cache=~/Localmail/hcache set mbox_type=Maildir set folder=~/Maildir/ set sort=reverse-date-received +set pager_stop=yes +set fast_reply +set include=yes # IMAP and INBOX (this should map to any existing IMAP folders) folder-hook arachnitech/* source ~/.mutt/accounts/arachnitech folder-hook franklin/* source ~/.mutt/accounts/franklin # auto_view text/html -alternative_order text/plain text/enriched text/html +#alternative_order text/plain text/enriched text/html auto_view text/html auto_view text/calendar @@ -19,7 +34,7 @@ auto_view text/calendar set confirmappend=yes set delete=yes # Show new notification when mail arrives -set new_mail_command="notify-send --icon='/home/kellya/images/mutt-1.png' \ +set new_mail_command="notify-send -t 2000 --icon='/home/kellya/images/mutt-1.png' -a mutt -c mail \ 'New Emails' '%n new messages' &" # Run a script to cat anything that has .rc as the extension to auto source things diff --git a/mutt/notmuch.rc b/mutt/notmuch.rc index 7de1889..695383d 100644 --- a/mutt/notmuch.rc +++ b/mutt/notmuch.rc @@ -1,2 +1,4 @@ set nm_default_url = "notmuch:///home/kellya/Maildir" -virtual-mailboxes "My INBOX" "notmuch://?query=tag:inbox" +virtual-mailboxes "Universal Inbox" "notmuch://?query=tag:inbox" +virtual-mailboxes "Arachnitech INBOX" "notmuch://?query=tag:inbox&query=to:*arachnitech.com" +virtual-mailboxes "Franklin INBOX" "notmuch://?query=tag:inbox&query=to:*franklin.edu" From 763312bfd9cbdad7c15386c64f14bcf6c4b76a3d Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 16 Mar 2021 14:32:52 -0400 Subject: [PATCH 052/160] need full path in the cat --- mutt/sources.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mutt/sources.sh b/mutt/sources.sh index cab5a31..64440ca 100755 --- a/mutt/sources.sh +++ b/mutt/sources.sh @@ -1 +1 @@ -cat *.rc +cat ~/.mutt/*.rc From 9a118e5e5aa2487c4aba1f60a610ac74c203d4cc Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 16 Mar 2021 15:39:23 -0400 Subject: [PATCH 053/160] Added the "sent" handling --- mutt/accounts/arachnitech | 2 ++ mutt/accounts/franklin | 1 + 2 files changed, 3 insertions(+) diff --git a/mutt/accounts/arachnitech b/mutt/accounts/arachnitech index a432287..2b844de 100644 --- a/mutt/accounts/arachnitech +++ b/mutt/accounts/arachnitech @@ -2,6 +2,8 @@ set from = "kellya@arachnitech.com" set sendmail = "/usr/bin/msmtp -a arachnitech" set mbox = "+arachnitech/archive" set postponed = "+arachnitech/drafts" +set record=+arachnitech/sent + color status green default diff --git a/mutt/accounts/franklin b/mutt/accounts/franklin index be42bb6..bffb27a 100644 --- a/mutt/accounts/franklin +++ b/mutt/accounts/franklin @@ -2,6 +2,7 @@ set from = "alex.kelly@franklin.edu" set sendmail = "/usr/bin/msmtp -a franklin" set mbox = "+franklin/archive" set postponed = "+franklin/drafts" +set record=+franklin/Sent color status cyan default set pgp_default_key = "FE3A66764329CE891E807CD7DC441667D5FCB16F" From a19d3abcc00d962d60a87ca099f1dd77906ca459 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 16 Mar 2021 15:39:57 -0400 Subject: [PATCH 054/160] Changed all the sidebar to named-mailbox to force the formatting I wanted --- mutt/mailboxes.rc | 11 +++++------ mutt/muttrc | 5 +++-- mutt/notmuch.rc | 6 +++--- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/mutt/mailboxes.rc b/mutt/mailboxes.rc index 786635e..83024bc 100644 --- a/mutt/mailboxes.rc +++ b/mutt/mailboxes.rc @@ -1,6 +1,5 @@ -mailboxes \ - "+arachnitech/INBOX" \ - "+arachnitech/Blockchain" \ - "+franklin/INBOX" \ - "+franklin/Archive" \ - "+franklin/Sent" +named-mailboxes "====== Arachnitech ======" "+arachnitech/INBOX" +named-mailboxes " Blockchain" "+arachnitech/Blockchain" +named-mailboxes "======== Franklin =======" "+franklin/INBOX" +named-mailboxes " Archive" "+franklin/Archive" +named-mailboxes " Sent" "+franklin/Sent" diff --git a/mutt/muttrc b/mutt/muttrc index 0ec8cec..d2c5f74 100644 --- a/mutt/muttrc +++ b/mutt/muttrc @@ -2,8 +2,9 @@ set sidebar_visible = yes set sidebar_short_path # Shorten mailbox names set sidebar_delim_chars="/" # Delete everything up to the last / character -set sidebar_folder_indent # Indent folders whose names we've shortened -set sidebar_indent_string=" " # Indent with two spaces +set sidebar_width=27 +#set sidebar_folder_indent # Indent folders whose names we've shortened +#set sidebar_indent_string=" " # Indent with two spaces color sidebar_new yellow default color sidebar_indicator default color17 # Dark blue background color sidebar_highlight white color238 # Grey background diff --git a/mutt/notmuch.rc b/mutt/notmuch.rc index 695383d..0ace8ef 100644 --- a/mutt/notmuch.rc +++ b/mutt/notmuch.rc @@ -1,4 +1,4 @@ set nm_default_url = "notmuch:///home/kellya/Maildir" -virtual-mailboxes "Universal Inbox" "notmuch://?query=tag:inbox" -virtual-mailboxes "Arachnitech INBOX" "notmuch://?query=tag:inbox&query=to:*arachnitech.com" -virtual-mailboxes "Franklin INBOX" "notmuch://?query=tag:inbox&query=to:*franklin.edu" +virtual-mailboxes "======= Not Much =======" "notmuch://?query=tag:inbox" +virtual-mailboxes " Arachnitech INBOX" "notmuch://?query=tag:inbox&query=to:*arachnitech.com" +virtual-mailboxes " Franklin INBOX" "notmuch://?query=tag:inbox&query=to:*franklin.edu" From 39c85a8429388191b87a3ed1be25847878aa2d9a Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Fri, 26 Mar 2021 16:10:47 -0400 Subject: [PATCH 055/160] more account customization --- mutt/colors.rc | 1 + mutt/macros.rc | 9 +++++++-- mutt/mailboxes.rc | 4 ++-- mutt/notmuch.rc | 2 +- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/mutt/colors.rc b/mutt/colors.rc index 81ae23f..32a1d61 100644 --- a/mutt/colors.rc +++ b/mutt/colors.rc @@ -7,3 +7,4 @@ color hdrdefault brightwhite black color quoted brightgreen black color status black cyan color indicator default blue +color progress white red diff --git a/mutt/macros.rc b/mutt/macros.rc index dbcc1ac..3645446 100644 --- a/mutt/macros.rc +++ b/mutt/macros.rc @@ -5,8 +5,8 @@ macro index \ macro index \ "unset wait_key~/bin/mutt-notmuch thread~/.cache/Maildir/set wait_key" \ "search and reconstruct owning thread (using notmuch)" -# macro index t "mutt2task" -macro index t "/home/kellya/projects/arachnitech/mutt2tw/mutt2tw.py"\ +# macro index,browser t "mutt2task" +macro index,browser,pager t "/home/kellya/projects/arachnitech/mutt2tw/mutt2tw.py"\ "A" # 'L' performs a notmuch query, showing only the results macro index L "unset wait_keyread -p 'notmuch query: ' x; echo \$x >~/.cache/mutt_terms~i \"\`notmuch search --output=messages \$(cat ~/.cache/mutt_terms) | head -n 600 | perl -le '@a=<>;chomp@a;s/\^id:// for@a;$,=\"|\";print@a'\`\"" "show only messages matching a notmuch pattern" @@ -25,3 +25,8 @@ macro attach A "/home/kellya/projects/public/mutt-filters/vcalenda # Archive # macro index A ":set confirmappend=no delete=yes\n=archive\n:set confirmappend=no delete=yes\n+archive -unread -inbox\\n" +bind index,browser,pager . noop +macro index .cp 'source ~/.mutt/accounts/arachnitech~/Maildir/arachnitech/INBOX/' +macro index .cc 'source ~/.mutt/accounts/franklin~/Maildir/franklin/INBOX/' +#macro pager .ob 'urlview' 'Follow links with urlview' +macro index,pager .ob " urlscan" "call urlscan to extract URLs out of a message" diff --git a/mutt/mailboxes.rc b/mutt/mailboxes.rc index 83024bc..56b5d5d 100644 --- a/mutt/mailboxes.rc +++ b/mutt/mailboxes.rc @@ -1,5 +1,5 @@ -named-mailboxes "====== Arachnitech ======" "+arachnitech/INBOX" +named-mailboxes "━━━━━┫ Arachnitech ┣━━━━━" "+arachnitech/INBOX" named-mailboxes " Blockchain" "+arachnitech/Blockchain" -named-mailboxes "======== Franklin =======" "+franklin/INBOX" +named-mailboxes "━━━━━┫ Franklin ┣━━━━━" "+franklin/INBOX" named-mailboxes " Archive" "+franklin/Archive" named-mailboxes " Sent" "+franklin/Sent" diff --git a/mutt/notmuch.rc b/mutt/notmuch.rc index 0ace8ef..2817f5c 100644 --- a/mutt/notmuch.rc +++ b/mutt/notmuch.rc @@ -1,4 +1,4 @@ set nm_default_url = "notmuch:///home/kellya/Maildir" -virtual-mailboxes "======= Not Much =======" "notmuch://?query=tag:inbox" +virtual-mailboxes "━━━━━┫ Not Much ┣━━━━━" "notmuch://?query=tag:inbox" virtual-mailboxes " Arachnitech INBOX" "notmuch://?query=tag:inbox&query=to:*arachnitech.com" virtual-mailboxes " Franklin INBOX" "notmuch://?query=tag:inbox&query=to:*franklin.edu" From ef1fdfeb61f49d40c7e10aafa6934f7da3e17fb3 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Fri, 26 Mar 2021 16:11:36 -0400 Subject: [PATCH 056/160] Added fzf config --- zsh/zshrc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/zsh/zshrc b/zsh/zshrc index e10261b..b36442b 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -47,7 +47,7 @@ HIST_STAMPS="yyyy-mm-dd" # Example format: plugins=(rails git textmate ruby lighthouse) # Add wisely, as too many plugins slow down shell startup. # plugins=(git) -plugins=(sudo taskwarrior common-aliases git-flow github keybase vi-mode battery python) +plugins=(sudo taskwarrior common-aliases git-flow github keybase vi-mode fzf python) # User configuration export PATH="/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/kellya/bin:/home/kellya/incoming/git-annex.linux:/home/kellya/bin/keybase/bin:/home/kellya/.local/bin" @@ -139,3 +139,11 @@ export PATH="$HOME/.poetry/bin:$PATH" # source $HOME/.zshrc # fi #} + +# +#FZF stuff +source /usr/share/fzf/shell/key-bindings.zsh +source ~/.oh-my-zsh/completions/fzf_completion +export FZF_DEFAULT_OPTS="--extended" +export FZF_DEFAULT_COMMAND="fd --type f" +export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" From 5535d2cd44886c9e9c0de1f4a8090cefb6a34466 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Mon, 29 Mar 2021 08:36:20 -0400 Subject: [PATCH 057/160] Added zsh-vi-mode --- zsh/zshrc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/zsh/zshrc b/zsh/zshrc index b36442b..05a6cb4 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -48,6 +48,7 @@ HIST_STAMPS="yyyy-mm-dd" # Add wisely, as too many plugins slow down shell startup. # plugins=(git) plugins=(sudo taskwarrior common-aliases git-flow github keybase vi-mode fzf python) +###plugins+=(zsh-vi-mode) # User configuration export PATH="/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/kellya/bin:/home/kellya/incoming/git-annex.linux:/home/kellya/bin/keybase/bin:/home/kellya/.local/bin" @@ -142,8 +143,9 @@ export PATH="$HOME/.poetry/bin:$PATH" # #FZF stuff -source /usr/share/fzf/shell/key-bindings.zsh -source ~/.oh-my-zsh/completions/fzf_completion +#source /usr/share/fzf/shell/key-bindings.zsh +#source ~/.oh-my-zsh/completions/fzf_completion export FZF_DEFAULT_OPTS="--extended" export FZF_DEFAULT_COMMAND="fd --type f" export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" +zvm_after_init_commands+=('[ -f /usr/share/fzf/shell/key-bindings.zsh ] && source ~/.oh-my-zsh/completions/fzf_completion') From 04455d37460443fafd8f073fb5ea00ea12d8fe56 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Mon, 29 Mar 2021 09:44:38 -0400 Subject: [PATCH 058/160] zvm customization --- zsh/zshrc | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/zsh/zshrc b/zsh/zshrc index 05a6cb4..40d9ed9 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -48,7 +48,7 @@ HIST_STAMPS="yyyy-mm-dd" # Add wisely, as too many plugins slow down shell startup. # plugins=(git) plugins=(sudo taskwarrior common-aliases git-flow github keybase vi-mode fzf python) -###plugins+=(zsh-vi-mode) +plugins+=(zsh-vi-mode) # User configuration export PATH="/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/kellya/bin:/home/kellya/incoming/git-annex.linux:/home/kellya/bin/keybase/bin:/home/kellya/.local/bin" @@ -124,6 +124,7 @@ HYPERDRIVE_AC_ZSH_SETUP_PATH=/home/kellya/.cache/hyperdrive-daemon/autocomplete/ alias vi=nvim alias ashow="litecli --auto-vertical-output /home/kellya/snap/accountable2you/common/storage.db -e \"select * from log;\"" alias akill="litecli --auto-vertical-output /home/kellya/snap/accountable2you/common/storage.db -e \"delete from log;\"" +alias mutt="neomutt" fpath+=~/.zfunc compinit kitty + complete setup zsh | source /dev/stdin @@ -144,8 +145,16 @@ export PATH="$HOME/.poetry/bin:$PATH" # #FZF stuff #source /usr/share/fzf/shell/key-bindings.zsh -#source ~/.oh-my-zsh/completions/fzf_completion +zvm_after_init_commands+=('[ -f /usr/share/fzf/shell/key-bindings.zsh ] && source /usr/share/fzf/shell/key-bindings.zsh') +source ~/.oh-my-zsh/completions/fzf_completion export FZF_DEFAULT_OPTS="--extended" export FZF_DEFAULT_COMMAND="fd --type f" export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" -zvm_after_init_commands+=('[ -f /usr/share/fzf/shell/key-bindings.zsh ] && source ~/.oh-my-zsh/completions/fzf_completion') + +#ZVM customizations +# Cursors seem backwards, swap 'em +ZVM_INSERT_MODE_CURSOR=$ZVM_CURSOR_BLOCK +ZVM_NORMAL_MODE_CURSOR=$ZVM_CURSOR_BEAM +ZVM_OPPEND_MODE_CURSOR=$ZVM_CURSOR_UNDERLINE +# defaults to last, make each line always insert +ZVM_LINE_INIT_MODE=$ZVM_MODE_INSERT From 7df5062178ee1780589202b0c9c56777287c4045 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 18 May 2021 12:54:20 -0400 Subject: [PATCH 059/160] Fixed missing spaceduck activation for vim --- nvim/init.vim | 209 ++++++++++++++++++++++++++++++++++++++++++++++++++ vim/vimrc | 4 +- zsh/zshrc | 15 ++-- 3 files changed, 220 insertions(+), 8 deletions(-) create mode 100644 nvim/init.vim diff --git a/nvim/init.vim b/nvim/init.vim new file mode 100644 index 0000000..8e40bf5 --- /dev/null +++ b/nvim/init.vim @@ -0,0 +1,209 @@ +let g:plugged_home = '~/.vim/plugged' + +call plug#begin(g:plugged_home) + " UI related + Plug 'chriskempson/base16-vim' + Plug 'vim-airline/vim-airline' + Plug 'vim-airline/vim-airline-themes' + " Better Visual Guide + Plug 'Yggdroot/indentLine' + " syntax check + Plug 'w0rp/ale' + " Autocomplete + Plug 'ncm2/ncm2' + Plug 'roxma/nvim-yarp' + Plug 'ncm2/ncm2-bufword' + Plug 'ncm2/ncm2-path' + Plug 'ncm2/ncm2-jedi' + " Formater + Plug 'Chiel92/vim-autoformat' + " Theme + Plug 'pineapplegiant/spaceduck', { 'branch': 'main' } + " Python Plugins + Plug 'Valloric/YouCompleteMe' + Plug 'vim-syntastic/syntastic' + Plug 'nvie/vim-flake8' + Plug 'python-mode/python-mode' + Plug 'airblade/vim-gitgutter' + " + "general development plugins + Plug 'scrooloose/nerdtree' + Plug 'flazz/vim-colorschemes' + Plug 'davidhalter/jedi-vim' + Plug 'ervandew/supertab' + Plug 'ryanoasis/vim-webdevicons' + Plug 'direnv/direnv.vim' + Plug 'sheerun/vim-polyglot' + " This was fun and all, but getting data out sucked, so if they ever get an + " update, maybe try again + "Plugin 'ActivityWatch/aw-watcher-vim' + " + " Bind zonefile stuff + Plug 'seveas/bind.vim' + " + " extline extends rst stuff + Plug 'drmikehenry/vim-extline' + Plug 'brookhong/DBGPavim' + Plug 'dhruvasagar/vim-table-mode' + Plug 'godlygeek/tabular' + Plug 'plasticboy/vim-markdown' + " Additional languages + Plug 'nathanielc/vim-tickscript' + Plug 'fatih/vim-go' + Plug 'dbeniamine/cheat.sh-vim' + Plug 'jacqueswww/vim-vyper' + Plug 'tomlion/vim-solidity' +call plug#end() + +filetype plugin indent on +" Set colors for spaceduck +if exists('+termguicolors') + let &t_8f = "\[38;2;%lu;%lu;%lum" + let &t_8b = "\[48;2;%lu;%lu;%lum" + set termguicolors +endif +let g:airline_theme = 'spaceduck' +if exists('+termguicolors') + let &t_8f = "\[38;2;%lu;%lu;%lum" + let &t_8b = "\[48;2;%lu;%lu;%lum" + set termguicolors + endif + + colorscheme spaceduck + +" set the number style to hybrid +set number relativenumber + + +" READ FROM .vimrc + +set nocompatible " required +set splitright +filetype off " required +" Handy hack to force a write using sudo when you forget to 'sudo vi' +cmap w!! w !sudo tee > /dev/null % + +set pastetoggle= + +set incsearch +set encoding=utf-8 +set wrap +set linebreak +set nolist + +" Attempt to fix python/python3 issue +" To run py2 stuff, you can force with "vim --cmd 'let py2 = 1' +"if exists('py2') && has('python') +"elseif has('python3') +if !has('patch-8.1.201') + silent! python3 1 +endif + +"let g:deoplete#enable_at_startup = 1 +"Plugin 'Shougo/deoplete.nvim' + +" Add all your plugins here (note older versions of Vundle used Bundle instead +" of Plugin) + +" All of your Plugins must be added before the following line +filetype plugin indent on " required +"Powerline setup +"set guifont=PowerLineSymbols\ DejaVu\ Sans\ Mono\ for\ Powerline\ 9 +" set guifont=DejaVu\ Sans\ Mono\ for\ Powerline\ Plus\ Nerd\ File\ Types\ 9 +set guifont=Sauce\ Code\ Powerline\ Plus\ Nerd\ File\ Types\ 9 +" set guifont=Anonymous\ Pro\ for\ Powerline\ Regular/9 +let g:Powerline_symbols = 'fancy' +let g:airline_powerline_fonts = 1 +set laststatus=2 + +"NerdTree map to +map :NERDTreeToggle + +"colorscheme jellybeans + +"Make python-friendly tabs +set tabstop=4 +set shiftwidth=4 +set smarttab +set softtabstop=4 +set autoindent +set expandtab +"let &colorcolumn="80,".join(range(81,999),",") + +augroup vimrc_autocmds + autocmd! + "highlight characters past col 80 + autocmd FileType python highlight Excess ctermbg=DarkGrey guibg=Black + autocmd FileType python match Excess /\%80v.*/ + autocmd FileType python set nowrap +" autocmd FileType rst set textwidth=80 + autocmd FileType markdown set textwidth=80 +augroup END + +set mouse=a + +" python-mode settings +" Python-mode +" Activate rope +" Keys: +" K Show python docs +" Rope autocomplete +" g Rope goto definition +" d Rope show documentation +" f Rope find occurrences +" b Set, unset breakpoint (g:pymode_breakpoint enabled) +" [[ Jump on previous class or function (normal, visual, operator +" modes) +" ]] Jump on next class or function (normal, visual, operator +" modes) +" [M Jump on previous class or method (normal, visual, operator +" modes) +" ]M Jump on next class or method (normal, visual, operator +" modes) +let g:pymode_rope = 0 + +" Documentation +let g:pymode_doc = 1 +let g:pymode_doc_key = 'K' + +"Linting +let g:pymode_lint = 1 +"let g:pymode_lint_checker = "pyflakes,pep8" +let g:pymode_lint_checker = "flake8,pep8" +" Auto check on save +let g:pymode_lint_write = 1 + +" Support virtualenv +let g:pymode_virtualenv = 1 + +" Enable breakpoints plugin + let g:pymode_breakpoint = 1 + let g:pymode_breakpoint_key = 'b' + +" syntax highlighting +let g:pymode_syntax = 1 +let g:pymode_syntax_all = 1 +let g:pymode_syntax_indent_errors = g:pymode_syntax_all +let g:pymode_syntax_space_errors = g:pymode_syntax_all + +" Don't autofold code +let g:pymode_folding = 0 +let g:riv_fold_level = 0 +let g:riv_fold_auto_update = 0 +nnoremap za + +let g:dbgPavimPort = 9000 +let g:dbgPavimBreakAtEntry = 0 +let g:dbgPavimOnce = 1 + +let python_highlight_all=1 +syntax on + +let g:pymode_python = 'python3' + +" For table mode RST friendliness +let g:table_mode_corner_corner='+' +let g:table_mode_header_fillchar='=' +let g:webdevicons_enable = 1 +let g:webdevicons_enable_nerdtree = 1 +autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtab diff --git a/vim/vimrc b/vim/vimrc index 138fcc1..b77e714 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -44,7 +44,9 @@ Plugin 'davidhalter/jedi-vim' Plugin 'ervandew/supertab' Plugin 'ryanoasis/vim-webdevicons' Plugin 'direnv/direnv.vim' -Plugin 'ActivityWatch/aw-watcher-vim' +" This was fun and all, but getting data out sucked, so if they ever get an +" update, maybe try again +"Plugin 'ActivityWatch/aw-watcher-vim' " " Bind zonefile stuff Plugin 'seveas/bind.vim' diff --git a/zsh/zshrc b/zsh/zshrc index 40d9ed9..adacfc1 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -47,11 +47,12 @@ HIST_STAMPS="yyyy-mm-dd" # Example format: plugins=(rails git textmate ruby lighthouse) # Add wisely, as too many plugins slow down shell startup. # plugins=(git) -plugins=(sudo taskwarrior common-aliases git-flow github keybase vi-mode fzf python) -plugins+=(zsh-vi-mode) +plugins=(sudo taskwarrior common-aliases git-flow github vi-mode fzf python) +#plugins+=(zsh-vi-mode) +plugins+=(fzf-tab) # User configuration -export PATH="/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/kellya/bin:/home/kellya/incoming/git-annex.linux:/home/kellya/bin/keybase/bin:/home/kellya/.local/bin" +export PATH="/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/kellya/bin:/home/kellya/incoming/git-annex.linux:/home/kellya/bin/keybase/bin:/home/kellya/.local/bin:/home/kellya/.cargo/bin" # export MANPATH="/usr/local/man:$MANPATH" @@ -86,7 +87,7 @@ alias atnone="task context none;" alias icat="kitty +kitten icat" alias d="kitty +kitten diff" #eval "$(ntfy shell-integration)" -source /usr/share/gems/gems/tmuxinator-0.6.11/completion/tmuxinator.zsh +#source /usr/share/gems/gems/tmuxinator-0.6.11/completion/tmuxinator.zsh source ~/.private_aliases source /usr/bin/virtualenvwrapper.sh @@ -101,7 +102,7 @@ alias ipython='ipython --no-confirm-exit' #Variable Exports export EDITOR='vim' export PATH="$PATH:/home/kellya/go/bin" -export WORKON_HOME=/mnt/vdisks/projects/python_virtualenvs +#export WORKON_HOME=/mnt/vdisks/projects/python_virtualenvs export LPASS_AGENT_TIMEOUT=0 export PATH="/usr/local/heroku/bin:$PATH" @@ -111,7 +112,7 @@ for f (~/.functions/**/*(N.)) . $f #This didn't work, but I'll leave it here in case someday it does #export AGNOSTER_PROMPT_SEGMENTS=("prompt_status" "prompt_context" "prompt_virtualenv" "prompt_dir" "prompt_end") -cat /home/kellya/.local/share/franklinlogo.txt +#cat /home/kellya/.local/share/franklinlogo.txt #Stop the annoying git prompt prompt_git () { @@ -146,7 +147,7 @@ export PATH="$HOME/.poetry/bin:$PATH" #FZF stuff #source /usr/share/fzf/shell/key-bindings.zsh zvm_after_init_commands+=('[ -f /usr/share/fzf/shell/key-bindings.zsh ] && source /usr/share/fzf/shell/key-bindings.zsh') -source ~/.oh-my-zsh/completions/fzf_completion +#source ~/.oh-my-zsh/completions/fzf_completion export FZF_DEFAULT_OPTS="--extended" export FZF_DEFAULT_COMMAND="fd --type f" export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" From 16e1ab5b9cc5b35b39a6628a1eba19f5105e9482 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 1 Jun 2021 13:54:14 -0400 Subject: [PATCH 060/160] Initial checkin --- dot_config/kitty/kitty.conf | 1336 +++++++++++++++++ dot_config/nvim/init.vim | 212 +++ dot_direnvrc | 9 + dot_muttrc | 48 + dot_offlineimaprc | 45 + dot_taskrc | 108 ++ dot_tmux.conf | 98 ++ dot_vimrc | 179 +++ dot_zshrc | 161 ++ private_dot_mutt/accounts/arachnitech | 20 + private_dot_mutt/accounts/franklin | 20 + private_dot_mutt/bindings.rc | 23 + private_dot_mutt/colors.rc | 10 + private_dot_mutt/executable_sources.sh | 1 + private_dot_mutt/gpg.old | 114 ++ private_dot_mutt/gpg.rc | 12 + private_dot_mutt/macros.rc | 32 + private_dot_mutt/mailboxes.rc | 5 + private_dot_mutt/muttrc | 48 + private_dot_mutt/notmuch.rc | 4 + .../private_INBOX/private_1570538954-12920 | 264 ++++ .../private_cache/private_headers | Bin 0 -> 136192 bytes private_dot_mutt/vimrc | 3 + 23 files changed, 2752 insertions(+) create mode 100644 dot_config/kitty/kitty.conf create mode 100644 dot_config/nvim/init.vim create mode 100644 dot_direnvrc create mode 100644 dot_muttrc create mode 100644 dot_offlineimaprc create mode 100644 dot_taskrc create mode 100644 dot_tmux.conf create mode 100644 dot_vimrc create mode 100644 dot_zshrc create mode 100644 private_dot_mutt/accounts/arachnitech create mode 100644 private_dot_mutt/accounts/franklin create mode 100644 private_dot_mutt/bindings.rc create mode 100644 private_dot_mutt/colors.rc create mode 100644 private_dot_mutt/executable_sources.sh create mode 100644 private_dot_mutt/gpg.old create mode 100644 private_dot_mutt/gpg.rc create mode 100644 private_dot_mutt/macros.rc create mode 100644 private_dot_mutt/mailboxes.rc create mode 100644 private_dot_mutt/muttrc create mode 100644 private_dot_mutt/notmuch.rc create mode 100644 private_dot_mutt/private_cache/private_bodies/private_imap:kellya@192.168.0.125:143/private_INBOX/private_1570538954-12920 create mode 100644 private_dot_mutt/private_cache/private_headers create mode 100644 private_dot_mutt/vimrc diff --git a/dot_config/kitty/kitty.conf b/dot_config/kitty/kitty.conf new file mode 100644 index 0000000..9355fd1 --- /dev/null +++ b/dot_config/kitty/kitty.conf @@ -0,0 +1,1336 @@ +# vim:fileencoding=utf-8:ft=conf:foldmethod=marker + +#: Fonts {{{ + +#: kitty has very powerful font management. You can configure +#: individual font faces and even specify special fonts for particular +#: characters. + +font_family Hasklig +bold_font auto +italic_font auto +bold_italic_font auto + +#: You can specify different fonts for the bold/italic/bold-italic +#: variants. To get a full list of supported fonts use the `kitty +#: list-fonts` command. By default they are derived automatically, by +#: the OSes font system. Setting them manually is useful for font +#: families that have many weight variants like Book, Medium, Thick, +#: etc. For example:: + +#: font_family Operator Mono Book +#: bold_font Operator Mono Medium +#: italic_font Operator Mono Book Italic +#: bold_italic_font Operator Mono Medium Italic + +font_size 11.0 + +#: Font size (in pts) + +force_ltr no + +#: kitty does not support BIDI (bidirectional text), however, for RTL +#: scripts, words are automatically displayed in RTL. That is to say, +#: in an RTL script, the words "HELLO WORLD" display in kitty as +#: "WORLD HELLO", and if you try to select a substring of an RTL- +#: shaped string, you will get the character that would be there had +#: the the string been LTR. For example, assuming the Hebrew word +#: ירושלים, selecting the character that on the screen appears to be ם +#: actually writes into the selection buffer the character י. + +#: kitty's default behavior is useful in conjunction with a filter to +#: reverse the word order, however, if you wish to manipulate RTL +#: glyphs, it can be very challenging to work with, so this option is +#: provided to turn it off. Furthermore, this option can be used with +#: the command line program GNU FriBidi +#: to get BIDI +#: support, because it will force kitty to always treat the text as +#: LTR, which FriBidi expects for terminals. + +adjust_line_height 0 +adjust_column_width 0 + +#: Change the size of each character cell kitty renders. You can use +#: either numbers, which are interpreted as pixels or percentages +#: (number followed by %), which are interpreted as percentages of the +#: unmodified values. You can use negative pixels or percentages less +#: than 100% to reduce sizes (but this might cause rendering +#: artifacts). + +# symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 PowerlineSymbols + +#: Map the specified unicode codepoints to a particular font. Useful +#: if you need special rendering for some symbols, such as for +#: Powerline. Avoids the need for patched fonts. Each unicode code +#: point is specified in the form U+. You +#: can specify multiple code points, separated by commas and ranges +#: separated by hyphens. symbol_map itself can be specified multiple +#: times. Syntax is:: + +#: symbol_map codepoints Font Family Name + +disable_ligatures never + +#: Choose how you want to handle multi-character ligatures. The +#: default is to always render them. You can tell kitty to not render +#: them when the cursor is over them by using cursor to make editing +#: easier, or have kitty never render them at all by using always, if +#: you don't like them. The ligature strategy can be set per-window +#: either using the kitty remote control facility or by defining +#: shortcuts for it in kitty.conf, for example:: + +#: map alt+1 disable_ligatures_in active always +#: map alt+2 disable_ligatures_in all never +#: map alt+3 disable_ligatures_in tab cursor + +#: Note that this refers to programming ligatures, typically +#: implemented using the calt OpenType feature. For disabling general +#: ligatures, use the font_features setting. + +font_features none + +#: Choose exactly which OpenType features to enable or disable. This +#: is useful as some fonts might have features worthwhile in a +#: terminal. For example, Fira Code Retina includes a discretionary +#: feature, zero, which in that font changes the appearance of the +#: zero (0), to make it more easily distinguishable from Ø. Fira Code +#: Retina also includes other discretionary features known as +#: Stylistic Sets which have the tags ss01 through ss20. + +#: Note that this code is indexed by PostScript name, and not the font +#: family. This allows you to define very precise feature settings; +#: e.g. you can disable a feature in the italic font but not in the +#: regular font. + +#: On Linux, these are read from the FontConfig database first and +#: then this, setting is applied, so they can be configured in a +#: single, central place. + +#: To get the PostScript name for a font, use kitty + list-fonts +#: --psnames: + +#: .. code-block:: sh + +#: $ kitty + list-fonts --psnames | grep Fira +#: Fira Code +#: Fira Code Bold (FiraCode-Bold) +#: Fira Code Light (FiraCode-Light) +#: Fira Code Medium (FiraCode-Medium) +#: Fira Code Regular (FiraCode-Regular) +#: Fira Code Retina (FiraCode-Retina) + +#: The part in brackets is the PostScript name. + +#: Enable alternate zero and oldstyle numerals:: + +#: font_features FiraCode-Retina +zero +onum + +#: Enable only alternate zero:: + +#: font_features FiraCode-Retina +zero + +#: Disable the normal ligatures, but keep the calt feature which (in +#: this font) breaks up monotony:: + +#: font_features TT2020StyleB-Regular -liga +calt + +#: In conjunction with force_ltr, you may want to disable Arabic +#: shaping entirely, and only look at their isolated forms if they +#: show up in a document. You can do this with e.g.:: + +#: font_features UnifontMedium +isol -medi -fina -init + +box_drawing_scale 0.001, 1, 1.5, 2 + +#: Change the sizes of the lines used for the box drawing unicode +#: characters These values are in pts. They will be scaled by the +#: monitor DPI to arrive at a pixel value. There must be four values +#: corresponding to thin, normal, thick, and very thick lines. + +#: }}} + +#: Cursor customization {{{ + +cursor #cccccc + +#: Default cursor color + +cursor_text_color #111111 + +#: Choose the color of text under the cursor. If you want it rendered +#: with the background color of the cell underneath instead, use the +#: special keyword: background + +cursor_shape block + +#: The cursor shape can be one of (block, beam, underline) + +cursor_beam_thickness 1.5 + +#: Defines the thickness of the beam cursor (in pts) + +cursor_underline_thickness 2.0 + +#: Defines the thickness of the underline cursor (in pts) + +cursor_blink_interval -1 + +#: The interval (in seconds) at which to blink the cursor. Set to zero +#: to disable blinking. Negative values mean use system default. Note +#: that numbers smaller than repaint_delay will be limited to +#: repaint_delay. + +cursor_stop_blinking_after 15.0 + +#: Stop blinking cursor after the specified number of seconds of +#: keyboard inactivity. Set to zero to never stop blinking. + +#: }}} + +#: Scrollback {{{ + +scrollback_lines 2000 + +#: Number of lines of history to keep in memory for scrolling back. +#: Memory is allocated on demand. Negative numbers are (effectively) +#: infinite scrollback. Note that using very large scrollback is not +#: recommended as it can slow down performance of the terminal and +#: also use large amounts of RAM. Instead, consider using +#: scrollback_pager_history_size. + +scrollback_pager less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER + +#: Program with which to view scrollback in a new window. The +#: scrollback buffer is passed as STDIN to this program. If you change +#: it, make sure the program you use can handle ANSI escape sequences +#: for colors and text formatting. INPUT_LINE_NUMBER in the command +#: line above will be replaced by an integer representing which line +#: should be at the top of the screen. Similarly CURSOR_LINE and +#: CURSOR_COLUMN will be replaced by the current cursor position. + +scrollback_pager_history_size 0 + +#: Separate scrollback history size, used only for browsing the +#: scrollback buffer (in MB). This separate buffer is not available +#: for interactive scrolling but will be piped to the pager program +#: when viewing scrollback buffer in a separate window. The current +#: implementation stores the data in UTF-8, so approximatively 10000 +#: lines per megabyte at 100 chars per line, for pure ASCII text, +#: unformatted text. A value of zero or less disables this feature. +#: The maximum allowed size is 4GB. + +scrollback_fill_enlarged_window no + +#: Fill new space with lines from the scrollback buffer after +#: enlarging a window. + +wheel_scroll_multiplier 5.0 + +#: Modify the amount scrolled by the mouse wheel. Note this is only +#: used for low precision scrolling devices, not for high precision +#: scrolling on platforms such as macOS and Wayland. Use negative +#: numbers to change scroll direction. + +touch_scroll_multiplier 1.0 + +#: Modify the amount scrolled by a touchpad. Note this is only used +#: for high precision scrolling devices on platforms such as macOS and +#: Wayland. Use negative numbers to change scroll direction. + +#: }}} + +#: Mouse {{{ + +mouse_hide_wait 3.0 + +#: Hide mouse cursor after the specified number of seconds of the +#: mouse not being used. Set to zero to disable mouse cursor hiding. +#: Set to a negative value to hide the mouse cursor immediately when +#: typing text. Disabled by default on macOS as getting it to work +#: robustly with the ever-changing sea of bugs that is Cocoa is too +#: much effort. + +url_color #0087bd +url_style curly + +#: The color and style for highlighting URLs on mouse-over. url_style +#: can be one of: none, single, double, curly + +open_url_modifiers kitty_mod + +#: The modifier keys to press when clicking with the mouse on URLs to +#: open the URL + +open_url_with default + +#: The program with which to open URLs that are clicked on. The +#: special value default means to use the operating system's default +#: URL handler. + +url_prefixes http https file ftp gemini irc gopher mailto news git + +#: The set of URL prefixes to look for when detecting a URL under the +#: mouse cursor. + +detect_urls yes + +#: Detect URLs under the mouse. Detected URLs are highlighted with an +#: underline and the mouse cursor becomes a hand over them. Even if +#: this option is disabled, URLs are still clickable. + +copy_on_select no + +#: Copy to clipboard or a private buffer on select. With this set to +#: clipboard, simply selecting text with the mouse will cause the text +#: to be copied to clipboard. Useful on platforms such as macOS that +#: do not have the concept of primary selections. You can instead +#: specify a name such as a1 to copy to a private kitty buffer +#: instead. Map a shortcut with the paste_from_buffer action to paste +#: from this private buffer. For example:: + +#: map cmd+shift+v paste_from_buffer a1 + +#: Note that copying to the clipboard is a security risk, as all +#: programs, including websites open in your browser can read the +#: contents of the system clipboard. + +strip_trailing_spaces never + +#: Remove spaces at the end of lines when copying to clipboard. A +#: value of smart will do it when using normal selections, but not +#: rectangle selections. always will always do it. + +rectangle_select_modifiers ctrl+alt + +#: The modifiers to use rectangular selection (i.e. to select text in +#: a rectangular block with the mouse) + +terminal_select_modifiers shift + +#: The modifiers to override mouse selection even when a terminal +#: application has grabbed the mouse + +select_by_word_characters @-./_~?&=%+# + +#: Characters considered part of a word when double clicking. In +#: addition to these characters any character that is marked as an +#: alphanumeric character in the unicode database will be matched. + +click_interval -1.0 + +#: The interval between successive clicks to detect double/triple +#: clicks (in seconds). Negative numbers will use the system default +#: instead, if available, or fallback to 0.5. + +focus_follows_mouse no + +#: Set the active window to the window under the mouse when moving the +#: mouse around + +pointer_shape_when_grabbed arrow + +#: The shape of the mouse pointer when the program running in the +#: terminal grabs the mouse. Valid values are: arrow, beam and hand + +default_pointer_shape beam + +#: The default shape of the mouse pointer. Valid values are: arrow, +#: beam and hand + +pointer_shape_when_dragging beam + +#: The default shape of the mouse pointer when dragging across text. +#: Valid values are: arrow, beam and hand + +#: }}} + +#: Performance tuning {{{ + +repaint_delay 10 + +#: Delay (in milliseconds) between screen updates. Decreasing it, +#: increases frames-per-second (FPS) at the cost of more CPU usage. +#: The default value yields ~100 FPS which is more than sufficient for +#: most uses. Note that to actually achieve 100 FPS you have to either +#: set sync_to_monitor to no or use a monitor with a high refresh +#: rate. Also, to minimize latency when there is pending input to be +#: processed, repaint_delay is ignored. + +input_delay 3 + +#: Delay (in milliseconds) before input from the program running in +#: the terminal is processed. Note that decreasing it will increase +#: responsiveness, but also increase CPU usage and might cause flicker +#: in full screen programs that redraw the entire screen on each loop, +#: because kitty is so fast that partial screen updates will be drawn. + +sync_to_monitor yes + +#: Sync screen updates to the refresh rate of the monitor. This +#: prevents tearing (https://en.wikipedia.org/wiki/Screen_tearing) +#: when scrolling. However, it limits the rendering speed to the +#: refresh rate of your monitor. With a very high speed mouse/high +#: keyboard repeat rate, you may notice some slight input latency. If +#: so, set this to no. + +#: }}} + +#: Terminal bell {{{ + +enable_audio_bell yes + +#: Enable/disable the audio bell. Useful in environments that require +#: silence. + +visual_bell_duration 0.0 + +#: Visual bell duration. Flash the screen when a bell occurs for the +#: specified number of seconds. Set to zero to disable. + +window_alert_on_bell yes + +#: Request window attention on bell. Makes the dock icon bounce on +#: macOS or the taskbar flash on linux. + +bell_on_tab yes + +#: Show a bell symbol on the tab if a bell occurs in one of the +#: windows in the tab and the window is not the currently focused +#: window + +command_on_bell none + +#: Program to run when a bell occurs. + +#: }}} + +#: Window layout {{{ + +remember_window_size yes +initial_window_width 640 +initial_window_height 400 + +#: If enabled, the window size will be remembered so that new +#: instances of kitty will have the same size as the previous +#: instance. If disabled, the window will initially have size +#: configured by initial_window_width/height, in pixels. You can use a +#: suffix of "c" on the width/height values to have them interpreted +#: as number of cells instead of pixels. + +enabled_layouts * + +#: The enabled window layouts. A comma separated list of layout names. +#: The special value all means all layouts. The first listed layout +#: will be used as the startup layout. Default configuration is all +#: layouts in alphabetical order. For a list of available layouts, see +#: the https://sw.kovidgoyal.net/kitty/index.html#layouts. + +window_resize_step_cells 2 +window_resize_step_lines 2 + +#: The step size (in units of cell width/cell height) to use when +#: resizing windows. The cells value is used for horizontal resizing +#: and the lines value for vertical resizing. + +window_border_width 0.5pt + +#: The width of window borders. Can be either in pixels (px) or pts +#: (pt). Values in pts will be rounded to the nearest number of pixels +#: based on screen resolution. If not specified the unit is assumed to +#: be pts. Note that borders are displayed only when more than one +#: window is visible. They are meant to separate multiple windows. + +draw_minimal_borders yes + +#: Draw only the minimum borders needed. This means that only the +#: minimum needed borders for inactive windows are drawn. That is only +#: the borders that separate the inactive window from a neighbor. Note +#: that setting a non-zero window margin overrides this and causes all +#: borders to be drawn. + +window_margin_width 0 + +#: The window margin (in pts) (blank area outside the border). A +#: single value sets all four sides. Two values set the vertical and +#: horizontal sides. Three values set top, horizontal and bottom. Four +#: values set top, right, bottom and left. + +single_window_margin_width -1 + +#: The window margin (in pts) to use when only a single window is +#: visible. Negative values will cause the value of +#: window_margin_width to be used instead. A single value sets all +#: four sides. Two values set the vertical and horizontal sides. Three +#: values set top, horizontal and bottom. Four values set top, right, +#: bottom and left. + +window_padding_width 0 + +#: The window padding (in pts) (blank area between the text and the +#: window border). A single value sets all four sides. Two values set +#: the vertical and horizontal sides. Three values set top, horizontal +#: and bottom. Four values set top, right, bottom and left. + +placement_strategy center + +#: When the window size is not an exact multiple of the cell size, the +#: cell area of the terminal window will have some extra padding on +#: the sides. You can control how that padding is distributed with +#: this option. Using a value of center means the cell area will be +#: placed centrally. A value of top-left means the padding will be on +#: only the bottom and right edges. + +active_border_color #00ff00 + +#: The color for the border of the active window. Set this to none to +#: not draw borders around the active window. + +inactive_border_color #cccccc + +#: The color for the border of inactive windows + +bell_border_color #ff5a00 + +#: The color for the border of inactive windows in which a bell has +#: occurred + +inactive_text_alpha 1.0 + +#: Fade the text in inactive windows by the specified amount (a number +#: between zero and one, with zero being fully faded). + +hide_window_decorations yes + +#: Hide the window decorations (title-bar and window borders) with +#: yes. On macOS, titlebar-only can be used to only hide the titlebar. +#: Whether this works and exactly what effect it has depends on the +#: window manager/operating system. + +resize_debounce_time 0.1 + +#: The time (in seconds) to wait before redrawing the screen when a +#: resize event is received. On platforms such as macOS, where the +#: operating system sends events corresponding to the start and end of +#: a resize, this number is ignored. + +resize_draw_strategy static + +#: Choose how kitty draws a window while a resize is in progress. A +#: value of static means draw the current window contents, mostly +#: unchanged. A value of scale means draw the current window contents +#: scaled. A value of blank means draw a blank window. A value of size +#: means show the window size in cells. + +resize_in_steps no + +#: Resize the OS window in steps as large as the cells, instead of +#: with the usual pixel accuracy. Combined with an +#: initial_window_width and initial_window_height in number of cells, +#: this option can be used to keep the margins as small as possible +#: when resizing the OS window. Note that this does not currently work +#: on Wayland. + +confirm_os_window_close 0 + +#: Ask for confirmation when closing an OS window or a tab that has at +#: least this number of kitty windows in it. A value of zero disables +#: confirmation. This confirmation also applies to requests to quit +#: the entire application (all OS windows, via the quit action). + +#: }}} + +#: Tab bar {{{ + +tab_bar_edge bottom + +#: Which edge to show the tab bar on, top or bottom + +tab_bar_margin_width 0.0 + +#: The margin to the left and right of the tab bar (in pts) + +tab_bar_style fade + +#: The tab bar style, can be one of: fade, separator, powerline, or +#: hidden. In the fade style, each tab's edges fade into the +#: background color, in the separator style, tabs are separated by a +#: configurable separator, and the powerline shows the tabs as a +#: continuous line. If you use the hidden style, you might want to +#: create a mapping for the select_tab action which presents you with +#: a list of tabs and allows for easy switching to a tab. + +tab_bar_min_tabs 2 + +#: The minimum number of tabs that must exist before the tab bar is +#: shown + +tab_switch_strategy previous + +#: The algorithm to use when switching to a tab when the current tab +#: is closed. The default of previous will switch to the last used +#: tab. A value of left will switch to the tab to the left of the +#: closed tab. A value of right will switch to the tab to the right of +#: the closed tab. A value of last will switch to the right-most tab. + +tab_fade 0.25 0.5 0.75 1 + +#: Control how each tab fades into the background when using fade for +#: the tab_bar_style. Each number is an alpha (between zero and one) +#: that controls how much the corresponding cell fades into the +#: background, with zero being no fade and one being full fade. You +#: can change the number of cells used by adding/removing entries to +#: this list. + +tab_separator " ┇" + +#: The separator between tabs in the tab bar when using separator as +#: the tab_bar_style. + +tab_powerline_style angled + +#: The powerline separator style between tabs in the tab bar when +#: using powerline as the tab_bar_style, can be one of: angled, +#: slanted, or round. + +tab_activity_symbol none + +#: Some text or a unicode symbol to show on the tab if a window in the +#: tab that does not have focus has some activity. + +tab_title_template "{title}" + +#: A template to render the tab title. The default just renders the +#: title. If you wish to include the tab-index as well, use something +#: like: {index}: {title}. Useful if you have shortcuts mapped for +#: goto_tab N. In addition you can use {layout_name} for the current +#: layout name and {num_windows} for the number of windows in the tab. +#: Note that formatting is done by Python's string formatting +#: machinery, so you can use, for instance, {layout_name[:2].upper()} +#: to show only the first two letters of the layout name, upper-cased. +#: If you want to style the text, you can use styling directives, for +#: example: {fmt.fg.red}red{fmt.fg.default}normal{fmt.bg._00FF00}green +#: bg{fmt.bg.normal}. Similarly, for bold and italic: +#: {fmt.bold}bold{fmt.nobold}normal{fmt.italic}italic{fmt.noitalic}. + +active_tab_title_template none + +#: Template to use for active tabs, if not specified falls back to +#: tab_title_template. + +active_tab_foreground #000 +active_tab_background #eee +active_tab_font_style bold-italic +inactive_tab_foreground #444 +inactive_tab_background #999 +inactive_tab_font_style normal + +#: Tab bar colors and styles + +tab_bar_background none + +#: Background color for the tab bar. Defaults to using the terminal +#: background color. + +#: }}} + +#: Color scheme {{{ + +foreground #dddddd +background #000000 + +#: The foreground and background colors + +background_opacity .95 + +#: The opacity of the background. A number between 0 and 1, where 1 is +#: opaque and 0 is fully transparent. This will only work if +#: supported by the OS (for instance, when using a compositor under +#: X11). Note that it only sets the background color's opacity in +#: cells that have the same background color as the default terminal +#: background. This is so that things like the status bar in vim, +#: powerline prompts, etc. still look good. But it means that if you +#: use a color theme with a background color in your editor, it will +#: not be rendered as transparent. Instead you should change the +#: default background color in your kitty config and not use a +#: background color in the editor color scheme. Or use the escape +#: codes to set the terminals default colors in a shell script to +#: launch your editor. Be aware that using a value less than 1.0 is a +#: (possibly significant) performance hit. If you want to dynamically +#: change transparency of windows set dynamic_background_opacity to +#: yes (this is off by default as it has a performance cost) + +background_image none + +#: Path to a background image. Must be in PNG format. + +background_image_layout tiled + +#: Whether to tile or scale the background image. + +background_image_linear no + +#: When background image is scaled, whether linear interpolation +#: should be used. + +dynamic_background_opacity no + +#: Allow changing of the background_opacity dynamically, using either +#: keyboard shortcuts (increase_background_opacity and +#: decrease_background_opacity) or the remote control facility. + +background_tint 0.0 + +#: How much to tint the background image by the background color. The +#: tint is applied only under the text area, not margin/borders. Makes +#: it easier to read the text. Tinting is done using the current +#: background color for each window. This setting applies only if +#: background_opacity is set and transparent windows are supported or +#: background_image is set. + +dim_opacity 0.75 + +#: How much to dim text that has the DIM/FAINT attribute set. One +#: means no dimming and zero means fully dimmed (i.e. invisible). + +selection_foreground #000000 + +#: The foreground for text selected with the mouse. A value of none +#: means to leave the color unchanged. + +selection_background #fffacd + +#: The background for text selected with the mouse. + + +#: The 256 terminal colors. There are 8 basic colors, each color has a +#: dull and bright version, for the first 16 colors. You can set the +#: remaining 240 colors as color16 to color255. + +color0 #000000 +color8 #767676 + +#: black + +color1 #cc0403 +color9 #f2201f + +#: red + +color2 #19cb00 +color10 #23fd00 + +#: green + +color3 #cecb00 +color11 #fffd00 + +#: yellow + +color4 #0d73cc +color12 #1a8fff + +#: blue + +color5 #cb1ed1 +color13 #fd28ff + +#: magenta + +color6 #0dcdcd +color14 #14ffff + +#: cyan + +color7 #dddddd +color15 #ffffff + +#: white + +mark1_foreground black + +#: Color for marks of type 1 + +mark1_background #98d3cb + +#: Color for marks of type 1 (light steel blue) + +mark2_foreground black + +#: Color for marks of type 2 + +mark2_background #f2dcd3 + +#: Color for marks of type 1 (beige) + +mark3_foreground black + +#: Color for marks of type 3 + +mark3_background #f274bc + +#: Color for marks of type 1 (violet) + +#: }}} + +#: Advanced {{{ + +shell . + +#: The shell program to execute. The default value of . means to use +#: whatever shell is set as the default shell for the current user. +#: Note that on macOS if you change this, you might need to add +#: --login to ensure that the shell starts in interactive mode and +#: reads its startup rc files. + +editor . + +#: The console editor to use when editing the kitty config file or +#: similar tasks. A value of . means to use the environment variables +#: VISUAL and EDITOR in that order. Note that this environment +#: variable has to be set not just in your shell startup scripts but +#: system-wide, otherwise kitty will not see it. + +close_on_child_death no + +#: Close the window when the child process (shell) exits. If no (the +#: default), the terminal will remain open when the child exits as +#: long as there are still processes outputting to the terminal (for +#: example disowned or backgrounded processes). If yes, the window +#: will close as soon as the child process exits. Note that setting it +#: to yes means that any background processes still using the terminal +#: can fail silently because their stdout/stderr/stdin no longer work. + +allow_remote_control no + +#: Allow other programs to control kitty. If you turn this on other +#: programs can control all aspects of kitty, including sending text +#: to kitty windows, opening new windows, closing windows, reading the +#: content of windows, etc. Note that this even works over ssh +#: connections. You can chose to either allow any program running +#: within kitty to control it, with yes or only programs that connect +#: to the socket specified with the kitty --listen-on command line +#: option, if you use the value socket-only. The latter is useful if +#: you want to prevent programs running on a remote computer over ssh +#: from controlling kitty. + +listen_on none + +#: Tell kitty to listen to the specified unix/tcp socket for remote +#: control connections. Note that this will apply to all kitty +#: instances. It can be overridden by the kitty --listen-on command +#: line flag. This option accepts only UNIX sockets, such as +#: unix:${TEMP}/mykitty or (on Linux) unix:@mykitty. Environment +#: variables are expanded. If {kitty_pid} is present then it is +#: replaced by the PID of the kitty process, otherwise the PID of the +#: kitty process is appended to the value, with a hyphen. This option +#: is ignored unless you also set allow_remote_control to enable +#: remote control. See the help for kitty --listen-on for more +#: details. + +# env + +#: Specify environment variables to set in all child processes. Note +#: that environment variables are expanded recursively, so if you +#: use:: + +#: env MYVAR1=a +#: env MYVAR2=${MYVAR1}/${HOME}/b + +#: The value of MYVAR2 will be a//b. + +update_check_interval 24 + +#: Periodically check if an update to kitty is available. If an update +#: is found a system notification is displayed informing you of the +#: available update. The default is to check every 24 hrs, set to zero +#: to disable. + +startup_session none + +#: Path to a session file to use for all kitty instances. Can be +#: overridden by using the kitty --session command line option for +#: individual instances. See +#: https://sw.kovidgoyal.net/kitty/index.html#sessions in the kitty +#: documentation for details. Note that relative paths are interpreted +#: with respect to the kitty config directory. Environment variables +#: in the path are expanded. + +clipboard_control write-clipboard write-primary + +#: Allow programs running in kitty to read and write from the +#: clipboard. You can control exactly which actions are allowed. The +#: set of possible actions is: write-clipboard read-clipboard write- +#: primary read-primary. You can additionally specify no-append to +#: disable kitty's protocol extension for clipboard concatenation. The +#: default is to allow writing to the clipboard and primary selection +#: with concatenation enabled. Note that enabling the read +#: functionality is a security risk as it means that any program, even +#: one running on a remote server via SSH can read your clipboard. + +allow_hyperlinks yes + +#: Process hyperlink (OSC 8) escape sequences. If disabled OSC 8 +#: escape sequences are ignored. Otherwise they become clickable +#: links, that you can click by holding down ctrl+shift and clicking +#: with the mouse. The special value of ``ask`` means that kitty will +#: ask before opening the link. + +term xterm-kitty + +#: The value of the TERM environment variable to set. Changing this +#: can break many terminal programs, only change it if you know what +#: you are doing, not because you read some advice on Stack Overflow +#: to change it. The TERM variable is used by various programs to get +#: information about the capabilities and behavior of the terminal. If +#: you change it, depending on what programs you run, and how +#: different the terminal you are changing it to is, various things +#: from key-presses, to colors, to various advanced features may not +#: work. + +#: }}} + +#: OS specific tweaks {{{ + +wayland_titlebar_color system + +#: Change the color of the kitty window's titlebar on Wayland systems +#: with client side window decorations such as GNOME. A value of +#: system means to use the default system color, a value of background +#: means to use the background color of the currently active window +#: and finally you can use an arbitrary color, such as #12af59 or red. + +macos_titlebar_color system + +#: Change the color of the kitty window's titlebar on macOS. A value +#: of system means to use the default system color, a value of +#: background means to use the background color of the currently +#: active window and finally you can use an arbitrary color, such as +#: #12af59 or red. WARNING: This option works by using a hack, as +#: there is no proper Cocoa API for it. It sets the background color +#: of the entire window and makes the titlebar transparent. As such it +#: is incompatible with background_opacity. If you want to use both, +#: you are probably better off just hiding the titlebar with +#: hide_window_decorations. + +macos_option_as_alt no + +#: Use the option key as an alt key. With this set to no, kitty will +#: use the macOS native Option+Key = unicode character behavior. This +#: will break any Alt+key keyboard shortcuts in your terminal +#: programs, but you can use the macOS unicode input technique. You +#: can use the values: left, right, or both to use only the left, +#: right or both Option keys as Alt, instead. + +macos_hide_from_tasks no + +#: Hide the kitty window from running tasks (Option+Tab) on macOS. + +macos_quit_when_last_window_closed no + +#: Have kitty quit when all the top-level windows are closed. By +#: default, kitty will stay running, even with no open windows, as is +#: the expected behavior on macOS. + +macos_window_resizable yes + +#: Disable this if you want kitty top-level (OS) windows to not be +#: resizable on macOS. + +macos_thicken_font 0 + +#: Draw an extra border around the font with the given width, to +#: increase legibility at small font sizes. For example, a value of +#: 0.75 will result in rendering that looks similar to sub-pixel +#: antialiasing at common font sizes. + +macos_traditional_fullscreen no + +#: Use the traditional full-screen transition, that is faster, but +#: less pretty. + +macos_show_window_title_in all + +#: Show or hide the window title in the macOS window or menu-bar. A +#: value of window will show the title of the currently active window +#: at the top of the macOS window. A value of menubar will show the +#: title of the currently active window in the macOS menu-bar, making +#: use of otherwise wasted space. all will show the title everywhere +#: and none hides the title in the window and the menu-bar. + +macos_custom_beam_cursor no + +#: Enable/disable custom mouse cursor for macOS that is easier to see +#: on both light and dark backgrounds. WARNING: this might make your +#: mouse cursor invisible on dual GPU machines. + +linux_display_server auto + +#: Choose between Wayland and X11 backends. By default, an appropriate +#: backend based on the system state is chosen automatically. Set it +#: to x11 or wayland to force the choice. + +#: }}} + +#: Keyboard shortcuts {{{ + +#: Keys are identified simply by their lowercase unicode characters. +#: For example: ``a`` for the A key, ``[`` for the left square bracket +#: key, etc. For functional keys, such as ``Enter or Escape`` the +#: names are present at https://sw.kovidgoyal.net/kitty/keyboard- +#: protocol.html#functional-key-definitions. For a list of modifier +#: names, see: GLFW mods +#: + +#: On Linux you can also use XKB key names to bind keys that are not +#: supported by GLFW. See XKB keys +#: for a list of key names. The name to use is the part +#: after the XKB_KEY_ prefix. Note that you can only use an XKB key +#: name for keys that are not known as GLFW keys. + +#: Finally, you can use raw system key codes to map keys, again only +#: for keys that are not known as GLFW keys. To see the system key +#: code for a key, start kitty with the kitty --debug-keyboard option. +#: Then kitty will output some debug text for every key event. In that +#: text look for ``native_code`` the value of that becomes the key +#: name in the shortcut. For example: + +#: .. code-block:: none + +#: on_key_input: glfw key: 65 native_code: 0x61 action: PRESS mods: 0x0 text: 'a' + +#: Here, the key name for the A key is 0x61 and you can use it with:: + +#: map ctrl+0x61 something + +#: to map ctrl+a to something. + +#: You can use the special action no_op to unmap a keyboard shortcut +#: that is assigned in the default configuration:: + +#: map kitty_mod+space no_op + +#: You can combine multiple actions to be triggered by a single +#: shortcut, using the syntax below:: + +#: map key combine action1 action2 action3 ... + +#: For example:: + +#: map kitty_mod+e combine : new_window : next_layout + +#: this will create a new window and switch to the next available +#: layout + +#: You can use multi-key shortcuts using the syntax shown below:: + +#: map key1>key2>key3 action + +#: For example:: + +#: map ctrl+f>2 set_font_size 20 + +kitty_mod ctrl+shift + +#: The value of kitty_mod is used as the modifier for all default +#: shortcuts, you can change it in your kitty.conf to change the +#: modifiers for all the default shortcuts. + +clear_all_shortcuts no + +#: You can have kitty remove all shortcut definition seen up to this +#: point. Useful, for instance, to remove the default shortcuts. + +# kitten_alias hints hints --hints-offset=0 + +#: You can create aliases for kitten names, this allows overriding the +#: defaults for kitten options and can also be used to shorten +#: repeated mappings of the same kitten with a specific group of +#: options. For example, the above alias changes the default value of +#: kitty +kitten hints --hints-offset to zero for all mappings, +#: including the builtin ones. + +#: Clipboard {{{ + +map kitty_mod+c copy_to_clipboard + +#: There is also a copy_or_interrupt action that can be optionally +#: mapped to Ctrl+c. It will copy only if there is a selection and +#: send an interrupt otherwise. Similarly, copy_and_clear_or_interrupt +#: will copy and clear the selection or send an interrupt if there is +#: no selection. + +map kitty_mod+v paste_from_clipboard +map kitty_mod+s paste_from_selection +map shift+insert paste_from_selection +map kitty_mod+o pass_selection_to_program + +#: You can also pass the contents of the current selection to any +#: program using pass_selection_to_program. By default, the system's +#: open program is used, but you can specify your own, the selection +#: will be passed as a command line argument to the program, for +#: example:: + +#: map kitty_mod+o pass_selection_to_program firefox + +#: You can pass the current selection to a terminal program running in +#: a new kitty window, by using the @selection placeholder:: + +#: map kitty_mod+y new_window less @selection + +#: }}} + +#: Scrolling {{{ + +map kitty_mod+up scroll_line_up +map kitty_mod+k scroll_line_up +map kitty_mod+down scroll_line_down +map kitty_mod+j scroll_line_down +map kitty_mod+page_up scroll_page_up +map kitty_mod+page_down scroll_page_down +map kitty_mod+home scroll_home +map kitty_mod+end scroll_end +map kitty_mod+h show_scrollback + +#: You can pipe the contents of the current screen + history buffer as +#: STDIN to an arbitrary program using the ``launch`` function. For +#: example, the following opens the scrollback buffer in less in an +#: overlay window:: + +#: map f1 launch --stdin-source=@screen_scrollback --stdin-add-formatting --type=overlay less +G -R + +#: For more details on piping screen and buffer contents to external +#: programs, see launch. + +#: }}} + +#: Window management {{{ + +map kitty_mod+enter new_window + +#: You can open a new window running an arbitrary program, for +#: example:: + +#: map kitty_mod+y launch mutt + +#: You can open a new window with the current working directory set to +#: the working directory of the current window using:: + +#: map ctrl+alt+enter launch --cwd=current + +#: You can open a new window that is allowed to control kitty via the +#: kitty remote control facility by prefixing the command line with @. +#: Any programs running in that window will be allowed to control +#: kitty. For example:: + +#: map ctrl+enter launch --allow-remote-control some_program + +#: You can open a new window next to the currently active window or as +#: the first window, with:: + +#: map ctrl+n launch --location=neighbor some_program +#: map ctrl+f launch --location=first some_program + +#: For more details, see launch. + +map kitty_mod+n new_os_window + +#: Works like new_window above, except that it opens a top level OS +#: kitty window. In particular you can use new_os_window_with_cwd to +#: open a window with the current working directory. + +map kitty_mod+w close_window +map kitty_mod+] next_window +map kitty_mod+[ previous_window +map kitty_mod+f move_window_forward +map kitty_mod+b move_window_backward +map kitty_mod+` move_window_to_top +map kitty_mod+r start_resizing_window +map kitty_mod+1 first_window +map kitty_mod+2 second_window +map kitty_mod+3 third_window +map kitty_mod+4 fourth_window +map kitty_mod+5 fifth_window +map kitty_mod+6 sixth_window +map kitty_mod+7 seventh_window +map kitty_mod+8 eighth_window +map kitty_mod+9 ninth_window +map kitty_mod+0 tenth_window +#: }}} + +#: Tab management {{{ + +map kitty_mod+right next_tab +map kitty_mod+left previous_tab +map kitty_mod+t new_tab +map kitty_mod+q close_tab +map kitty_mod+. move_tab_forward +map kitty_mod+, move_tab_backward +map kitty_mod+alt+t set_tab_title + +#: You can also create shortcuts to go to specific tabs, with 1 being +#: the first tab, 2 the second tab and -1 being the previously active +#: tab, and any number larger than the last tab being the last tab:: + +#: map ctrl+alt+1 goto_tab 1 +#: map ctrl+alt+2 goto_tab 2 + +#: Just as with new_window above, you can also pass the name of +#: arbitrary commands to run when using new_tab and use +#: new_tab_with_cwd. Finally, if you want the new tab to open next to +#: the current tab rather than at the end of the tabs list, use:: + +#: map ctrl+t new_tab !neighbor [optional cmd to run] +#: }}} + +#: Layout management {{{ + +map kitty_mod+l next_layout + +#: You can also create shortcuts to switch to specific layouts:: + +#: map ctrl+alt+t goto_layout tall +#: map ctrl+alt+s goto_layout stack + +#: Similarly, to switch back to the previous layout:: + +#: map ctrl+alt+p last_used_layout +#: }}} + +#: Font sizes {{{ + +#: You can change the font size for all top-level kitty OS windows at +#: a time or only the current one. + +map kitty_mod+equal change_font_size all +2.0 +map kitty_mod+plus change_font_size all +2.0 +map kitty_mod+kp_add change_font_size all +2.0 +map kitty_mod+minus change_font_size all -2.0 +map kitty_mod+kp_subtract change_font_size all -2.0 +map kitty_mod+backspace change_font_size all 0 + +#: To setup shortcuts for specific font sizes:: + +#: map kitty_mod+f6 change_font_size all 10.0 + +#: To setup shortcuts to change only the current OS window's font +#: size:: + +#: map kitty_mod+f6 change_font_size current 10.0 +#: }}} + +#: Select and act on visible text {{{ + +#: Use the hints kitten to select text and either pass it to an +#: external program or insert it into the terminal or copy it to the +#: clipboard. + +map kitty_mod+e kitten hints + +#: Open a currently visible URL using the keyboard. The program used +#: to open the URL is specified in open_url_with. + +map kitty_mod+p>f kitten hints --type path --program - + +#: Select a path/filename and insert it into the terminal. Useful, for +#: instance to run git commands on a filename output from a previous +#: git command. + +map kitty_mod+p>shift+f kitten hints --type path + +#: Select a path/filename and open it with the default open program. + +map kitty_mod+p>l kitten hints --type line --program - + +#: Select a line of text and insert it into the terminal. Use for the +#: output of things like: ls -1 + +map kitty_mod+p>w kitten hints --type word --program - + +#: Select words and insert into terminal. + +map kitty_mod+p>h kitten hints --type hash --program - + +#: Select something that looks like a hash and insert it into the +#: terminal. Useful with git, which uses sha1 hashes to identify +#: commits + +map kitty_mod+p>n kitten hints --type linenum + +#: Select something that looks like filename:linenum and open it in +#: vim at the specified line number. + +map kitty_mod+p>y kitten hints --type hyperlink + +#: Select a hyperlink (i.e. a URL that has been marked as such by the +#: terminal program, for example, by ls --hyperlink=auto). + + +#: The hints kitten has many more modes of operation that you can map +#: to different shortcuts. For a full description see kittens/hints. +#: }}} + +#: Miscellaneous {{{ + +map kitty_mod+f11 toggle_fullscreen +map kitty_mod+f10 toggle_maximized +map kitty_mod+u kitten unicode_input +map kitty_mod+f2 edit_config_file +map kitty_mod+escape kitty_shell window + +#: Open the kitty shell in a new window/tab/overlay/os_window to +#: control kitty using commands. + +map kitty_mod+a>m set_background_opacity +0.1 +map kitty_mod+a>l set_background_opacity -0.1 +map kitty_mod+a>1 set_background_opacity 1 +map kitty_mod+a>d set_background_opacity default +map kitty_mod+delete clear_terminal reset active + +#: You can create shortcuts to clear/reset the terminal. For example:: + +#: # Reset the terminal +#: map kitty_mod+f9 clear_terminal reset active +#: # Clear the terminal screen by erasing all contents +#: map kitty_mod+f10 clear_terminal clear active +#: # Clear the terminal scrollback by erasing it +#: map kitty_mod+f11 clear_terminal scrollback active +#: # Scroll the contents of the screen into the scrollback +#: map kitty_mod+f12 clear_terminal scroll active + +#: If you want to operate on all windows instead of just the current +#: one, use all instead of active. + +#: It is also possible to remap Ctrl+L to both scroll the current +#: screen contents into the scrollback buffer and clear the screen, +#: instead of just clearing the screen:: + +#: map ctrl+l combine : clear_terminal scroll active : send_text normal,application \x0c + + +#: You can tell kitty to send arbitrary (UTF-8) encoded text to the +#: client program when pressing specified shortcut keys. For example:: + +#: map ctrl+alt+a send_text all Special text + +#: This will send "Special text" when you press the ctrl+alt+a key +#: combination. The text to be sent is a python string literal so you +#: can use escapes like \x1b to send control codes or \u21fb to send +#: unicode characters (or you can just input the unicode characters +#: directly as UTF-8 text). The first argument to send_text is the +#: keyboard modes in which to activate the shortcut. The possible +#: values are normal or application or kitty or a comma separated +#: combination of them. The special keyword all means all modes. The +#: modes normal and application refer to the DECCKM cursor key mode +#: for terminals, and kitty refers to the special kitty extended +#: keyboard protocol. + +#: Another example, that outputs a word and then moves the cursor to +#: the start of the line (same as pressing the Home key):: + +#: map ctrl+alt+a send_text normal Word\x1b[H +#: map ctrl+alt+a send_text application Word\x1bOH + +#: }}} + +# }}} diff --git a/dot_config/nvim/init.vim b/dot_config/nvim/init.vim new file mode 100644 index 0000000..d8a7ea9 --- /dev/null +++ b/dot_config/nvim/init.vim @@ -0,0 +1,212 @@ +let g:plugged_home = '~/.vim/plugged' + +call plug#begin(g:plugged_home) + " UI related + Plug 'chriskempson/base16-vim' + Plug 'vim-airline/vim-airline' + Plug 'vim-airline/vim-airline-themes' + " Better Visual Guide + Plug 'Yggdroot/indentLine' + " syntax check + Plug 'w0rp/ale' + " Autocomplete + Plug 'ncm2/ncm2' + Plug 'roxma/nvim-yarp' + Plug 'ncm2/ncm2-bufword' + Plug 'ncm2/ncm2-path' + Plug 'ncm2/ncm2-jedi' + " Formater + Plug 'Chiel92/vim-autoformat' + " Theme + Plug 'pineapplegiant/spaceduck', { 'branch': 'main' } + " Python Plugins + Plug 'Valloric/YouCompleteMe' + Plug 'vim-syntastic/syntastic' + Plug 'nvie/vim-flake8' + Plug 'python-mode/python-mode' + Plug 'airblade/vim-gitgutter' + " + "general development plugins + Plug 'scrooloose/nerdtree' + Plug 'flazz/vim-colorschemes' + Plug 'davidhalter/jedi-vim' + Plug 'ervandew/supertab' + Plug 'ryanoasis/vim-webdevicons' + Plug 'direnv/direnv.vim' + Plug 'sheerun/vim-polyglot' + Plug 'tpope/vim-fugitive' + Plug 'psf/black', { 'branch': 'stable' } + " This was fun and all, but getting data out sucked, so if they ever get an + " update, maybe try again + "Plugin 'ActivityWatch/aw-watcher-vim' + " + " Bind zonefile stuff + Plug 'seveas/bind.vim' + " + " extline extends rst stuff + Plug 'drmikehenry/vim-extline' + Plug 'brookhong/DBGPavim' + Plug 'dhruvasagar/vim-table-mode' + Plug 'godlygeek/tabular' + Plug 'plasticboy/vim-markdown' + " Additional languages + Plug 'nathanielc/vim-tickscript' + Plug 'fatih/vim-go' + Plug 'dbeniamine/cheat.sh-vim' + Plug 'jacqueswww/vim-vyper' + Plug 'tomlion/vim-solidity' +call plug#end() + +filetype plugin indent on +" Set colors for spaceduck +if exists('+termguicolors') + let &t_8f = "\[38;2;%lu;%lu;%lum" + let &t_8b = "\[48;2;%lu;%lu;%lum" + set termguicolors +endif +let g:airline_theme = 'spaceduck' +if exists('+termguicolors') + let &t_8f = "\[38;2;%lu;%lu;%lum" + let &t_8b = "\[48;2;%lu;%lu;%lum" + set termguicolors + endif + + colorscheme spaceduck + +" set the number style to hybrid +set number relativenumber + + +" READ FROM .vimrc + +set nocompatible " required +set splitright +filetype off " required +" Handy hack to force a write using sudo when you forget to 'sudo vi' +cmap w!! w !sudo tee > /dev/null % + +set pastetoggle= + +set incsearch +set encoding=utf-8 +set wrap +set linebreak +set nolist + +" Attempt to fix python/python3 issue +" To run py2 stuff, you can force with "vim --cmd 'let py2 = 1' +"if exists('py2') && has('python') +"elseif has('python3') +if !has('patch-8.1.201') + silent! python3 1 +endif + +"let g:deoplete#enable_at_startup = 1 +"Plugin 'Shougo/deoplete.nvim' + +" Add all your plugins here (note older versions of Vundle used Bundle instead +" of Plugin) + +" All of your Plugins must be added before the following line +filetype plugin indent on " required +"Powerline setup +"set guifont=PowerLineSymbols\ DejaVu\ Sans\ Mono\ for\ Powerline\ 9 +" set guifont=DejaVu\ Sans\ Mono\ for\ Powerline\ Plus\ Nerd\ File\ Types\ 9 +set guifont=Sauce\ Code\ Powerline\ Plus\ Nerd\ File\ Types\ 9 +" set guifont=Anonymous\ Pro\ for\ Powerline\ Regular/9 +let g:Powerline_symbols = 'fancy' +let g:airline_powerline_fonts = 1 +set laststatus=2 + +"NerdTree map to +map :NERDTreeToggle + +"colorscheme jellybeans + +"Make python-friendly tabs +set tabstop=4 +set shiftwidth=4 +set smarttab +set softtabstop=4 +set autoindent +set expandtab +"let &colorcolumn="80,".join(range(81,999),",") + +augroup vimrc_autocmds + autocmd! + "highlight characters past col 80 + autocmd FileType python highlight Excess ctermbg=DarkGrey guibg=Black + autocmd FileType python match Excess /\%80v.*/ + autocmd FileType python set nowrap +" autocmd FileType rst set textwidth=80 + autocmd FileType markdown set textwidth=80 +augroup END + +set mouse=a + +" python-mode settings +" Python-mode +" Activate rope +" Keys: +" K Show python docs +" Rope autocomplete +" g Rope goto definition +" d Rope show documentation +" f Rope find occurrences +" b Set, unset breakpoint (g:pymode_breakpoint enabled) +" [[ Jump on previous class or function (normal, visual, operator +" modes) +" ]] Jump on next class or function (normal, visual, operator +" modes) +" [M Jump on previous class or method (normal, visual, operator +" modes) +" ]M Jump on next class or method (normal, visual, operator +" modes) +let g:pymode_rope = 0 + +" Documentation +let g:pymode_doc = 1 +let g:pymode_doc_key = 'K' + +"Linting +let g:pymode_lint = 1 +"let g:pymode_lint_checker = "pyflakes,pep8" +let g:pymode_lint_checker = "flake8,pep8" +" Auto check on save +let g:pymode_lint_write = 1 + +" Support virtualenv +let g:pymode_virtualenv = 1 + +" Enable breakpoints plugin + let g:pymode_breakpoint = 1 + let g:pymode_breakpoint_key = 'b' + +" syntax highlighting +let g:pymode_syntax = 1 +let g:pymode_syntax_all = 1 +let g:pymode_syntax_indent_errors = g:pymode_syntax_all +let g:pymode_syntax_space_errors = g:pymode_syntax_all + +" Don't autofold code +let g:pymode_folding = 0 +let g:riv_fold_level = 0 +let g:riv_fold_auto_update = 0 +nnoremap za + +let g:dbgPavimPort = 9000 +let g:dbgPavimBreakAtEntry = 0 +let g:dbgPavimOnce = 1 + +let python_highlight_all=1 +syntax on + +let g:pymode_python = 'python3' + +" For table mode RST friendliness +let g:table_mode_corner_corner='+' +let g:table_mode_header_fillchar='=' +let g:webdevicons_enable = 1 +let g:webdevicons_enable_nerdtree = 1 +autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtab +autocmd BufWritePre *.py execute ':Black' diff --git a/dot_direnvrc b/dot_direnvrc new file mode 100644 index 0000000..4abe70d --- /dev/null +++ b/dot_direnvrc @@ -0,0 +1,9 @@ +layout_virtualenv() { + local venv_path="$1" + source ${venv_path}/bin/activate +} + +layout_virtualenvwrapper() { + local venv_path="${WORKON_HOME}/$1" + layout_virtualenv $venv_path +} diff --git a/dot_muttrc b/dot_muttrc new file mode 100644 index 0000000..69c1b91 --- /dev/null +++ b/dot_muttrc @@ -0,0 +1,48 @@ +#set record=~/Maildir/arachnitech/Sent +set sidebar_visible = yes +set sidebar_short_path # Shorten mailbox names +set sidebar_delim_chars="/" # Delete everything up to the last / character +set sidebar_width=27 +#set sidebar_folder_indent # Indent folders whose names we've shortened +#set sidebar_indent_string=" " # Indent with two spaces +color sidebar_new yellow default +color sidebar_indicator default color17 # Dark blue background +color sidebar_highlight white color238 # Grey background +color sidebar_spoolfile yellow default # Yellow +color sidebar_new green default # Green +color sidebar_ordinary default default # Default colors +color sidebar_flagged red default # Red +color sidebar_divider color8 default # Dark grey +## set record="~/Maildir/Sent Mail" +set spoolfile="+franklin/INBOX" +# set header cache +set header_cache=~/Localmail/hcache +set mbox_type=Maildir +set folder=~/Maildir/ +set sort=reverse-date-received +set pager_stop=yes +set fast_reply +set include=yes +# IMAP and INBOX (this should map to any existing IMAP folders) +folder-hook arachnitech/* source ~/.mutt/accounts/arachnitech +folder-hook franklin/* source ~/.mutt/accounts/franklin +# auto_view text/html +#alternative_order text/plain text/enriched text/html +auto_view text/html +auto_view text/calendar + +# Just do what I tell you to, consequences be damned +set noconfirmappend +#set confirmappend=yes +set delete=yes +# Show new notification when mail arrives +set new_mail_command="notify-send -t 2000 --icon='/home/kellya/images/mutt-1.png' -a mutt -c mail \ + 'New Emails' '%n new messages' &" + +# Run a script to cat anything that has .rc as the extension to auto source things +source ~/.mutt/sources.sh| + +# Addressbook lookup +set query_command="khard email -p '%s'" +bind editor complete-query +set editor="nvim -S ~/.mutt/vimrc" diff --git a/dot_offlineimaprc b/dot_offlineimaprc new file mode 100644 index 0000000..d9ca3e5 --- /dev/null +++ b/dot_offlineimaprc @@ -0,0 +1,45 @@ +[general] +accounts = arachnitech, franklin +maxsyncaccounts = 2 +fsync = true + +[Account arachnitech] +localrepository = arachnitech-Local +remoterepository = arachnitech-Remote +postsynchook = notmuch new +autorefresh = 5 + +[Repository arachnitech-Remote] +type = IMAP +remotehost = 192.168.0.125 +remoteuser = kellya +remotepassfile = ~/.credentials/arachnitech_imap +ssl = no +idlefolders = ['INBOX',] + +[Repository arachnitech-Local] +type = Maildir +localfolders = ~/Maildir/arachnitech +restoreatime = no + +[Account franklin] +localrepository = franklin-Local +remoterepository = franklin-Remote +autorefresh = 5 + +postsynchook = notmuch new + +[Repository franklin-Remote] +type = IMAP +remotehost = 127.0.0.1 +remoteport = 1143 +remoteuser = alex.kelly@franklin.edu +remotepassfile = ~/.credentials/franklin_imap +ssl = no +idlefolders = ['INBOX',] +folderfilter = lambda foldername: foldername not in ['STFU','Newsletters', 'Clutter', 'Lego', 'Lego/Registrations', 'remote_addrbook', 'Conversation History', 'issues', 'spam', 'Windows crap', 'Sync Issues', 'Unsent Messages', 'Unsent Messages/Voicemessages', 'Junk', 'Unsent Messages/VoiceOutbox', 'Sync Issues/Server Failures', 'Sync Issues/Local Failures', 'Sync Issues/Conflicts'] + +[Repository franklin-Local] +type = Maildir +localfolders = ~/Maildir/franklin +restoreatime = no diff --git a/dot_taskrc b/dot_taskrc new file mode 100644 index 0000000..049cdf0 --- /dev/null +++ b/dot_taskrc @@ -0,0 +1,108 @@ +# [Created by task 2.5.1 8/22/2016 14:01:12] +# Taskwarrior program configuration file. +# For more documentation, see http://taskwarrior.org or try 'man task', 'man task-color', +# 'man task-sync' or 'man taskrc' + +# Here is an example of entries that use the default, override and blank values +# variable=foo -- By specifying a value, this overrides the default +# variable= -- By specifying no value, this means no default +# #variable=foo -- By commenting out the line, or deleting it, this uses the default + +# Use the command 'task show' to see all defaults and overrides + +# Files +data.location=~/.task + +# Color theme (uncomment one to use) + +#include /usr/share/task/dark-16.theme +#include /usr/share/task/dark-256.theme +#include /usr/share/task/dark-blue-256.theme +##This next one is the best guess so far +include /usr/share/task/dark-gray-256.theme +#The active task on dark gray blue is too hard to read +#include /usr/share/task/dark-gray-blue-256.theme +#include /usr/share/task/dark-green-256.theme +#include /usr/share/task/dark-red-256.theme +#include /usr/share/task/dark-violets-256.theme +## dark yellow green looks better than you'd think +#include /usr/share/task/dark-yellow-green.theme +#include /usr/share/task/light-16.theme +# The ones below this line officially look like ass +#include /usr/share/task/solarized-dark-256.theme +#include /usr/share/task/solarized-light-256.theme +#include /usr/share/task/light-256.theme +#include /usr/share/task/no-color.theme + +taskd.certificate=/home/kellya/.task/private.certificate.pem +taskd.key=/home/kellya/.task/private.key.pem +taskd.ca=/home/kellya/.task/ca.cert.pem +taskd.server=taskwarrior.inthe.am:53589 +taskd.credentials=inthe_am/alexpkelly/4a97112d-3460-46dc-a3d1-dbd404d80f18 +taskd.trust=ignore hostname +#'taskd.ciphers=NORMAL:%COMPAT' +uda.reviewed.type=date +uda.reviewed.label=Reviewed +report._reviewed.description=Tasksh review report. Adjust the filter to your needs. +report._reviewed.columns=uuid +report._reviewed.sort=reviewed+,modified+ +report._reviewed.filter=( reviewed.none: or reviewed.before:now-6days ) and ( +PENDING or +WAITING ) +uda.evernote.type=string +uda.evernote.label=Evernote +uda.intheamtrellolistname.type=string +uda.intheamtrellolistname.label=Inthe.AM Trello List Name +uda.messageid.type=string +uda.messageid.label=Message-ID +verbose=no +report.simple.description=Simple list of open tasks by project +report.simple.columns=id,project,description.count +report.simple.labels=ID,Proj,Desc +report.simple.sort=project+\/,entry+ +report.simple.filter=status:pending +complete.all.tags=yes +active.indicator=▸ +recurrence.indicator=♺ +nag= +# [Created by task 2.5.1 7/6/2018 18:50:31] +# Taskwarrior program configuration file. +# For more documentation, see http://taskwarrior.org or try 'man task', 'man task-color', +# 'man task-sync' or 'man taskrc' + +# Here is an example of entries that use the default, override and blank values +# variable=foo -- By specifying a value, this overrides the default +# variable= -- By specifying no value, this means no default +# #variable=foo -- By commenting out the line, or deleting it, this uses the default + +# Use the command 'task show' to see all defaults and overrides + +# Files +data.location=~/.task + +# Color theme (uncomment one to use) +#include /usr/share/taskwarrior/light-16.theme +#include /usr/share/taskwarrior/light-256.theme +#include /usr/share/taskwarrior/dark-16.theme +#include /usr/share/taskwarrior/dark-256.theme +#include /usr/share/taskwarrior/dark-red-256.theme +#include /usr/share/taskwarrior/dark-green-256.theme +#include /usr/share/taskwarrior/dark-blue-256.theme +#include /usr/share/taskwarrior/dark-violets-256.theme +#include /usr/share/taskwarrior/dark-yellow-green.theme +#include /usr/share/taskwarrior/dark-gray-256.theme +#include /usr/share/taskwarrior/dark-gray-blue-256.theme +#include /usr/share/taskwarrior/solarized-dark-256.theme +#include /usr/share/taskwarrior/solarized-light-256.theme +#include /usr/share/taskwarrior/no-color.theme + +#WingTask sync server +#taskd.server=app.wingtask.com:53589 +#taskd.key=/home/kellya/.wingtask_certs/kellya@arachnitech.com.key.pem +#taskd.ca=/home/kellya/.wingtask_certs/dst.pem +#taskd.certificate=/home/kellya/.wingtask_certs/kellya@arachnitech.com.cert.pem +#taskd.credentials=WingTask/kellya@arachnitech.com/df7a90d6-94b3-4406-9f34-066c9149db2b +dateformat=Y-M-DTH:N +context.work.read=+work -home or -TAGGED +context.work.write=+work +context.home.read=+home -work or -TAGGED +context.home.write=+home +context=work diff --git a/dot_tmux.conf b/dot_tmux.conf new file mode 100644 index 0000000..1dea53d --- /dev/null +++ b/dot_tmux.conf @@ -0,0 +1,98 @@ +bind a setw synchronize-panes +#source /usr/share/tmux/powerline.conf + +#Prefix is Ctrl-a +#set -g prefix C-a +#bind C-a send-prefix +#unbind C-b + +set -sg escape-time 1 +set -g base-index 1 +setw -g pane-base-index 1 + +#Mouse works as expected +set -g mouse on +#setw -g mode-mouse on +#set -g mouse-select-pane on +#set -g mouse-resize-pane on +#set -g mouse-select-window on + +setw -g monitor-activity on +set -g visual-activity on + +set -g mode-keys vi +set -g history-limit 10000 + +set -g status-bg blue +set -g status-fg white + +# y and p as in vim +bind Escape copy-mode +unbind p +bind p paste-buffer +#bind -t vi-copy 'v' begin-selection +#bind -t vi-copy 'y' copy-selection +#bind -t vi-copy 'Space' halfpage-down +#bind -t vi-copy 'Bspace' halfpage-up + +# extra commands for interacting with the ICCCM clipboard +bind C-c run "tmux save-buffer - | xclip -i -sel clipboard" +bind C-v run "tmux set-buffer \"$(xclip -o -sel clipboard)\"; tmux paste-buffer" + +# easy-to-remember split pane commands +bind | split-window -h +bind - split-window -v +unbind '"' +unbind % + +# moving between panes with vim movement keys +bind h select-pane -L +bind j select-pane -D +bind k select-pane -U +bind l select-pane -R + +# moving between windows with vim movement keys +bind -r C-h select-window -t :- +bind -r C-l select-window -t :+ + +# resize panes with vim movement keys +bind -r H resize-pane -L 5 +bind -r J resize-pane -D 5 +bind -r K resize-pane -U 5 +bind -r L resize-pane -R 5 + +#set border colors +#set -g pane-active-border-fg blue +#Commented to enable spaceduck +#set-option -g pane-active-border-style fg=blue +#set -g default-terminal "screen-256color" +#set-option -sa terminal-overrides ',XXX:RGB' + + + +# Basic color support setting + set-option -g default-terminal "screen-256color" + + # Default bar color + set-option -g status-style bg='#1b1c36',fg='#ecf0c1' + + # Active Pane + set -g pane-active-border-style "fg=#5ccc96" + + # Inactive Pane + set -g pane-border-style "fg=#686f9a" + + # Active window + set-option -g window-status-current-style bg='#686f9a',fg='#ffffff' + + # Message + set-option -g message-style bg='#686f9a',fg='#ecf0c1' + set-option -g message-command-style bg='#686f9a',fg='#ecf0c1' + + # When Commands are run + set -g message-style "fg=#0f111b,bg=#686f9a" + +set -g @plugin 'tmux-plugins/tpm' +set -g @plugin 'tmux-plugins/tmux-sensible' +set -g @plugin 'tmux-plugins/tmux-resurrect' +run -b '~/.tmux/plugins/tpm/tpm' diff --git a/dot_vimrc b/dot_vimrc new file mode 100644 index 0000000..b77e714 --- /dev/null +++ b/dot_vimrc @@ -0,0 +1,179 @@ +set nocompatible " required +set splitright +filetype off " required +" Handy hack to force a write using sudo when you forget to 'sudo vi' +cmap w!! w !sudo tee > /dev/null % + +set pastetoggle= + +set incsearch +set encoding=utf-8 +set wrap +set linebreak +set nolist + +" Attempt to fix python/python3 issue +" To run py2 stuff, you can force with "vim --cmd 'let py2 = 1' +"if exists('py2') && has('python') +"elseif has('python3') +if !has('patch-8.1.201') + silent! python3 1 +endif +" set the runtime path to include Vundle and initialize +set rtp+=~/.vim/bundle/Vundle.vim +call vundle#begin() + +" alternatively, pass a path where Vundle should install plugins +"call vundle#begin('~/some/path/here') + +" let Vundle manage Vundle, required +Plugin 'gmarik/Vundle.vim' +" +" Python Plugins +Plugin 'Valloric/YouCompleteMe' +Plugin 'vim-syntastic/syntastic' +Plugin 'nvie/vim-flake8' +Plugin 'python-mode/python-mode' +Plugin 'airblade/vim-gitgutter' +" +"general development plugins +Plugin 'scrooloose/nerdtree' +Plugin 'powerline/powerline', {'rtp': 'powerline/bindings/vim'} +Plugin 'flazz/vim-colorschemes' +Plugin 'davidhalter/jedi-vim' +Plugin 'ervandew/supertab' +Plugin 'ryanoasis/vim-webdevicons' +Plugin 'direnv/direnv.vim' +" This was fun and all, but getting data out sucked, so if they ever get an +" update, maybe try again +"Plugin 'ActivityWatch/aw-watcher-vim' +" +" Bind zonefile stuff +Plugin 'seveas/bind.vim' +" +" extline extends rst stuff +Plugin 'drmikehenry/vim-extline' +Plugin 'tpope/vim-surround.git' +Plugin 'brookhong/DBGPavim' +Plugin 'dhruvasagar/vim-table-mode' +Plugin 'godlygeek/tabular' +Plugin 'plasticboy/vim-markdown' +" Additional languages +Plugin 'nathanielc/vim-tickscript' +Plugin 'fatih/vim-go' +Plugin 'dbeniamine/cheat.sh-vim' +Plugin 'jacqueswww/vim-vyper' +Plugin 'tomlion/vim-solidity' +Plugin 'kien/ctrlp.vim' + + +"let g:deoplete#enable_at_startup = 1 +"Plugin 'Shougo/deoplete.nvim' + +" Add all your plugins here (note older versions of Vundle used Bundle instead +" of Plugin) + +" All of your Plugins must be added before the following line +call vundle#end() " required +filetype plugin indent on " required +"Powerline setup +"set guifont=PowerLineSymbols\ DejaVu\ Sans\ Mono\ for\ Powerline\ 9 +" set guifont=DejaVu\ Sans\ Mono\ for\ Powerline\ Plus\ Nerd\ File\ Types\ 9 +set guifont=Sauce\ Code\ Powerline\ Plus\ Nerd\ File\ Types\ 9 +" set guifont=Anonymous\ Pro\ for\ Powerline\ Regular/9 +let g:Powerline_symbols = 'fancy' +let g:airline_powerline_fonts = 1 +set laststatus=2 + +"NerdTree map to +map :NERDTreeToggle + +colorscheme jellybeans + +"Make python-friendly tabs +set tabstop=4 +set shiftwidth=4 +set smarttab +set softtabstop=4 +set autoindent +set expandtab +let &colorcolumn="80,".join(range(81,999),",") + +augroup vimrc_autocmds + autocmd! + "highlight characters past col 80 + autocmd FileType python highlight Excess ctermbg=DarkGrey guibg=Black + autocmd FileType python match Excess /\%80v.*/ + autocmd FileType python set nowrap +" autocmd FileType rst set textwidth=80 + autocmd FileType markdown set textwidth=80 +augroup END + +set mouse=a + +" python-mode settings +" Python-mode +" Activate rope +" Keys: +" K Show python docs +" Rope autocomplete +" g Rope goto definition +" d Rope show documentation +" f Rope find occurrences +" b Set, unset breakpoint (g:pymode_breakpoint enabled) +" [[ Jump on previous class or function (normal, visual, operator +" modes) +" ]] Jump on next class or function (normal, visual, operator +" modes) +" [M Jump on previous class or method (normal, visual, operator +" modes) +" ]M Jump on next class or method (normal, visual, operator +" modes) +let g:pymode_rope = 0 + +" Documentation +let g:pymode_doc = 1 +let g:pymode_doc_key = 'K' + +"Linting +let g:pymode_lint = 1 +"let g:pymode_lint_checker = "pyflakes,pep8" +let g:pymode_lint_checker = "flake8,pep8" +" Auto check on save +let g:pymode_lint_write = 1 + +" Support virtualenv +let g:pymode_virtualenv = 1 + +" Enable breakpoints plugin + let g:pymode_breakpoint = 1 + let g:pymode_breakpoint_key = 'b' + +" syntax highlighting +let g:pymode_syntax = 1 +let g:pymode_syntax_all = 1 +let g:pymode_syntax_indent_errors = g:pymode_syntax_all +let g:pymode_syntax_space_errors = g:pymode_syntax_all + +" Don't autofold code +let g:pymode_folding = 0 +let g:riv_fold_level = 0 +let g:riv_fold_auto_update = 0 +nnoremap za + +let g:dbgPavimPort = 9000 +let g:dbgPavimBreakAtEntry = 0 +let g:dbgPavimOnce = 1 + +let python_highlight_all=1 +syntax on + +let g:pymode_python = 'python3' + +" For table mode RST friendliness +let g:table_mode_corner_corner='+' +let g:table_mode_header_fillchar='=' +let g:webdevicons_enable = 1 +let g:webdevicons_enable_nerdtree = 1 +set relativenumber +set number diff --git a/dot_zshrc b/dot_zshrc new file mode 100644 index 0000000..adacfc1 --- /dev/null +++ b/dot_zshrc @@ -0,0 +1,161 @@ +# Path to your oh-my-zsh installation. +export ZSH=/home/kellya/.oh-my-zsh + +# Set name of the theme to load. +# Look in ~/.oh-my-zsh/themes/ +# Optionally, if you set this to "random", it'll load a random theme each +# time that oh-my-zsh is loaded. +ZSH_THEME="agnoster" + +# Uncomment the following line to use case-sensitive completion. +# CASE_SENSITIVE="true" + +# Uncomment the following line to disable bi-weekly auto-update checks. +# DISABLE_AUTO_UPDATE="true" + +# Uncomment the following line to change how often to auto-update (in days). +# export UPDATE_ZSH_DAYS=13 + +# Uncomment the following line to disable colors in ls. +# DISABLE_LS_COLORS="true" + +# Uncomment the following line to disable auto-setting terminal title. +# DISABLE_AUTO_TITLE="true" + +# Uncomment the following line to enable command auto-correction. +# ENABLE_CORRECTION="true" + +# Uncomment the following line to display red dots whilst waiting for completion. +COMPLETION_WAITING_DOTS="true" + +# Uncomment the following line if you want to disable marking untracked files +# under VCS as dirty. This makes repository status check for large repositories +# much, much faster. +# DISABLE_UNTRACKED_FILES_DIRTY="true" + +# Uncomment the following line if you want to change the command execution time +# stamp shown in the history command output. +# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" +# HIST_STAMPS="mm/dd/yyyy" +HIST_STAMPS="yyyy-mm-dd" + +# Would you like to use another custom folder than $ZSH/custom? +# ZSH_CUSTOM=/path/to/new-custom-folder + +# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) +# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ +# Example format: plugins=(rails git textmate ruby lighthouse) +# Add wisely, as too many plugins slow down shell startup. +# plugins=(git) +plugins=(sudo taskwarrior common-aliases git-flow github vi-mode fzf python) +#plugins+=(zsh-vi-mode) +plugins+=(fzf-tab) + +# User configuration +export PATH="/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/kellya/bin:/home/kellya/incoming/git-annex.linux:/home/kellya/bin/keybase/bin:/home/kellya/.local/bin:/home/kellya/.cargo/bin" +# export MANPATH="/usr/local/man:$MANPATH" + + +DISABLE_AUTO_UPDATE='true' +source $ZSH/oh-my-zsh.sh + +source ~/dotfiles/zsh/zsh-git-prompt/zshrc.sh +RPS1='$(git_super_status)' + +#source ~/.autoenv/activate.sh + +# changing over to direnv from autoenv +eval "$(direnv hook zsh)" + +# Add PS1 for python virtualenv in direnv +show_virtual_env() { + if [[ -n "$VIRTUAL_ENV" && -n "$DIRENV_DIR" ]]; then + echo "($(basename $VIRTUAL_ENV))" + fi + } + PS1='$(show_virtual_env)'$PS1 + +#--------- End of direnv block ------------------------------------------------ + +unsetopt histverify +alias in='task add +in' +alias rtask="task rc:/home/kellya/.taskrc_tinslin" +alias atwork="task context work" +alias athome="task context home" +alias atschool="task context school" +alias atnone="task context none;" +alias icat="kitty +kitten icat" +alias d="kitty +kitten diff" +#eval "$(ntfy shell-integration)" +#source /usr/share/gems/gems/tmuxinator-0.6.11/completion/tmuxinator.zsh +source ~/.private_aliases +source /usr/bin/virtualenvwrapper.sh + + +#Aliases +alias dum='du -sh *|egrep ".*\.?[0-9]M"' +alias keploy='echo -e "\e[101;97mKeploy was removed, its functionality is already built in ssh-copy-id, just use that\e[49m"; ssh-copy-id' +alias shrug='curl shrug.io|xclip' +alias weather='curl wttr.in' +alias ipython='ipython --no-confirm-exit' + +#Variable Exports +export EDITOR='vim' +export PATH="$PATH:/home/kellya/go/bin" +#export WORKON_HOME=/mnt/vdisks/projects/python_virtualenvs +export LPASS_AGENT_TIMEOUT=0 +export PATH="/usr/local/heroku/bin:$PATH" + +#Source all the custom functions +# Load custom functions +for f (~/.functions/**/*(N.)) . $f + +#This didn't work, but I'll leave it here in case someday it does +#export AGNOSTER_PROMPT_SEGMENTS=("prompt_status" "prompt_context" "prompt_virtualenv" "prompt_dir" "prompt_end") +#cat /home/kellya/.local/share/franklinlogo.txt + +#Stop the annoying git prompt +prompt_git () { + : +} + + +# hyperdrive autocomplete setup +HYPERDRIVE_AC_ZSH_SETUP_PATH=/home/kellya/.cache/hyperdrive-daemon/autocomplete/zsh_setup && test -f $HYPERDRIVE_AC_ZSH_SETUP_PATH && source $HYPERDRIVE_AC_ZSH_SETUP_PATH; +alias vi=nvim +alias ashow="litecli --auto-vertical-output /home/kellya/snap/accountable2you/common/storage.db -e \"select * from log;\"" +alias akill="litecli --auto-vertical-output /home/kellya/snap/accountable2you/common/storage.db -e \"delete from log;\"" +alias mutt="neomutt" +fpath+=~/.zfunc +compinit +kitty + complete setup zsh | source /dev/stdin +# +# Enable 'z' tracking for directory speediness +source /usr/libexec/z.sh + +export PATH="$HOME/.poetry/bin:$PATH" + +#function chpwd() { +# if [ -r $PWD/.zsh_config ]; then +# source $PWD/.zsh_config +# else +# source $HOME/.zshrc +# fi +#} + +# +#FZF stuff +#source /usr/share/fzf/shell/key-bindings.zsh +zvm_after_init_commands+=('[ -f /usr/share/fzf/shell/key-bindings.zsh ] && source /usr/share/fzf/shell/key-bindings.zsh') +#source ~/.oh-my-zsh/completions/fzf_completion +export FZF_DEFAULT_OPTS="--extended" +export FZF_DEFAULT_COMMAND="fd --type f" +export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" + +#ZVM customizations +# Cursors seem backwards, swap 'em +ZVM_INSERT_MODE_CURSOR=$ZVM_CURSOR_BLOCK +ZVM_NORMAL_MODE_CURSOR=$ZVM_CURSOR_BEAM +ZVM_OPPEND_MODE_CURSOR=$ZVM_CURSOR_UNDERLINE +# defaults to last, make each line always insert +ZVM_LINE_INIT_MODE=$ZVM_MODE_INSERT diff --git a/private_dot_mutt/accounts/arachnitech b/private_dot_mutt/accounts/arachnitech new file mode 100644 index 0000000..038cd48 --- /dev/null +++ b/private_dot_mutt/accounts/arachnitech @@ -0,0 +1,20 @@ +set from = "kellya@arachnitech.com" +set sendmail = "/usr/bin/msmtp -a arachnitech" +set mbox = "+arachnitech/archive" +set postponed = "+arachnitech/drafts" +set record=+arachnitech/sent + + +color status color38 default + +macro index D \ + "+arachnitech/Trash" \ + "move message to the trash" + +macro index S \ + "+arachnitech/Spam" \ + "mark message as spam" + +macro index A \ + "+arachnitech/Archive" \ + "Archive message" diff --git a/private_dot_mutt/accounts/franklin b/private_dot_mutt/accounts/franklin new file mode 100644 index 0000000..bffb27a --- /dev/null +++ b/private_dot_mutt/accounts/franklin @@ -0,0 +1,20 @@ +set from = "alex.kelly@franklin.edu" +set sendmail = "/usr/bin/msmtp -a franklin" +set mbox = "+franklin/archive" +set postponed = "+franklin/drafts" +set record=+franklin/Sent + +color status cyan default +set pgp_default_key = "FE3A66764329CE891E807CD7DC441667D5FCB16F" + +macro index D \ + "+franklin/Trash" \ + "move message to the trash" + +macro index S \ + "+franklin/Spam" \ + "mark message as spam" + +macro index A \ + "+franklin/Archive" \ + "Archive message" diff --git a/private_dot_mutt/bindings.rc b/private_dot_mutt/bindings.rc new file mode 100644 index 0000000..cbf18d3 --- /dev/null +++ b/private_dot_mutt/bindings.rc @@ -0,0 +1,23 @@ +# Rules for handling the sidebar +bind index,pager \Cp sidebar-prev +# Move the highlight to the next mailbox +bind index,pager \Cn sidebar-next +# Open the highlighted mailbox +bind index,pager \Co sidebar-open +# Move the highlight to the previous page +# This is useful if you have a LOT of mailboxes. +bind index,pager sidebar-page-up +# Move the highlight to the next page +# This is useful if you have a LOT of mailboxes. +bind index,pager sidebar-page-down +# Move the highlight to the previous mailbox containing new, or flagged, +# mail. +bind index,pager sidebar-prev-new +# Move the highlight to the next mailbox containing new, or flagged, mail. +bind index,pager sidebar-next-new +# Toggle the visibility of the Sidebar. +bind index,pager B sidebar-toggle-visible +# make it so vi keys navigate the index, capital vi keys navigate the sidebar +bind index K sidebar-prev # got to previous folder in sidebar +bind index J sidebar-next # got to next folder in sidebar +bind index sidebar-open # open selected folder from sidebar diff --git a/private_dot_mutt/colors.rc b/private_dot_mutt/colors.rc new file mode 100644 index 0000000..32a1d61 --- /dev/null +++ b/private_dot_mutt/colors.rc @@ -0,0 +1,10 @@ +color body brightblue black (https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+ +color header cyan black subject +color header yellow black from +color header yellow black cc +color header color244 black to +color hdrdefault brightwhite black +color quoted brightgreen black +color status black cyan +color indicator default blue +color progress white red diff --git a/private_dot_mutt/executable_sources.sh b/private_dot_mutt/executable_sources.sh new file mode 100644 index 0000000..64440ca --- /dev/null +++ b/private_dot_mutt/executable_sources.sh @@ -0,0 +1 @@ +cat ~/.mutt/*.rc diff --git a/private_dot_mutt/gpg.old b/private_dot_mutt/gpg.old new file mode 100644 index 0000000..d773c15 --- /dev/null +++ b/private_dot_mutt/gpg.old @@ -0,0 +1,114 @@ +# -*-muttrc-*- +# +# Command formats for gpg. +# +# Some of the older commented-out versions of the commands use gpg-2comp from: +# http://70t.de/download/gpg-2comp.tar.gz +# +# %p The empty string when no passphrase is needed, +# the string "PGPPASSFD=0" if one is needed. +# +# This is mostly used in conditional % sequences. +# +# %f Most PGP commands operate on a single file or a file +# containing a message. %f expands to this file's name. +# +# %s When verifying signatures, there is another temporary file +# containing the detached signature. %s expands to this +# file's name. +# +# %a In "signing" contexts, this expands to the value of the +# configuration variable $pgp_sign_as, if set, otherwise +# $pgp_default_key. You probably need to +# use this within a conditional % sequence. +# +# %r In many contexts, mutt passes key IDs to pgp. %r expands to +# a list of key IDs. + + +# Section A: Key Management + +# The default key for encryption (used by $pgp_self_encrypt and +# $postpone_encrypt). +# +# It will also be used for signing unless $pgp_sign_as is set to a +# key. +# +# Unless your key does not have encryption capability, uncomment this +# line and replace the keyid with your own. +# +# set pgp_default_key="0x12345678" + +# If you have a separate signing key, or your key _only_ has signing +# capability, uncomment this line and replace the keyid with your +# signing keyid. +# +# set pgp_sign_as="0x87654321" + + +# Section B: Commands + +# Note that we explicitly set the comment armor header since GnuPG, when used +# in some localiaztion environments, generates 8bit data in that header, thereby +# breaking PGP/MIME. + +# decode application/pgp +set pgp_decode_command="gpg --status-fd=2 %?p?--passphrase-fd 0? --no-verbose --quiet --batch --output - %f" + +# verify a pgp/mime signature +set pgp_verify_command="gpg --status-fd=2 --no-verbose --quiet --batch --output - --verify %s %f" + +# decrypt a pgp/mime attachment +set pgp_decrypt_command="gpg --status-fd=2 %?p?--passphrase-fd 0? --no-verbose --quiet --batch --output - %f" + +# create a pgp/mime signed attachment +# set pgp_sign_command="gpg-2comp --comment '' --no-verbose --batch --output - %?p?--passphrase-fd 0? --armor --detach-sign --textmode %?a?-u %a? %f" +set pgp_sign_command="gpg --no-verbose --batch --quiet --output - %?p?--passphrase-fd 0? --armor --detach-sign --textmode %?a?-u %a? %f" + +# create a application/pgp signed (old-style) message +# set pgp_clearsign_command="gpg-2comp --comment '' --no-verbose --batch --output - %?p?--passphrase-fd 0? --armor --textmode --clearsign %?a?-u %a? %f" +set pgp_clearsign_command="gpg --no-verbose --batch --quiet --output - %?p?--passphrase-fd 0? --armor --textmode --clearsign %?a?-u %a? %f" + +# create a pgp/mime encrypted attachment +# set pgp_encrypt_only_command="pgpewrap gpg-2comp -v --batch --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f" +set pgp_encrypt_only_command="pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f" + +# create a pgp/mime encrypted and signed attachment +# set pgp_encrypt_sign_command="pgpewrap gpg-2comp %?p?--passphrase-fd 0? -v --batch --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f" +set pgp_encrypt_sign_command="pgpewrap gpg %?p?--passphrase-fd 0? --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f" + +# import a key into the public key ring +set pgp_import_command="gpg --no-verbose --import %f" + +# export a key from the public key ring +set pgp_export_command="gpg --no-verbose --export --armor %r" + +# verify a key +set pgp_verify_key_command="gpg --verbose --batch --fingerprint --check-sigs %r" + +# read in the public key ring +# note: the second --with-fingerprint adds fingerprints to subkeys +set pgp_list_pubring_command="gpg --no-verbose --batch --quiet --with-colons --with-fingerprint --with-fingerprint --list-keys %r" + +# read in the secret key ring +# note: the second --with-fingerprint adds fingerprints to subkeys +set pgp_list_secring_command="gpg --no-verbose --batch --quiet --with-colons --with-fingerprint --with-fingerprint --list-secret-keys %r" + +# fetch keys +# set pgp_getkeys_command="pkspxycwrap %r" + +# pattern for good signature - may need to be adapted to locale! + +# set pgp_good_sign="^gpgv?: Good signature from " + +# OK, here's a version which uses gnupg's message catalog: +# set pgp_good_sign="`gettext -d gnupg -s 'Good signature from "' | tr -d '"'`" + +# This version uses --status-fd messages +set pgp_good_sign="^\\[GNUPG:\\] GOODSIG" + +# pattern to verify a decryption occurred +# This is now deprecated by pgp_check_gpg_decrypt_status_fd: +# set pgp_decryption_okay="^\\[GNUPG:\\] DECRYPTION_OKAY" +set pgp_check_gpg_decrypt_status_fd + diff --git a/private_dot_mutt/gpg.rc b/private_dot_mutt/gpg.rc new file mode 100644 index 0000000..407401d --- /dev/null +++ b/private_dot_mutt/gpg.rc @@ -0,0 +1,12 @@ +set crypt_use_gpgme=yes +set postpone_encrypt = yes +set pgp_self_encrypt = yes +set crypt_use_pka = no +set crypt_autosign = yes +set crypt_autoencrypt = no +set crypt_autopgp = yes +set pgp_sign_as=738CA93A2DAD8D06C991CE4E5495537542CF2D94 + +send2-hook . unset pgp_sign_as +send2-hook '~f alex.kelly@franklin.edu' set pgp_sign_as=738CA93A2DAD8D06C991CE4E5495537542CF2D94 +send2-hook '~f kellya@arachnitech.com' set pgp_sign_as=15CD8B0B88DD99E8882B7A90DB2139896E9F21BD diff --git a/private_dot_mutt/macros.rc b/private_dot_mutt/macros.rc new file mode 100644 index 0000000..3645446 --- /dev/null +++ b/private_dot_mutt/macros.rc @@ -0,0 +1,32 @@ +#index +macro index \ + "unset wait_key~/bin/mutt-notmuch --prompt search -o ~/Maildir/mutt_results~/Maildir/mutt_results" \ + "search mail (using notmuch)" +macro index \ + "unset wait_key~/bin/mutt-notmuch thread~/.cache/Maildir/set wait_key" \ + "search and reconstruct owning thread (using notmuch)" +# macro index,browser t "mutt2task" +macro index,browser,pager t "/home/kellya/projects/arachnitech/mutt2tw/mutt2tw.py"\ +"A" +# 'L' performs a notmuch query, showing only the results +macro index L "unset wait_keyread -p 'notmuch query: ' x; echo \$x >~/.cache/mutt_terms~i \"\`notmuch search --output=messages \$(cat ~/.cache/mutt_terms) | head -n 600 | perl -le '@a=<>;chomp@a;s/\^id:// for@a;$,=\"|\";print@a'\`\"" "show only messages matching a notmuch pattern" +# 'a' shows all messages again (supersedes default binding) +### Nutmuch stuff +macro index a "all\n" "show all messages (undo limit)" +macro index \\\\ "" # looks up a hand made query +macro index I "-inbox -unread\\n" # removed from inbox +macro index S "-inbox -unread +junk\\n" # tag as Junk mail +macro index + "+*\\n" # tag as starred +macro index - "-*\\n" # tag as unstarred +#### end notmuch stuff + +#Attachments +macro attach A "/home/kellya/projects/public/mutt-filters/vcalendar-filter | /home/kellya/projects/public/khal/misc/mutt2khal" + +# Archive +# macro index A ":set confirmappend=no delete=yes\n=archive\n:set confirmappend=no delete=yes\n+archive -unread -inbox\\n" +bind index,browser,pager . noop +macro index .cp 'source ~/.mutt/accounts/arachnitech~/Maildir/arachnitech/INBOX/' +macro index .cc 'source ~/.mutt/accounts/franklin~/Maildir/franklin/INBOX/' +#macro pager .ob 'urlview' 'Follow links with urlview' +macro index,pager .ob " urlscan" "call urlscan to extract URLs out of a message" diff --git a/private_dot_mutt/mailboxes.rc b/private_dot_mutt/mailboxes.rc new file mode 100644 index 0000000..56b5d5d --- /dev/null +++ b/private_dot_mutt/mailboxes.rc @@ -0,0 +1,5 @@ +named-mailboxes "━━━━━┫ Arachnitech ┣━━━━━" "+arachnitech/INBOX" +named-mailboxes " Blockchain" "+arachnitech/Blockchain" +named-mailboxes "━━━━━┫ Franklin ┣━━━━━" "+franklin/INBOX" +named-mailboxes " Archive" "+franklin/Archive" +named-mailboxes " Sent" "+franklin/Sent" diff --git a/private_dot_mutt/muttrc b/private_dot_mutt/muttrc new file mode 100644 index 0000000..69c1b91 --- /dev/null +++ b/private_dot_mutt/muttrc @@ -0,0 +1,48 @@ +#set record=~/Maildir/arachnitech/Sent +set sidebar_visible = yes +set sidebar_short_path # Shorten mailbox names +set sidebar_delim_chars="/" # Delete everything up to the last / character +set sidebar_width=27 +#set sidebar_folder_indent # Indent folders whose names we've shortened +#set sidebar_indent_string=" " # Indent with two spaces +color sidebar_new yellow default +color sidebar_indicator default color17 # Dark blue background +color sidebar_highlight white color238 # Grey background +color sidebar_spoolfile yellow default # Yellow +color sidebar_new green default # Green +color sidebar_ordinary default default # Default colors +color sidebar_flagged red default # Red +color sidebar_divider color8 default # Dark grey +## set record="~/Maildir/Sent Mail" +set spoolfile="+franklin/INBOX" +# set header cache +set header_cache=~/Localmail/hcache +set mbox_type=Maildir +set folder=~/Maildir/ +set sort=reverse-date-received +set pager_stop=yes +set fast_reply +set include=yes +# IMAP and INBOX (this should map to any existing IMAP folders) +folder-hook arachnitech/* source ~/.mutt/accounts/arachnitech +folder-hook franklin/* source ~/.mutt/accounts/franklin +# auto_view text/html +#alternative_order text/plain text/enriched text/html +auto_view text/html +auto_view text/calendar + +# Just do what I tell you to, consequences be damned +set noconfirmappend +#set confirmappend=yes +set delete=yes +# Show new notification when mail arrives +set new_mail_command="notify-send -t 2000 --icon='/home/kellya/images/mutt-1.png' -a mutt -c mail \ + 'New Emails' '%n new messages' &" + +# Run a script to cat anything that has .rc as the extension to auto source things +source ~/.mutt/sources.sh| + +# Addressbook lookup +set query_command="khard email -p '%s'" +bind editor complete-query +set editor="nvim -S ~/.mutt/vimrc" diff --git a/private_dot_mutt/notmuch.rc b/private_dot_mutt/notmuch.rc new file mode 100644 index 0000000..2817f5c --- /dev/null +++ b/private_dot_mutt/notmuch.rc @@ -0,0 +1,4 @@ +set nm_default_url = "notmuch:///home/kellya/Maildir" +virtual-mailboxes "━━━━━┫ Not Much ┣━━━━━" "notmuch://?query=tag:inbox" +virtual-mailboxes " Arachnitech INBOX" "notmuch://?query=tag:inbox&query=to:*arachnitech.com" +virtual-mailboxes " Franklin INBOX" "notmuch://?query=tag:inbox&query=to:*franklin.edu" diff --git a/private_dot_mutt/private_cache/private_bodies/private_imap:kellya@192.168.0.125:143/private_INBOX/private_1570538954-12920 b/private_dot_mutt/private_cache/private_bodies/private_imap:kellya@192.168.0.125:143/private_INBOX/private_1570538954-12920 new file mode 100644 index 0000000..55766d3 --- /dev/null +++ b/private_dot_mutt/private_cache/private_bodies/private_imap:kellya@192.168.0.125:143/private_INBOX/private_1570538954-12920 @@ -0,0 +1,264 @@ +Return-Path: +Received: from desis.arachnitech.com ([unix socket]) + by desis.arachnitech.com (Cyrus 2.5.15-28-g7d1550bfa-Kolab-2.5.15.28-1.20.el7.kolab_16) with LMTPA; + Wed, 10 Mar 2021 09:21:18 -0500 +X-Sieve: CMU Sieve 2.4 +X-Virus-Scanned: amavisd-new at arachnitech.com +X-Spam-Flag: NO +X-Spam-Score: -0.092 +X-Spam-Level: +X-Spam-Status: No, score=-0.092 tagged_above=-10 required=6.2 + tests=[DKIMWL_WL_HIGH=-0.243, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, + DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.249, + HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, + URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no +Authentication-Results: desis.arachnitech.com (amavisd-new); + dkim=pass (1024-bit key) header.d=github.com +Received: from s214f.ik2.com (s214f.ik2.com [208.77.151.118]) + by desis.arachnitech.com (Postfix) with ESMTPS id 7ACBE350 + for ; Wed, 10 Mar 2021 09:21:14 -0500 (EST) +Received: from s250a.ik2.com + by s214f.ik2.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) + (envelope-from ) id 1lJzi3-0004gV-TG + for kellya@arachnitech.com; Wed, 10 Mar 2021 14:21:12 +0000 +Received: from 192.30.252.201 by s250a.ik2.com (IK2 SMTP Server); + Wed, 10 Mar 2021 14:21:10 +0000 +Received: from github.com (hubbernetes-node-4f064af.va3-iad.github.net + [10.48.114.44]) + by smtp.github.com (Postfix) with ESMTPA id 057843406F2 + for ; Wed, 10 Mar 2021 06:21:08 -0800 (PST) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; + s=pf2014; t=1615386068; + bh=wfKjHC8f33f5tPC0r7vNXCoIwc1zGPt//UQubP8I+3Q=; + h=Date:From:To:Subject:From; + b=x9StawBnq6/L4X4nYAFqh0wbGYumrG5w0kox8qxPJOKLTYpIqu00DPSnKylTDXP5O + QI5c581RlP+snBhnlkw/QVv7mnbbEMg/0vjVlh73xa8Fp2oFPPtbyYWUIL1jA7wSsk + Ps2+CGwibuQ3i0ASH/K50enPoqaBeC9/9+qCdLN0= +Date: Wed, 10 Mar 2021 06:21:08 -0800 +From: GitHub +To: kellya@arachnitech.com +Message-ID: <6048d5d431e4_5ca17d41328f4@lowworker-7f6b9d8d47-rjzbw.mail> +Subject: =?UTF-8?Q?You're_in!_Welcome_to_GitHub_Sponsors_=F0=9F=92=96?= +Mime-Version: 1.0 +Content-Type: multipart/alternative; + boundary="--==_mimepart_6048d5d429f9_5ca17d41327fe"; + charset=UTF-8 +Content-Transfer-Encoding: 7bit +X-Auto-Response-Suppress: All +X-SF-RX-Return-Path: +X-SF-Originating-IP: 192.30.252.201 +X-SF-Score: 1.2 +X-SF-Alias: alex.kelly@arachnitech.com +X-SF-SRS: Sender address rewritten from to + +X-SF-Domain: ffsuvdhlly + + +----==_mimepart_6048d5d429f9_5ca17d41327fe +Content-Type: text/plain; + charset=UTF-8 +Content-Transfer-Encoding: quoted-printable + +# Welcome to GitHub Sponsors!=0D +=0D +You're just a couple of steps away from receiving your first funds as a s= +ponsored=0D +developer.=0D +=0D +### Step 1: Submit your contact information=0D +=0D +Before you can start filling out your GitHub Sponsors profile, please sub= +mit=0D +your contact information.=0D +=0D +https://github.com/sponsors/kellya/signup=0D +=0D +### Step 2: Create your GitHub Sponsors profile=0D +=0D +After submitting contact details, fill out your profile in your GitHub Sp= +onsors=0D +dashboard.=0D +=0D +https://github.com/sponsors/kellya/dashboard=0D +=0D +Here are some helpful guides:=0D +=0D +- Learn more about setting up your profile:=0D + https://docs.github.com/articles/becoming-a-sponsored-developer#complet= +ing-your-sponsored-developer-profile=0D +=0D +- Check out the Sponsors landing page to see how other developers set up = +their=0D + own profiles:=0D + https://github.com/sponsors=0D +=0D +### Step 3: Get your profile approved=0D +=0D +Once you complete your GitHub Sponsors profile, submit it for identity ve= +rification=0D +and approval by GitHub staff. We'll follow up by email when your profile = +has been approved.=0D +=0D +### Step 4: Get paid=0D +=0D + Once you receive your first sponsorship, you will be paid around the 22= +nd of each month!=0D +=0D +And that's it! Thank you for your contribution to open source =E2=80=94 w= +e're excited to see=0D +all the ways GitHub Sponsors can support you.=0D + +----==_mimepart_6048d5d429f9_5ca17d41327fe +Content-Type: text/html; + charset=UTF-8 +Content-Transfer-Encoding: 7bit + + + + + + +Welcome to GitHub Sponsors! + + + + + + + + + + + +
+
+ + +
+ + + + +
+ + GitHub + +
+
+ +

+ Welcome to GitHub Sponsors! +

+ +

+ You're just a couple of steps away from receiving your first funds as a sponsored developer. +

+ +

+ Step 1: Submit your contact information +

+ +

+ Before you can start filling out your GitHub Sponsors profile, please submit your contact information. +

+ +

+ Step 2: Create your GitHub Sponsors profile +

+ +pending GitHub Sponsors profile + +

+ Fill out your profile in + your GitHub Sponsors dashboard. Here are some helpful guides: +

+ + + +

+ Step 3: Get your profile approved +

+ +

+ Once you complete your GitHub Sponsors profile, submit it for identity verification and approval by GitHub staff. We'll follow up by email when your profile has been approved. +

+ +

+ Step 4: Get paid +

+ +

+ Once you receive your first sponsorship, you will be paid around the 22nd of each month! +

+ +

+ And that's it! Thank you for your contribution to open source — we're excited to see all the ways GitHub Sponsors can support you. +

+ + welcometocat + + +
+ +
+ + + + +----==_mimepart_6048d5d429f9_5ca17d41327fe-- diff --git a/private_dot_mutt/private_cache/private_headers b/private_dot_mutt/private_cache/private_headers new file mode 100644 index 0000000000000000000000000000000000000000..6246f20e71ef82019de7b7e973c2699b26d5935f GIT binary patch literal 136192 zcmeI$zbnLH90%~{dr`VY|+uhk|y1_vdjmMR8vb=D1IWyR}n7ul$ zPp{>Ui`RwXQBp_>#r#RW7~i};*PeEg?w7U4+ICkpw^&XF<|lUdcJ{YcCU5IE!-wgE Gw1GF4xG@X> literal 0 HcmV?d00001 diff --git a/private_dot_mutt/vimrc b/private_dot_mutt/vimrc new file mode 100644 index 0000000..3319feb --- /dev/null +++ b/private_dot_mutt/vimrc @@ -0,0 +1,3 @@ +set textwidth=0 +set wrapmargin=0 +set spell spelllang=en_us From 5ac2d919c00ff8125ff19e237a15ec02409e4d52 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 1 Jun 2021 13:56:18 -0400 Subject: [PATCH 061/160] Added readme --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..077da5c --- /dev/null +++ b/README.md @@ -0,0 +1,7 @@ +# dotfiles + +The repo to track all my dotfiles changes. + +Old changes are my "homegrown symlink" solution that are in the *master* branch. + +Changes moving forward are in the *main* branch and are tracked with chezmois. From 54d8d5e811dce23732bd881ca89b3dc0ba4d12f6 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 1 Jun 2021 14:09:59 -0400 Subject: [PATCH 062/160] Ignore README --- .chezmoiignore | 1 + dot_taskrc | 6 ------ 2 files changed, 1 insertion(+), 6 deletions(-) create mode 100644 .chezmoiignore diff --git a/.chezmoiignore b/.chezmoiignore new file mode 100644 index 0000000..b43bf86 --- /dev/null +++ b/.chezmoiignore @@ -0,0 +1 @@ +README.md diff --git a/dot_taskrc b/dot_taskrc index 049cdf0..d5295e6 100644 --- a/dot_taskrc +++ b/dot_taskrc @@ -94,12 +94,6 @@ data.location=~/.task #include /usr/share/taskwarrior/solarized-light-256.theme #include /usr/share/taskwarrior/no-color.theme -#WingTask sync server -#taskd.server=app.wingtask.com:53589 -#taskd.key=/home/kellya/.wingtask_certs/kellya@arachnitech.com.key.pem -#taskd.ca=/home/kellya/.wingtask_certs/dst.pem -#taskd.certificate=/home/kellya/.wingtask_certs/kellya@arachnitech.com.cert.pem -#taskd.credentials=WingTask/kellya@arachnitech.com/df7a90d6-94b3-4406-9f34-066c9149db2b dateformat=Y-M-DTH:N context.work.read=+work -home or -TAGGED context.work.write=+work From a0987bf469f1add00e999cec041801ca2570411d Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 1 Jun 2021 14:15:09 -0400 Subject: [PATCH 063/160] Additional configs added --- dot_bashrc | 27 +++++++++++++++++++ dot_config/khal/config | 16 ++++++++++++ dot_config/khard/khard.conf | 52 +++++++++++++++++++++++++++++++++++++ dot_ideavimrc | 2 ++ 4 files changed, 97 insertions(+) create mode 100644 dot_bashrc create mode 100644 dot_config/khal/config create mode 100644 dot_config/khard/khard.conf create mode 100644 dot_ideavimrc diff --git a/dot_bashrc b/dot_bashrc new file mode 100644 index 0000000..ad4581e --- /dev/null +++ b/dot_bashrc @@ -0,0 +1,27 @@ +# .bashrc + +# Source global definitions +if [ -f /etc/bashrc ]; then + . /etc/bashrc +fi + +# User specific environment +if ! [[ "$PATH" =~ "$HOME/.local/bin:$HOME/bin:" ]] +then + PATH="$HOME/.local/bin:$HOME/bin:$PATH" +fi +export PATH + +# Uncomment the following line if you don't like systemctl's auto-paging feature: +# export SYSTEMD_PAGER= + +# User specific aliases and functions +if [ -d ~/.bashrc.d ]; then + for rc in ~/.bashrc.d/*; do + if [ -f "$rc" ]; then + . "$rc" + fi + done +fi + +unset rc diff --git a/dot_config/khal/config b/dot_config/khal/config new file mode 100644 index 0000000..10dd680 --- /dev/null +++ b/dot_config/khal/config @@ -0,0 +1,16 @@ +[calendars] + +[[franklin_calendar_local]] +path = ~/.calendars/* +type = discover + +[[franklin_contacts_local]] +path = ~/.contacts/* +type = discover + +[locale] +timeformat = %H:%M +dateformat = %Y-%m-%d +longdateformat = %Y-%m-%d +datetimeformat = %Y-%m-%d %H:%M +longdatetimeformat = %Y-%m-%d %H:%M diff --git a/dot_config/khard/khard.conf b/dot_config/khard/khard.conf new file mode 100644 index 0000000..dd317e2 --- /dev/null +++ b/dot_config/khard/khard.conf @@ -0,0 +1,52 @@ +# example configuration file for khard version > 0.14.0 +# place it under ~/.config/khard/khard.conf +# This file is parsed by the configobj library. The syntax is described at +# https://configobj.readthedocs.io/en/latest/configobj.html#the-config-file-format + +[addressbooks] +[[franklin]] +path = ~/.contacts/contacts + +[general] +debug = no +default_action = list +# These are either strings or comma seperated lists +editor = vim, -i, NONE +merge_editor = vimdiff + +[contact table] +# display names by first or last name: first_name / last_name / formatted_name +display = first_name +# group by address book: yes / no +group_by_addressbook = no +# reverse table ordering: yes / no +reverse = no +# append nicknames to name column: yes / no +show_nicknames = no +# show uid table column: yes / no +show_uids = yes +# sort by first or last name: first_name / last_name / formatted_name +sort = last_name +# localize dates: yes / no +localize_dates = yes +# set a comma separated list of preferred phone number types in descending priority +# or nothing for non-filtered alphabetical order +preferred_phone_number_type = pref, cell, home +# set a comma separated list of preferred email address types in descending priority +# or nothing for non-filtered alphabetical order +preferred_email_address_type = pref, work, home + +[vcard] +# extend contacts with your own private objects +# these objects are stored with a leading "X-" before the object name in the vcard files +# every object label may only contain letters, digits and the - character +# example: +# private_objects = Jabber, Skype, Twitter +# default: , (the empty list) +private_objects = Jabber, Skype, Twitter +# preferred vcard version: 3.0 / 4.0 +preferred_version = 3.0 +# Look into source vcf files to speed up search queries: yes / no +search_in_source_files = no +# skip unparsable vcard files: yes / no +skip_unparsable = no diff --git a/dot_ideavimrc b/dot_ideavimrc new file mode 100644 index 0000000..1dd6d7c --- /dev/null +++ b/dot_ideavimrc @@ -0,0 +1,2 @@ +set relativenumber +set number From 02334303b141a0668d4ae69ae799c7a8726da303 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 1 Jun 2021 15:37:55 -0400 Subject: [PATCH 064/160] Attempted to template the gitconfig --- dot_gitconfig.tmpl | 49 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 dot_gitconfig.tmpl diff --git a/dot_gitconfig.tmpl b/dot_gitconfig.tmpl new file mode 100644 index 0000000..f14a9ba --- /dev/null +++ b/dot_gitconfig.tmpl @@ -0,0 +1,49 @@ +[core] + editor = vim + quotepath = false + pager = delta +[alias] + st = status + ci = commit + br = branch + co = checkout + df = diff + lg = log -p + hist = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short +[credential] + helper = cache --timeout=3600 +[push] + default = simple +[github] + user = {{ (index (lastpass "github_token") 0).username | quote }} + token = {{ (index (lastpass "github_token") 0).password | quote }} +[diff] + tool = meld +[difftool] + prompt = false +[color] + ui = auto +[filter "lfs"] + clean = git-lfs clean -- %f + smudge = git-lfs smudge -- %f + process = git-lfs filter-process + required = true +[pull] + rebase = false +[user] + name = {{ .contact.work.name }} + email = {{ .contact.work.email }} +[includeIf "gitdir:~/projects/arachnitech/"] + path = ~/.gitconfig-arachnitech + +[includeIf "gitdir:~/projects/franklin/"] + path = ~/.gitconfig-franklin +[init] + defaultBranch = main +[delta] + plus-style = "syntax #012800" + minus-style = "syntax #340001" + syntax-theme = Monokai Extended + +[interactive] + diffFilter = delta --color-only From 417905618a9331e8c6c09049fa771612fcfedc01 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 1 Jun 2021 15:49:42 -0400 Subject: [PATCH 065/160] Further templating and abstracting details --- dot_gitconfig.tmpl | 52 +++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/dot_gitconfig.tmpl b/dot_gitconfig.tmpl index f14a9ba..2c3fae8 100644 --- a/dot_gitconfig.tmpl +++ b/dot_gitconfig.tmpl @@ -1,45 +1,45 @@ [core] - editor = vim - quotepath = false + editor = vim + quotepath = false pager = delta [alias] - st = status - ci = commit - br = branch - co = checkout - df = diff - lg = log -p - hist = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short + st = status + ci = commit + br = branch + co = checkout + df = diff + lg = log -p + hist = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short [credential] - helper = cache --timeout=3600 + helper = cache --timeout=3600 [push] - default = simple + default = simple [github] user = {{ (index (lastpass "github_token") 0).username | quote }} token = {{ (index (lastpass "github_token") 0).password | quote }} [diff] - tool = meld + tool = meld [difftool] - prompt = false + prompt = false [color] - ui = auto + ui = auto [filter "lfs"] - clean = git-lfs clean -- %f - smudge = git-lfs smudge -- %f - process = git-lfs filter-process - required = true + clean = git-lfs clean -- %f + smudge = git-lfs smudge -- %f + process = git-lfs filter-process + required = true [pull] - rebase = false + rebase = false [user] - name = {{ .contact.work.name }} - email = {{ .contact.work.email }} -[includeIf "gitdir:~/projects/arachnitech/"] - path = ~/.gitconfig-arachnitech + name = {{ .gitconfig.work.name }} + email = {{ .gitconfig.work.email }} +[includeIf "gitdir:~/projects/{{- .gitconfig.home.config }}/"] + path = ~/.gitconfig-{{- .gitconfig.home.config }} -[includeIf "gitdir:~/projects/franklin/"] - path = ~/.gitconfig-franklin +[includeIf "gitdir:~/projects/{{- .gitconfig.work.config }}/"] + path = ~/.gitconfig-{{- .gitconfig.work.config }} [init] - defaultBranch = main + defaultBranch = main [delta] plus-style = "syntax #012800" minus-style = "syntax #340001" From c5677e9edddbf6b83bc03d2a963598fb166c0d06 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 1 Jun 2021 16:28:27 -0400 Subject: [PATCH 066/160] Addec autocompletion for chezmoi --- dot_zshrc | 1 + 1 file changed, 1 insertion(+) diff --git a/dot_zshrc b/dot_zshrc index adacfc1..44d3a31 100644 --- a/dot_zshrc +++ b/dot_zshrc @@ -159,3 +159,4 @@ ZVM_NORMAL_MODE_CURSOR=$ZVM_CURSOR_BEAM ZVM_OPPEND_MODE_CURSOR=$ZVM_CURSOR_UNDERLINE # defaults to last, make each line always insert ZVM_LINE_INIT_MODE=$ZVM_MODE_INSERT +chezmoi completion zsh | source /dev/stdin From 67534d010d9b6658dc4c26ba2cd887f96090766f Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 1 Jun 2021 16:38:06 -0400 Subject: [PATCH 067/160] Extra junk cleaned up --- dot_taskrc | 31 ------------------------------- 1 file changed, 31 deletions(-) diff --git a/dot_taskrc b/dot_taskrc index d5295e6..7d1c8f9 100644 --- a/dot_taskrc +++ b/dot_taskrc @@ -63,37 +63,6 @@ complete.all.tags=yes active.indicator=▸ recurrence.indicator=♺ nag= -# [Created by task 2.5.1 7/6/2018 18:50:31] -# Taskwarrior program configuration file. -# For more documentation, see http://taskwarrior.org or try 'man task', 'man task-color', -# 'man task-sync' or 'man taskrc' - -# Here is an example of entries that use the default, override and blank values -# variable=foo -- By specifying a value, this overrides the default -# variable= -- By specifying no value, this means no default -# #variable=foo -- By commenting out the line, or deleting it, this uses the default - -# Use the command 'task show' to see all defaults and overrides - -# Files -data.location=~/.task - -# Color theme (uncomment one to use) -#include /usr/share/taskwarrior/light-16.theme -#include /usr/share/taskwarrior/light-256.theme -#include /usr/share/taskwarrior/dark-16.theme -#include /usr/share/taskwarrior/dark-256.theme -#include /usr/share/taskwarrior/dark-red-256.theme -#include /usr/share/taskwarrior/dark-green-256.theme -#include /usr/share/taskwarrior/dark-blue-256.theme -#include /usr/share/taskwarrior/dark-violets-256.theme -#include /usr/share/taskwarrior/dark-yellow-green.theme -#include /usr/share/taskwarrior/dark-gray-256.theme -#include /usr/share/taskwarrior/dark-gray-blue-256.theme -#include /usr/share/taskwarrior/solarized-dark-256.theme -#include /usr/share/taskwarrior/solarized-light-256.theme -#include /usr/share/taskwarrior/no-color.theme - dateformat=Y-M-DTH:N context.work.read=+work -home or -TAGGED context.work.write=+work From 76949291291f2afe83f71a156949c2a22a17d6a3 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Wed, 2 Jun 2021 14:24:30 -0400 Subject: [PATCH 068/160] Changed editor to neovim --- dot_zshrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dot_zshrc b/dot_zshrc index 44d3a31..8d5393f 100644 --- a/dot_zshrc +++ b/dot_zshrc @@ -100,7 +100,7 @@ alias weather='curl wttr.in' alias ipython='ipython --no-confirm-exit' #Variable Exports -export EDITOR='vim' +export EDITOR='nvim' export PATH="$PATH:/home/kellya/go/bin" #export WORKON_HOME=/mnt/vdisks/projects/python_virtualenvs export LPASS_AGENT_TIMEOUT=0 From ace550a5896a0d2dc95d6df512ef4f7a935f17dd Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Mon, 7 Jun 2021 12:18:25 -0400 Subject: [PATCH 069/160] Changed black's branch to main, updating was weird --- dot_config/nvim/init.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dot_config/nvim/init.vim b/dot_config/nvim/init.vim index d8a7ea9..aded5ae 100644 --- a/dot_config/nvim/init.vim +++ b/dot_config/nvim/init.vim @@ -35,7 +35,7 @@ call plug#begin(g:plugged_home) Plug 'direnv/direnv.vim' Plug 'sheerun/vim-polyglot' Plug 'tpope/vim-fugitive' - Plug 'psf/black', { 'branch': 'stable' } + Plug 'psf/black', { 'branch': 'main' } " This was fun and all, but getting data out sucked, so if they ever get an " update, maybe try again "Plugin 'ActivityWatch/aw-watcher-vim' From 52fa5a2147de8f81073c6c63aa538cfcd61298bd Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 8 Jun 2021 14:35:32 -0400 Subject: [PATCH 070/160] Added tmux as the default shell --- dot_config/kitty/kitty.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dot_config/kitty/kitty.conf b/dot_config/kitty/kitty.conf index 9355fd1..3ae24fb 100644 --- a/dot_config/kitty/kitty.conf +++ b/dot_config/kitty/kitty.conf @@ -774,7 +774,7 @@ mark3_background #f274bc #: Advanced {{{ -shell . +shell tmux #: The shell program to execute. The default value of . means to use #: whatever shell is set as the default shell for the current user. From fdf1ffb04ef0878a51f2476ae68fe530c3d7959b Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 8 Jun 2021 14:47:44 -0400 Subject: [PATCH 071/160] Attempt to add fzf to vim --- dot_config/nvim/init.vim | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dot_config/nvim/init.vim b/dot_config/nvim/init.vim index aded5ae..6251e41 100644 --- a/dot_config/nvim/init.vim +++ b/dot_config/nvim/init.vim @@ -36,6 +36,7 @@ call plug#begin(g:plugged_home) Plug 'sheerun/vim-polyglot' Plug 'tpope/vim-fugitive' Plug 'psf/black', { 'branch': 'main' } + Plug 'junegunn/fzf.vim' " This was fun and all, but getting data out sucked, so if they ever get an " update, maybe try again "Plugin 'ActivityWatch/aw-watcher-vim' @@ -210,3 +211,4 @@ let g:webdevicons_enable = 1 let g:webdevicons_enable_nerdtree = 1 autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtab autocmd BufWritePre *.py execute ':Black' +let g:fzf_layout = { 'window': { 'width': 0.8, 'height': 0.5, 'highlight': 'Comment' } } From 656ae606db8521158b1c3628309242dd203a3fe2 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Fri, 18 Jun 2021 17:04:25 -0400 Subject: [PATCH 072/160] Added poetry bit to direnv --- dot_direnvrc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/dot_direnvrc b/dot_direnvrc index 4abe70d..609a09a 100644 --- a/dot_direnvrc +++ b/dot_direnvrc @@ -7,3 +7,15 @@ layout_virtualenvwrapper() { local venv_path="${WORKON_HOME}/$1" layout_virtualenv $venv_path } + +layout_poetry() { + if [[ ! -f pyproject.toml ]]; then + log_error 'No pyproject.toml found. Use `poetry new` or `poetry init` to create one first.' + exit 2 + fi + + local VENV=$(dirname $(poetry run which python)) + export VIRTUAL_ENV=$(echo "$VENV" | rev | cut -d'/' -f2- | rev) + export POETRY_ACTIVE=1 + PATH_add "$VENV" +} From 7189693307167b4fdce616100b945d367e71b6c5 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Mon, 21 Jun 2021 16:35:52 -0400 Subject: [PATCH 073/160] Attempt to disable things that are annoying --- dot_muttrc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dot_muttrc b/dot_muttrc index 69c1b91..63f7197 100644 --- a/dot_muttrc +++ b/dot_muttrc @@ -39,6 +39,11 @@ set delete=yes set new_mail_command="notify-send -t 2000 --icon='/home/kellya/images/mutt-1.png' -a mutt -c mail \ 'New Emails' '%n new messages' &" +#Remove annoying things +set markers=no +set smart_wrap=no +set beep=no + # Run a script to cat anything that has .rc as the extension to auto source things source ~/.mutt/sources.sh| @@ -46,3 +51,4 @@ source ~/.mutt/sources.sh| set query_command="khard email -p '%s'" bind editor complete-query set editor="nvim -S ~/.mutt/vimrc" + From 4005a311d30b3e6231b8c4b371f6fb17cbc99e77 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Mon, 21 Jun 2021 16:36:20 -0400 Subject: [PATCH 074/160] Attempt to autoload compinit to force gh command completion --- dot_zshrc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dot_zshrc b/dot_zshrc index 8d5393f..2962083 100644 --- a/dot_zshrc +++ b/dot_zshrc @@ -127,7 +127,8 @@ alias ashow="litecli --auto-vertical-output /home/kellya/snap/accountable2you/co alias akill="litecli --auto-vertical-output /home/kellya/snap/accountable2you/common/storage.db -e \"delete from log;\"" alias mutt="neomutt" fpath+=~/.zfunc -compinit +autoload -U compinit +compinit -i kitty + complete setup zsh | source /dev/stdin # # Enable 'z' tracking for directory speediness @@ -160,3 +161,4 @@ ZVM_OPPEND_MODE_CURSOR=$ZVM_CURSOR_UNDERLINE # defaults to last, make each line always insert ZVM_LINE_INIT_MODE=$ZVM_MODE_INSERT chezmoi completion zsh | source /dev/stdin + From a121e00f35e9e9b0381c98dbdafa5543530df4ee Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Mon, 28 Jun 2021 11:02:24 -0400 Subject: [PATCH 075/160] Changed to the 256 dark theme --- dot_taskrc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dot_taskrc b/dot_taskrc index 7d1c8f9..77b55f2 100644 --- a/dot_taskrc +++ b/dot_taskrc @@ -16,10 +16,11 @@ data.location=~/.task # Color theme (uncomment one to use) #include /usr/share/task/dark-16.theme +#dark256 is decent #include /usr/share/task/dark-256.theme -#include /usr/share/task/dark-blue-256.theme +include /usr/share/task/dark-blue-256.theme ##This next one is the best guess so far -include /usr/share/task/dark-gray-256.theme +####include /usr/share/task/dark-gray-256.theme #The active task on dark gray blue is too hard to read #include /usr/share/task/dark-gray-blue-256.theme #include /usr/share/task/dark-green-256.theme From 1a0ee30526c382d5c68c338d31e821213bee770c Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Mon, 28 Jun 2021 11:27:33 -0400 Subject: [PATCH 076/160] Experimenting with my own version of the spaceduck theme for taskwarrior --- dot_taskrc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dot_taskrc b/dot_taskrc index 77b55f2..0a2d7d3 100644 --- a/dot_taskrc +++ b/dot_taskrc @@ -18,7 +18,8 @@ data.location=~/.task #include /usr/share/task/dark-16.theme #dark256 is decent #include /usr/share/task/dark-256.theme -include /usr/share/task/dark-blue-256.theme +#PICK dark-blue-256 if in doubt +#include /usr/share/task/dark-blue-256.theme ##This next one is the best guess so far ####include /usr/share/task/dark-gray-256.theme #The active task on dark gray blue is too hard to read @@ -34,6 +35,7 @@ include /usr/share/task/dark-blue-256.theme #include /usr/share/task/solarized-light-256.theme #include /usr/share/task/light-256.theme #include /usr/share/task/no-color.theme +include ~/.task/spaceduck.theme taskd.certificate=/home/kellya/.task/private.certificate.pem taskd.key=/home/kellya/.task/private.key.pem From eff85aa5355c8ef80dc5f08e4a22a876eb361a88 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Wed, 30 Jun 2021 12:13:24 -0400 Subject: [PATCH 077/160] Added kmonad config parsing pluging --- dot_vimrc | 1 + 1 file changed, 1 insertion(+) diff --git a/dot_vimrc b/dot_vimrc index b77e714..3448668 100644 --- a/dot_vimrc +++ b/dot_vimrc @@ -65,6 +65,7 @@ Plugin 'dbeniamine/cheat.sh-vim' Plugin 'jacqueswww/vim-vyper' Plugin 'tomlion/vim-solidity' Plugin 'kien/ctrlp.vim' +Plugin 'kmonad/kmonad-vim' "let g:deoplete#enable_at_startup = 1 From b23dcf7fb8d4a861718b85fb80a89671ec519c07 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Wed, 30 Jun 2021 12:13:37 -0400 Subject: [PATCH 078/160] added joplin uda --- dot_taskrc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dot_taskrc b/dot_taskrc index 0a2d7d3..a47b99d 100644 --- a/dot_taskrc +++ b/dot_taskrc @@ -35,7 +35,7 @@ data.location=~/.task #include /usr/share/task/solarized-light-256.theme #include /usr/share/task/light-256.theme #include /usr/share/task/no-color.theme -include ~/.task/spaceduck.theme +include ~/projects/arachnitech/tw-spaceduck/spaceduck.theme taskd.certificate=/home/kellya/.task/private.certificate.pem taskd.key=/home/kellya/.task/private.key.pem @@ -56,6 +56,8 @@ uda.intheamtrellolistname.type=string uda.intheamtrellolistname.label=Inthe.AM Trello List Name uda.messageid.type=string uda.messageid.label=Message-ID +uda.joplin.type=string +uda.joplin.label=Joplin verbose=no report.simple.description=Simple list of open tasks by project report.simple.columns=id,project,description.count From ac73fb9766d3de8161bc1a9fab95d8b512d503f1 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Wed, 7 Jul 2021 16:53:10 -0400 Subject: [PATCH 079/160] cleanup after failing to get a notmuch lookup thing to work --- dot_muttrc | 2 +- private_dot_mutt/muttrc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dot_muttrc b/dot_muttrc index 63f7197..61195bf 100644 --- a/dot_muttrc +++ b/dot_muttrc @@ -50,5 +50,5 @@ source ~/.mutt/sources.sh| # Addressbook lookup set query_command="khard email -p '%s'" bind editor complete-query -set editor="nvim -S ~/.mutt/vimrc" +set editor="nvim -S ~/.mutt/vimrc" diff --git a/private_dot_mutt/muttrc b/private_dot_mutt/muttrc index 69c1b91..57e2268 100644 --- a/private_dot_mutt/muttrc +++ b/private_dot_mutt/muttrc @@ -43,6 +43,6 @@ set new_mail_command="notify-send -t 2000 --icon='/home/kellya/images/mutt-1.png source ~/.mutt/sources.sh| # Addressbook lookup -set query_command="khard email -p '%s'" +#set query_command="khard email -p '%s'" bind editor complete-query set editor="nvim -S ~/.mutt/vimrc" From ae4444e5f44ad4a2a3138c43f32c9b60da9f7a32 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Thu, 8 Jul 2021 14:07:25 -0400 Subject: [PATCH 080/160] Added zplug for plugin management --- dot_zshrc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/dot_zshrc b/dot_zshrc index 2962083..faf5c4c 100644 --- a/dot_zshrc +++ b/dot_zshrc @@ -132,7 +132,8 @@ compinit -i kitty + complete setup zsh | source /dev/stdin # # Enable 'z' tracking for directory speediness -source /usr/libexec/z.sh +# Temporarily disabiling while using fasd +# source /usr/libexec/z.sh export PATH="$HOME/.poetry/bin:$PATH" @@ -162,3 +163,9 @@ ZVM_OPPEND_MODE_CURSOR=$ZVM_CURSOR_UNDERLINE ZVM_LINE_INIT_MODE=$ZVM_MODE_INSERT chezmoi completion zsh | source /dev/stdin +#Trying out fasd over z. There's nothing wrong with z, it just looks like fasd might add some more completion and stuff that might be useful +eval "$(fasd --init auto)" + +#Attempting to try zplug +source ~/.zplug/init.zsh +zplug "wookayin/fzf-fasd" From 442fed8cd37f7d47de788945b41fd7dc8f3211f4 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 13 Jul 2021 08:11:35 -0400 Subject: [PATCH 081/160] Attempting to use zplug+oh-my-zsh --- dot_zshrc | 1 + 1 file changed, 1 insertion(+) diff --git a/dot_zshrc b/dot_zshrc index faf5c4c..b402d32 100644 --- a/dot_zshrc +++ b/dot_zshrc @@ -169,3 +169,4 @@ eval "$(fasd --init auto)" #Attempting to try zplug source ~/.zplug/init.zsh zplug "wookayin/fzf-fasd" +zplug "plugins/git", from:oh-my-zsh From 8f7e7f7127b125346766c6812641bcfd770502bb Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 13 Jul 2021 08:11:53 -0400 Subject: [PATCH 082/160] Added my mostly-working kmonad config --- dot_config/kmonad/config.kbd | 78 ++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 dot_config/kmonad/config.kbd diff --git a/dot_config/kmonad/config.kbd b/dot_config/kmonad/config.kbd new file mode 100644 index 0000000..802773b --- /dev/null +++ b/dot_config/kmonad/config.kbd @@ -0,0 +1,78 @@ +#| ------------------------------------------------------------------------- +(deflayer template + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ +---------------------------------------------------------------------------- |# +(defcfg + input (device-file "/dev/input/by-path/platform-i8042-serio-0-event-kbd") + output (uinput-sink "My KMonad output" + ;; To understand the importance of the following line, see the section on + ;; Compose-key sequences at the near-bottom of this file. + "/usr/bin/sleep 1 && /usr/bin/setxkbmap -option compose:ralt") + cmp-seq ralt ;; Set the compose key to `RightAlt' + cmp-seq-delay 5 ;; 5ms delay between each compose-key sequence press + + fallthrough true + + allow-cmd true +) + +(defsrc + esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 ins prnt del + grv 1 2 3 4 5 6 7 8 9 0 - = bspc + tab q w e r t y u i o p [ ] \ + caps a s d f g h j k l ; ' ret + lsft z x c v b n m , . / rsft + lctl lmet lalt spc ralt rmet cmp rctl +) + +(defalias + std (layer-switch standard_layer) + num (layer-toggle numbers) + snum (layer-switch numbers) + cole (layer-toggle colemak) + scole (layer-switch colemak) + cesc (tap-next esc lctl) + f12 (tap-next @snum @num) + dat (tap-macro (cmd-button "date |xclip") C-V) + tim (tap-macro (cmd-button "date '+%Y-%m-%d %H:%M:%S'|xclip") C-V) + ) + +(deflayer standard_layer + esc @std f2 f3 f4 f5 f6 f7 vold volu f10 f11 @f12 _ _ _ + grv 1 2 3 4 5 6 7 8 9 0 - = bspc + tab q w e r t y u i o p [ ] \ + @cesc a s d f g h j k l ; ' ret + lsft z x c v b n m , . / rsft + lctl lmet lalt spc ralt rmet cmp rctl +) + +(deflayer numbers + esc @std f2 f3 f4 f5 f6 f7 vold volu f10 f11 @std _ _ _ + _ _ _ _ _ _ _ 7 8 9 0 - = _ + _ _ _ _ _ _ _ 4 5 6 p [ ] \ + _ _ _ - _ \( \) 1 2 3 ; ' ret + _ _ _ _ _ _ _ 0 , . / _ + _ _ _ _ _ _ _ _ +) + +(deflayer colemak + esc @std _ _ _ _ _ _ _ _ _ _ @std ins prnt del + grv 1 2 3 4 5 6 7 8 9 0 - = bspc + tab q w f p g j l u y ; [ ] \ + @cesc a r s t d h n e i o ' ret + lsft z x c v b k m , . / rsft + lctl lmet lalt spc ralt rmet cmp rctl + ) + +(deflayer date + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ @tim _ _ _ _ _ _ _ _ + _ _ _ @dat _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ From 72f16925c183efefe1e5b87c6c0c5f72b43c7099 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Wed, 14 Jul 2021 10:18:12 -0400 Subject: [PATCH 083/160] fixed missing ) and removed 'tim' for the 'tim' being --- dot_config/kmonad/config.kbd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dot_config/kmonad/config.kbd b/dot_config/kmonad/config.kbd index 802773b..f0694d1 100644 --- a/dot_config/kmonad/config.kbd +++ b/dot_config/kmonad/config.kbd @@ -39,7 +39,7 @@ cesc (tap-next esc lctl) f12 (tap-next @snum @num) dat (tap-macro (cmd-button "date |xclip") C-V) - tim (tap-macro (cmd-button "date '+%Y-%m-%d %H:%M:%S'|xclip") C-V) + tim (tap-macro (cmd-button "date \"+%Y-%m-%d %H:%M:%S\"|xclip") C-V) ) (deflayer standard_layer From 9e7e0da7ba6cd030a39b65f8deaf33fa723fcd90 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 27 Jul 2021 16:47:52 -0400 Subject: [PATCH 084/160] Attempt to change certs for a different account --- dot_taskrc | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/dot_taskrc b/dot_taskrc index a47b99d..db79a25 100644 --- a/dot_taskrc +++ b/dot_taskrc @@ -1,3 +1,4 @@ + # [Created by task 2.5.1 8/22/2016 14:01:12] # Taskwarrior program configuration file. # For more documentation, see http://taskwarrior.org or try 'man task', 'man task-color', @@ -36,14 +37,6 @@ data.location=~/.task #include /usr/share/task/light-256.theme #include /usr/share/task/no-color.theme include ~/projects/arachnitech/tw-spaceduck/spaceduck.theme - -taskd.certificate=/home/kellya/.task/private.certificate.pem -taskd.key=/home/kellya/.task/private.key.pem -taskd.ca=/home/kellya/.task/ca.cert.pem -taskd.server=taskwarrior.inthe.am:53589 -taskd.credentials=inthe_am/alexpkelly/4a97112d-3460-46dc-a3d1-dbd404d80f18 -taskd.trust=ignore hostname -#'taskd.ciphers=NORMAL:%COMPAT' uda.reviewed.type=date uda.reviewed.label=Reviewed report._reviewed.description=Tasksh review report. Adjust the filter to your needs. @@ -52,8 +45,6 @@ report._reviewed.sort=reviewed+,modified+ report._reviewed.filter=( reviewed.none: or reviewed.before:now-6days ) and ( +PENDING or +WAITING ) uda.evernote.type=string uda.evernote.label=Evernote -uda.intheamtrellolistname.type=string -uda.intheamtrellolistname.label=Inthe.AM Trello List Name uda.messageid.type=string uda.messageid.label=Message-ID uda.joplin.type=string @@ -74,3 +65,9 @@ context.work.write=+work context.home.read=+home -work or -TAGGED context.home.write=+home context=work +taskd.certificate=/home/kellya/.task/private.certificate.pem +taskd.key=/home/kellya/.task/private.key.pem +taskd.ca=/home/kellya/.task/ca.cert.pem +taskd.server=inthe.am:53589 +taskd.credentials=inthe_am/alexpkelly/4a97112d-3460-46dc-a3d1-dbd404d80f18 +taskd.trust=strict From d0590a82ea9abf2f3765f95c160efbad8561c082 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 27 Jul 2021 16:48:31 -0400 Subject: [PATCH 085/160] clean up extraneous line continuation --- private_dot_mutt/macros.rc | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/private_dot_mutt/macros.rc b/private_dot_mutt/macros.rc index 3645446..842ee8e 100644 --- a/private_dot_mutt/macros.rc +++ b/private_dot_mutt/macros.rc @@ -5,9 +5,7 @@ macro index \ macro index \ "unset wait_key~/bin/mutt-notmuch thread~/.cache/Maildir/set wait_key" \ "search and reconstruct owning thread (using notmuch)" -# macro index,browser t "mutt2task" -macro index,browser,pager t "/home/kellya/projects/arachnitech/mutt2tw/mutt2tw.py"\ -"A" +macro index,browser,pager t "/home/kellya/projects/arachnitech/mutt2tw/mutt2tw.py" "A" # 'L' performs a notmuch query, showing only the results macro index L "unset wait_keyread -p 'notmuch query: ' x; echo \$x >~/.cache/mutt_terms~i \"\`notmuch search --output=messages \$(cat ~/.cache/mutt_terms) | head -n 600 | perl -le '@a=<>;chomp@a;s/\^id:// for@a;$,=\"|\";print@a'\`\"" "show only messages matching a notmuch pattern" # 'a' shows all messages again (supersedes default binding) From 5231d4f5aa6dd34cc831a284cb6116967b3a5378 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 27 Jul 2021 16:48:53 -0400 Subject: [PATCH 086/160] added a global gitignore --- dot_config/git/ignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 dot_config/git/ignore diff --git a/dot_config/git/ignore b/dot_config/git/ignore new file mode 100644 index 0000000..485dee6 --- /dev/null +++ b/dot_config/git/ignore @@ -0,0 +1 @@ +.idea From e19cdbb7b21ab2a43798c25bc8d5bbfe22138fe0 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Tue, 3 Aug 2021 13:21:03 -0400 Subject: [PATCH 087/160] Added tmux aw-watcher thingy --- dot_taskrc | 11 +++++------ dot_tmux.conf | 1 + 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/dot_taskrc b/dot_taskrc index db79a25..6f2861a 100644 --- a/dot_taskrc +++ b/dot_taskrc @@ -64,10 +64,9 @@ context.work.read=+work -home or -TAGGED context.work.write=+work context.home.read=+home -work or -TAGGED context.home.write=+home -context=work -taskd.certificate=/home/kellya/.task/private.certificate.pem -taskd.key=/home/kellya/.task/private.key.pem -taskd.ca=/home/kellya/.task/ca.cert.pem -taskd.server=inthe.am:53589 -taskd.credentials=inthe_am/alexpkelly/4a97112d-3460-46dc-a3d1-dbd404d80f18 +taskd.certificate=\/home\/kellya\/.wingtask_certs\/alex.kelly@franklin.edu.cert.pem +taskd.key=\/home\/kellya\/.wingtask_certs\/alex.kelly@franklin.edu.key.pem +taskd.ca=\/home\/kellya\/.wingtask_certs\/dst.pem +taskd.server=app.wingtask.com:53589 +taskd.credentials=WingTask\/alex.kelly@franklin.edu\/40d0bf12-687e-4b6f-8a14-aecef3a87cdb taskd.trust=strict diff --git a/dot_tmux.conf b/dot_tmux.conf index 1dea53d..f124329 100644 --- a/dot_tmux.conf +++ b/dot_tmux.conf @@ -96,3 +96,4 @@ set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'tmux-plugins/tmux-sensible' set -g @plugin 'tmux-plugins/tmux-resurrect' run -b '~/.tmux/plugins/tpm/tpm' +set -g @plugin 'akohlbecker/aw-watcher-tmux' From 86e9a965c03a40b58eb39f975b375ae82d0d7792 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Wed, 18 Aug 2021 15:04:28 -0400 Subject: [PATCH 088/160] Re-setup inthe.am --- dot_config/kmonad/config.kbd | 1 + dot_taskrc | 15 ++++++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/dot_config/kmonad/config.kbd b/dot_config/kmonad/config.kbd index f0694d1..ecd216a 100644 --- a/dot_config/kmonad/config.kbd +++ b/dot_config/kmonad/config.kbd @@ -76,3 +76,4 @@ _ _ _ @dat _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +) diff --git a/dot_taskrc b/dot_taskrc index 6f2861a..7695d98 100644 --- a/dot_taskrc +++ b/dot_taskrc @@ -49,6 +49,10 @@ uda.messageid.type=string uda.messageid.label=Message-ID uda.joplin.type=string uda.joplin.label=Joplin +uda.status_report.type=string +uda.status_report.label=status_report +uda.status_report.values=display,hide +uda.status_report.default=display verbose=no report.simple.description=Simple list of open tasks by project report.simple.columns=id,project,description.count @@ -64,9 +68,10 @@ context.work.read=+work -home or -TAGGED context.work.write=+work context.home.read=+home -work or -TAGGED context.home.write=+home -taskd.certificate=\/home\/kellya\/.wingtask_certs\/alex.kelly@franklin.edu.cert.pem -taskd.key=\/home\/kellya\/.wingtask_certs\/alex.kelly@franklin.edu.key.pem -taskd.ca=\/home\/kellya\/.wingtask_certs\/dst.pem -taskd.server=app.wingtask.com:53589 -taskd.credentials=WingTask\/alex.kelly@franklin.edu\/40d0bf12-687e-4b6f-8a14-aecef3a87cdb +taskd.certificate=/home/kellya/.task/private.certificate.pem +taskd.key=/home/kellya/.task/private.key.pem +taskd.ca=/home/kellya/.task/ca.cert.pem +taskd.server=inthe.am:53589 +taskd.credentials=inthe_am/kellya/610917c8-9119-4b59-b87e-d886c2e08bf0 taskd.trust=strict +context=work From 47e63ff87eeff249f7f5edbb35993d7578848b88 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Mon, 23 Aug 2021 14:34:06 -0400 Subject: [PATCH 089/160] renamed git template dir --- dot_git-templates/HEAD | 1 + dot_gitconfig.tmpl | 1 + 2 files changed, 2 insertions(+) create mode 100644 dot_git-templates/HEAD diff --git a/dot_git-templates/HEAD b/dot_git-templates/HEAD new file mode 100644 index 0000000..b870d82 --- /dev/null +++ b/dot_git-templates/HEAD @@ -0,0 +1 @@ +ref: refs/heads/main diff --git a/dot_gitconfig.tmpl b/dot_gitconfig.tmpl index 2c3fae8..0653cd7 100644 --- a/dot_gitconfig.tmpl +++ b/dot_gitconfig.tmpl @@ -40,6 +40,7 @@ path = ~/.gitconfig-{{- .gitconfig.work.config }} [init] defaultBranch = main + templatedir = /home/kellya/.git-templates [delta] plus-style = "syntax #012800" minus-style = "syntax #340001" From a18fef9692c39eb57fb85090f8c60547bbfdfed6 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Mon, 30 Aug 2021 08:44:05 -0400 Subject: [PATCH 090/160] removed conceal for markdown --- dot_config/nvim/init.vim | 1 + dot_vimrc | 1 + dot_zshrc | 2 -- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dot_config/nvim/init.vim b/dot_config/nvim/init.vim index 6251e41..ff8ab75 100644 --- a/dot_config/nvim/init.vim +++ b/dot_config/nvim/init.vim @@ -212,3 +212,4 @@ let g:webdevicons_enable_nerdtree = 1 autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtab autocmd BufWritePre *.py execute ':Black' let g:fzf_layout = { 'window': { 'width': 0.8, 'height': 0.5, 'highlight': 'Comment' } } +let g:indentLine_fileTypeExclude = ['markdown'] diff --git a/dot_vimrc b/dot_vimrc index 3448668..19df000 100644 --- a/dot_vimrc +++ b/dot_vimrc @@ -178,3 +178,4 @@ let g:webdevicons_enable = 1 let g:webdevicons_enable_nerdtree = 1 set relativenumber set number +let g:indentLine_fileTypeExclude = ['markdown'] diff --git a/dot_zshrc b/dot_zshrc index b402d32..f9678cb 100644 --- a/dot_zshrc +++ b/dot_zshrc @@ -135,8 +135,6 @@ kitty + complete setup zsh | source /dev/stdin # Temporarily disabiling while using fasd # source /usr/libexec/z.sh -export PATH="$HOME/.poetry/bin:$PATH" - #function chpwd() { # if [ -r $PWD/.zsh_config ]; then # source $PWD/.zsh_config From e8b4bfb69259770340d69f67f910524e242dd962 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Thu, 2 Sep 2021 16:57:55 -0400 Subject: [PATCH 091/160] deciced cursorline was needed --- dot_config/nvim/init.vim | 1 + 1 file changed, 1 insertion(+) diff --git a/dot_config/nvim/init.vim b/dot_config/nvim/init.vim index ff8ab75..d504bb8 100644 --- a/dot_config/nvim/init.vim +++ b/dot_config/nvim/init.vim @@ -213,3 +213,4 @@ autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtab autocmd BufWritePre *.py execute ':Black' let g:fzf_layout = { 'window': { 'width': 0.8, 'height': 0.5, 'highlight': 'Comment' } } let g:indentLine_fileTypeExclude = ['markdown'] +set cursorline From c2ba1b76317e1175152614f85f0d2c60aa0545cf Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Fri, 8 Oct 2021 14:56:43 -0400 Subject: [PATCH 092/160] Fix completions issues --- dot_zshrc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/dot_zshrc b/dot_zshrc index f9678cb..8220582 100644 --- a/dot_zshrc +++ b/dot_zshrc @@ -47,7 +47,7 @@ HIST_STAMPS="yyyy-mm-dd" # Example format: plugins=(rails git textmate ruby lighthouse) # Add wisely, as too many plugins slow down shell startup. # plugins=(git) -plugins=(sudo taskwarrior common-aliases git-flow github vi-mode fzf python) +plugins=(sudo taskwarrior common-aliases git-flow vi-mode fzf python) #plugins+=(zsh-vi-mode) plugins+=(fzf-tab) @@ -105,6 +105,7 @@ export PATH="$PATH:/home/kellya/go/bin" #export WORKON_HOME=/mnt/vdisks/projects/python_virtualenvs export LPASS_AGENT_TIMEOUT=0 export PATH="/usr/local/heroku/bin:$PATH" +export OPENCV_LOG_LEVEL=OFF #Source all the custom functions # Load custom functions @@ -127,8 +128,6 @@ alias ashow="litecli --auto-vertical-output /home/kellya/snap/accountable2you/co alias akill="litecli --auto-vertical-output /home/kellya/snap/accountable2you/common/storage.db -e \"delete from log;\"" alias mutt="neomutt" fpath+=~/.zfunc -autoload -U compinit -compinit -i kitty + complete setup zsh | source /dev/stdin # # Enable 'z' tracking for directory speediness @@ -168,3 +167,7 @@ eval "$(fasd --init auto)" source ~/.zplug/init.zsh zplug "wookayin/fzf-fasd" zplug "plugins/git", from:oh-my-zsh +# If this isn't the last thing, you will drive yourself crazy with completions that don't work even though it looks like they should. +autoload -U compinit +compinit -i +PROG=tea _CLI_ZSH_AUTOCOMPLETE_HACK=1 source /home/kellya/.config/tea/autocomplete.zsh From fbf3d2b0fe75b02c695a893ca89a40b0155a454e Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Wed, 13 Oct 2021 12:59:16 -0400 Subject: [PATCH 093/160] moved taskrc to XDG_CONFIG_HOME location --- dot_taskrc => dot_config/task/taskrc | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename dot_taskrc => dot_config/task/taskrc (100%) diff --git a/dot_taskrc b/dot_config/task/taskrc similarity index 100% rename from dot_taskrc rename to dot_config/task/taskrc From 8053f8866fc69a729bad44f9d0e6a14b5314237a Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Wed, 13 Oct 2021 13:04:48 -0400 Subject: [PATCH 094/160] move task hooks to XDG_CONFIG_DIR --- .../task/hooks/disabled/DISABLED-on-add.jrnl | 12 +++ dot_config/task/hooks/on-modify.jrnl | 70 ++++++++++++ dot_config/task/hooks/on-modify.timewarrior | 102 ++++++++++++++++++ dot_config/task/taskrc | 3 +- 4 files changed, 186 insertions(+), 1 deletion(-) create mode 100755 dot_config/task/hooks/disabled/DISABLED-on-add.jrnl create mode 100755 dot_config/task/hooks/on-modify.jrnl create mode 100755 dot_config/task/hooks/on-modify.timewarrior diff --git a/dot_config/task/hooks/disabled/DISABLED-on-add.jrnl b/dot_config/task/hooks/disabled/DISABLED-on-add.jrnl new file mode 100755 index 0000000..2346f86 --- /dev/null +++ b/dot_config/task/hooks/disabled/DISABLED-on-add.jrnl @@ -0,0 +1,12 @@ +#!/usr/bin/python3 +import sys +import json +import subprocess + +for line in sys.stdin: + if '{' in line: + entry = json.loads(line.strip()) + print(line) + +message = f"Added: \"{entry['description']}\" to: {entry['project']}" +subprocess.call(['jrnl', message]) diff --git a/dot_config/task/hooks/on-modify.jrnl b/dot_config/task/hooks/on-modify.jrnl new file mode 100755 index 0000000..71b1929 --- /dev/null +++ b/dot_config/task/hooks/on-modify.jrnl @@ -0,0 +1,70 @@ +#!/usr/bin/env python +############################################################################### +# +# Copyright 2015 - 2016, Paul Beckingham, Federico Hernandez. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# +# http://www.opensource.org/licenses/mit-license.php +# +############################################################################### + +import sys +import json +import os + +# Hook should extract all of the following for use as Timewarrior tags: +# UUID +# Project +# Tags +# Description +# UDAs + +# Make no changes to the task, simply observe. +old = json.loads(sys.stdin.readline()) +new = json.loads(sys.stdin.readline()) +print(json.dumps(new)) + +# Extract attributes for use as tags. +tags = [new['description']] + +if 'project' in new: + project = new['project'] + tags.append(project) + if '.' in project: + tags.extend([tag for tag in project.split('.')]) + +if 'tags' in new: + tags.extend(new['tags']) + +combined = ' +'.join(['"%s"' % tag for tag in tags]).encode('utf-8').strip() +# Started task. +if 'start' in new and not 'start' in old: + os.system('echo Started: ' + combined.decode() + ' @task|jj') + +elif new['status'] == 'completed': + os.system('echo Completed: ' + combined.decode() + ' @task|jj') +# Stopped task. +elif not 'start' in new and 'start' in old: + os.system('echo Stopped: ' + combined.decode() + ' @task|jj') + +# Any task that is active, with a non-pending status should not be tracked. +elif 'start' in new and new['status'] != 'pending': + os.system('echo ' + combined.decode() + ' @task|jj') + diff --git a/dot_config/task/hooks/on-modify.timewarrior b/dot_config/task/hooks/on-modify.timewarrior new file mode 100755 index 0000000..46d82a9 --- /dev/null +++ b/dot_config/task/hooks/on-modify.timewarrior @@ -0,0 +1,102 @@ +#!/usr/bin/env python3 + +############################################################################### +# +# Copyright 2016 - 2021, Thomas Lauf, Paul Beckingham, Federico Hernandez. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# +# https://www.opensource.org/licenses/mit-license.php +# +############################################################################### + +from __future__ import print_function + +import json +import subprocess +import sys + +# Hook should extract all of the following for use as Timewarrior tags: +# UUID +# Project +# Tags +# Description +# UDAs + +try: + input_stream = sys.stdin.buffer +except AttributeError: + input_stream = sys.stdin + +# Make no changes to the task, simply observe. +old = json.loads(input_stream.readline().decode("utf-8", errors="replace")) +new = json.loads(input_stream.readline().decode("utf-8", errors="replace")) +print(json.dumps(new)) + + +def extract_tags_from(json_obj): + # Extract attributes for use as tags. + tags = [json_obj['description']] + + if 'project' in json_obj: + tags.append(json_obj['project']) + + if 'tags' in json_obj: + tags.extend(json_obj['tags']) + + return tags + + +def extract_annotation_from(json_obj): + + if 'annotations' not in json_obj: + return '\'\'' + + return json_obj['annotations'][0]['description'] + + +start_or_stop = '' + +# Started task. +if 'start' in new and 'start' not in old: + start_or_stop = 'start' + +# Stopped task. +elif ('start' not in new or 'end' in new) and 'start' in old: + start_or_stop = 'stop' + +if start_or_stop: + tags = extract_tags_from(new) + + subprocess.call(['timew', start_or_stop] + tags + [':yes']) + +# Modifications to task other than start/stop +elif 'start' in new and 'start' in old: + old_tags = extract_tags_from(old) + new_tags = extract_tags_from(new) + + if old_tags != new_tags: + subprocess.call(['timew', 'untag', '@1'] + old_tags + [':yes']) + subprocess.call(['timew', 'tag', '@1'] + new_tags + [':yes']) + + old_annotation = extract_annotation_from(old) + new_annotation = extract_annotation_from(new) + + if old_annotation != new_annotation: + subprocess.call(['timew', 'annotate', '@1', new_annotation]) diff --git a/dot_config/task/taskrc b/dot_config/task/taskrc index 7695d98..5bf58c6 100644 --- a/dot_config/task/taskrc +++ b/dot_config/task/taskrc @@ -12,7 +12,8 @@ # Use the command 'task show' to see all defaults and overrides # Files -data.location=~/.task +data.location=~/.local/share/task/ +hooks.location=~/.config/task/hooks/ # Color theme (uncomment one to use) From 1b65a42a1231a4c9b6576fa476fa28bcc60c11c0 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Wed, 13 Oct 2021 13:58:15 -0400 Subject: [PATCH 095/160] fix exec permissions on hooks --- .../hooks/{on-modify.jrnl => executable_on-modify.jrnl} | 0 ...-modify.timewarrior => executable_on-modify.timewarrior} | 0 dot_config/task/taskrc | 6 +++--- dot_zshrc | 6 +++++- 4 files changed, 8 insertions(+), 4 deletions(-) rename dot_config/task/hooks/{on-modify.jrnl => executable_on-modify.jrnl} (100%) rename dot_config/task/hooks/{on-modify.timewarrior => executable_on-modify.timewarrior} (100%) diff --git a/dot_config/task/hooks/on-modify.jrnl b/dot_config/task/hooks/executable_on-modify.jrnl similarity index 100% rename from dot_config/task/hooks/on-modify.jrnl rename to dot_config/task/hooks/executable_on-modify.jrnl diff --git a/dot_config/task/hooks/on-modify.timewarrior b/dot_config/task/hooks/executable_on-modify.timewarrior similarity index 100% rename from dot_config/task/hooks/on-modify.timewarrior rename to dot_config/task/hooks/executable_on-modify.timewarrior diff --git a/dot_config/task/taskrc b/dot_config/task/taskrc index 5bf58c6..fdb83da 100644 --- a/dot_config/task/taskrc +++ b/dot_config/task/taskrc @@ -69,9 +69,9 @@ context.work.read=+work -home or -TAGGED context.work.write=+work context.home.read=+home -work or -TAGGED context.home.write=+home -taskd.certificate=/home/kellya/.task/private.certificate.pem -taskd.key=/home/kellya/.task/private.key.pem -taskd.ca=/home/kellya/.task/ca.cert.pem +taskd.certificate=/home/kellya/.local/share/task/private.certificate.pem +taskd.key=/home/kellya/.local/share/task/private.key.pem +taskd.ca=/home/kellya/.local/share/task/ca.cert.pem taskd.server=inthe.am:53589 taskd.credentials=inthe_am/kellya/610917c8-9119-4b59-b87e-d886c2e08bf0 taskd.trust=strict diff --git a/dot_zshrc b/dot_zshrc index 8220582..40fccc4 100644 --- a/dot_zshrc +++ b/dot_zshrc @@ -151,6 +151,11 @@ export FZF_DEFAULT_OPTS="--extended" export FZF_DEFAULT_COMMAND="fd --type f" export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" +#XDG stuff +export XDG_DATA_HOME=$HOME/.local/share +export XDG_CONFIG_HOME=$HOME/.config +export XDG_STATE_HOME=$HOME/.local/state + #ZVM customizations # Cursors seem backwards, swap 'em ZVM_INSERT_MODE_CURSOR=$ZVM_CURSOR_BLOCK @@ -167,7 +172,6 @@ eval "$(fasd --init auto)" source ~/.zplug/init.zsh zplug "wookayin/fzf-fasd" zplug "plugins/git", from:oh-my-zsh -# If this isn't the last thing, you will drive yourself crazy with completions that don't work even though it looks like they should. autoload -U compinit compinit -i PROG=tea _CLI_ZSH_AUTOCOMPLETE_HACK=1 source /home/kellya/.config/tea/autocomplete.zsh From e3acb6d8a5baf0f553f556fb9994d4c7f8660a2f Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Sat, 30 Oct 2021 23:42:31 -0400 Subject: [PATCH 096/160] add spaceduck theme, fix blue background --- dot_tmux.conf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dot_tmux.conf b/dot_tmux.conf index f124329..3ce972b 100644 --- a/dot_tmux.conf +++ b/dot_tmux.conf @@ -23,7 +23,7 @@ set -g visual-activity on set -g mode-keys vi set -g history-limit 10000 -set -g status-bg blue +set -g status-bg default set -g status-fg white # y and p as in vim @@ -97,3 +97,4 @@ set -g @plugin 'tmux-plugins/tmux-sensible' set -g @plugin 'tmux-plugins/tmux-resurrect' run -b '~/.tmux/plugins/tpm/tpm' set -g @plugin 'akohlbecker/aw-watcher-tmux' +source-file /home/kellya/projects/public/spaceduck-terminal/tmux/status-line-default.conf From fa38faca68e0ebe22c0eb293ecaae03659202537 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Sat, 30 Oct 2021 23:44:22 -0400 Subject: [PATCH 097/160] commented out a sidbar color that it complained about --- private_dot_mutt/muttrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/private_dot_mutt/muttrc b/private_dot_mutt/muttrc index 57e2268..e9d1248 100644 --- a/private_dot_mutt/muttrc +++ b/private_dot_mutt/muttrc @@ -8,7 +8,7 @@ set sidebar_width=27 color sidebar_new yellow default color sidebar_indicator default color17 # Dark blue background color sidebar_highlight white color238 # Grey background -color sidebar_spoolfile yellow default # Yellow +#color sidebar_spoolfile yellow default # Yellow color sidebar_new green default # Green color sidebar_ordinary default default # Default colors color sidebar_flagged red default # Red From 5948d394ad44357407e1502533b412ad4c79fb65 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Sat, 30 Oct 2021 23:44:45 -0400 Subject: [PATCH 098/160] added copilot for testing --- dot_config/nvim/init.vim | 1 + 1 file changed, 1 insertion(+) diff --git a/dot_config/nvim/init.vim b/dot_config/nvim/init.vim index d504bb8..678fdc2 100644 --- a/dot_config/nvim/init.vim +++ b/dot_config/nvim/init.vim @@ -56,6 +56,7 @@ call plug#begin(g:plugged_home) Plug 'dbeniamine/cheat.sh-vim' Plug 'jacqueswww/vim-vyper' Plug 'tomlion/vim-solidity' + Plug 'github/copilot.vim' call plug#end() filetype plugin indent on From db1dd0056d90bcf0637056f24936ef190d47f022 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Fri, 26 Nov 2021 22:42:16 -0500 Subject: [PATCH 099/160] add p10k theme --- dot_p10k.zsh | 1723 ++++++++++++++++++++++++++++++++++++++++++++++++++ dot_zshrc | 13 +- 2 files changed, 1735 insertions(+), 1 deletion(-) create mode 100644 dot_p10k.zsh diff --git a/dot_p10k.zsh b/dot_p10k.zsh new file mode 100644 index 0000000..ea94d56 --- /dev/null +++ b/dot_p10k.zsh @@ -0,0 +1,1723 @@ +# Generated by Powerlevel10k configuration wizard on 2021-11-26 at 21:20 EST. +# Based on romkatv/powerlevel10k/config/p10k-rainbow.zsh, checksum 19497. +# Wizard options: awesome-fontconfig + powerline, small icons, rainbow, unicode, +# 24h time, angled separators, sharp heads, flat tails, 1 line, sparse, many icons, +# concise, instant_prompt=verbose. +# Type `p10k configure` to generate another config. +# +# Config for Powerlevel10k with powerline prompt style with colorful background. +# Type `p10k configure` to generate your own config based on it. +# +# Tip: Looking for a nice color? Here's a one-liner to print colormap. +# +# for i in {0..255}; do print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done + +# Temporarily change options. +'builtin' 'local' '-a' 'p10k_config_opts' +[[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases') +[[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob') +[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand') +'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand' + +() { + emulate -L zsh -o extended_glob + + # Unset all configuration options. This allows you to apply configuration changes without + # restarting zsh. Edit ~/.p10k.zsh and type `source ~/.p10k.zsh`. + unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR' + + # Zsh >= 5.1 is required. + autoload -Uz is-at-least && is-at-least 5.1 || return + + # The list of segments shown on the left. Fill it with the most important segments. + typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=( +# os_icon # os identifier + context # user@hostname + dir # current directory + # prompt_char # prompt symbol + ) + + # The list of segments shown on the right. Fill it with less important segments. + # Right prompt on the last prompt line (where you are typing your commands) gets + # automatically hidden when the input line reaches it. Right prompt above the + # last prompt line gets hidden if it would overlap with left prompt. + typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=( + status # exit code of the last command + command_execution_time # duration of the last command + background_jobs # presence of background jobs + direnv # direnv status (https://direnv.net/) + vcs # git status + asdf # asdf version manager (https://github.com/asdf-vm/asdf) + virtualenv # python virtual environment (https://docs.python.org/3/library/venv.html) + anaconda # conda environment (https://conda.io/) + pyenv # python environment (https://github.com/pyenv/pyenv) + goenv # go environment (https://github.com/syndbg/goenv) + nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv) + nvm # node.js version from nvm (https://github.com/nvm-sh/nvm) + nodeenv # node.js environment (https://github.com/ekalinin/nodeenv) + # node_version # node.js version + # go_version # go version (https://golang.org) + # rust_version # rustc version (https://www.rust-lang.org) + # dotnet_version # .NET version (https://dotnet.microsoft.com) + # php_version # php version (https://www.php.net/) + # laravel_version # laravel php framework version (https://laravel.com/) + # java_version # java version (https://www.java.com/) + # package # name@version from package.json (https://docs.npmjs.com/files/package.json) + rbenv # ruby version from rbenv (https://github.com/rbenv/rbenv) + rvm # ruby version from rvm (https://rvm.io) + fvm # flutter version management (https://github.com/leoafarias/fvm) + luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv) + jenv # java version from jenv (https://github.com/jenv/jenv) + plenv # perl version from plenv (https://github.com/tokuhirom/plenv) + phpenv # php version from phpenv (https://github.com/phpenv/phpenv) + scalaenv # scala version from scalaenv (https://github.com/scalaenv/scalaenv) + haskell_stack # haskell version from stack (https://haskellstack.org/) + kubecontext # current kubernetes context (https://kubernetes.io/) + terraform # terraform workspace (https://www.terraform.io) + # terraform_version # terraform version (https://www.terraform.io) + aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) + aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) + # azure # azure account name (https://docs.microsoft.com/en-us/cli/azure) + gcloud # google cloud cli account and project (https://cloud.google.com/) + google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production) + toolbox # toolbox name (https://github.com/containers/toolbox) + nordvpn # nordvpn connection status, linux only (https://nordvpn.com/) + ranger # ranger shell (https://github.com/ranger/ranger) + nnn # nnn shell (https://github.com/jarun/nnn) + xplr # xplr shell (https://github.com/sayanarijit/xplr) + vim_shell # vim shell indicator (:sh) + midnight_commander # midnight commander shell (https://midnight-commander.org/) + nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) + # vi_mode # vi mode (you don't need this if you've enabled prompt_char) + # vpn_ip # virtual private network indicator + # load # CPU load + # disk_usage # disk usage + # ram # free RAM + # swap # used swap + # todo # todo items (https://github.com/todotxt/todo.txt-cli) + timewarrior # timewarrior tracking status (https://timewarrior.net/) + # taskwarrior # taskwarrior task count (https://taskwarrior.org/) + # time # current time + # ip # ip address and bandwidth usage for a specified network interface + # public_ip # public IP address + # proxy # system-wide http/https/ftp proxy + # battery # internal battery + # wifi # wifi speed + # example # example user-defined segment (see prompt_example function below) + ) + + # Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you. + typeset -g POWERLEVEL9K_MODE=awesome-fontconfig + # When set to `moderate`, some icons will have an extra space after them. This is meant to avoid + # icon overlap when using non-monospace fonts. When set to `none`, spaces are not added. + typeset -g POWERLEVEL9K_ICON_PADDING=none + + # When set to true, icons appear before content on both sides of the prompt. When set + # to false, icons go after content. If empty or not set, icons go before content in the left + # prompt and after content in the right prompt. + # + # You can also override it for a specific segment: + # + # POWERLEVEL9K_STATUS_ICON_BEFORE_CONTENT=false + # + # Or for a specific segment in specific state: + # + # POWERLEVEL9K_DIR_NOT_WRITABLE_ICON_BEFORE_CONTENT=false + typeset -g POWERLEVEL9K_ICON_BEFORE_CONTENT=true + + # Add an empty line before each prompt. + typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=false + + # Connect left prompt lines with these symbols. You'll probably want to use the same color + # as POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND below. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX='%242F╭─' + typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX='%242F├─' + typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX='%242F╰─' + # Connect right prompt lines with these symbols. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX='%242F─╮' + typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX='%242F─┤' + typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX='%242F─╯' + + # Filler between left and right prompt on the first prompt line. You can set it to ' ', '·' or + # '─'. The last two make it easier to see the alignment between left and right prompt and to + # separate prompt from command output. You might want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false + # for more compact prompt if using using this option. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR=' ' + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_BACKGROUND= + typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_GAP_BACKGROUND= + if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then + # The color of the filler. You'll probably want to match the color of POWERLEVEL9K_MULTILINE + # ornaments defined above. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=242 + # Start filler from the edge of the screen if there are no left segments on the first line. + typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_FIRST_SEGMENT_END_SYMBOL='%{%}' + # End filler on the edge of the screen if there are no right segments on the first line. + typeset -g POWERLEVEL9K_EMPTY_LINE_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='%{%}' + fi + + # Separator between same-color segments on the left. + typeset -g POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR='\uE0B1' + # Separator between same-color segments on the right. + typeset -g POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR='\uE0B3' + # Separator between different-color segments on the left. + typeset -g POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='\uE0B0' + # Separator between different-color segments on the right. + typeset -g POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='\uE0B2' + # The right end of left prompt. + typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0B0' + # The left end of right prompt. + typeset -g POWERLEVEL9K_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0B2' + # The left end of left prompt. + typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL='' + # The right end of right prompt. + typeset -g POWERLEVEL9K_RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL='' + # Left prompt terminator for lines without any segments. + typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= + + #################################[ os_icon: os identifier ]################################## + # OS identifier color. + typeset -g POWERLEVEL9K_OS_ICON_FOREGROUND=232 + typeset -g POWERLEVEL9K_OS_ICON_BACKGROUND=7 + # Custom icon. + # typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='⭐' + + ################################[ prompt_char: prompt symbol ]################################ + # Transparent background. + typeset -g POWERLEVEL9K_PROMPT_CHAR_BACKGROUND= + # Green prompt symbol if the last command succeeded. + typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=76 + # Red prompt symbol if the last command failed. + typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=196 + # Default prompt symbol. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='❯' + # Prompt symbol in command vi mode. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='❮' + # Prompt symbol in visual vi mode. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='V' + # Prompt symbol in overwrite vi mode. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIOWR_CONTENT_EXPANSION='▶' + typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true + # No line terminator if prompt_char is the last segment. + typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= + # No line introducer if prompt_char is the first segment. + typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL= + # No surrounding whitespace. + typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_{LEFT,RIGHT}_WHITESPACE= + + ##################################[ dir: current directory ]################################## + # Current directory background color. + typeset -g POWERLEVEL9K_DIR_BACKGROUND=062 + # Default current directory foreground color. + typeset -g POWERLEVEL9K_DIR_FOREGROUND=254 + # If directory is too long, shorten some of its segments to the shortest possible unique + # prefix. The shortened directory can be tab-completed to the original. + typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_unique + # Replace removed segment suffixes with this symbol. + typeset -g POWERLEVEL9K_SHORTEN_DELIMITER= + # Color of the shortened directory segments. + typeset -g POWERLEVEL9K_DIR_SHORTENED_FOREGROUND=250 + # Color of the anchor directory segments. Anchor segments are never shortened. The first + # segment is always an anchor. + typeset -g POWERLEVEL9K_DIR_ANCHOR_FOREGROUND=255 + # Display anchor directory segments in bold. + typeset -g POWERLEVEL9K_DIR_ANCHOR_BOLD=true + # Don't shorten directories that contain any of these files. They are anchors. + local anchor_files=( + .bzr + .citc + .git + .hg + .node-version + .python-version + .go-version + .ruby-version + .lua-version + .java-version + .perl-version + .php-version + .tool-version + .shorten_folder_marker + .svn + .terraform + CVS + Cargo.toml + composer.json + go.mod + package.json + stack.yaml + ) + typeset -g POWERLEVEL9K_SHORTEN_FOLDER_MARKER="(${(j:|:)anchor_files})" + # If set to "first" ("last"), remove everything before the first (last) subdirectory that contains + # files matching $POWERLEVEL9K_SHORTEN_FOLDER_MARKER. For example, when the current directory is + # /foo/bar/git_repo/nested_git_repo/baz, prompt will display git_repo/nested_git_repo/baz (first) + # or nested_git_repo/baz (last). This assumes that git_repo and nested_git_repo contain markers + # and other directories don't. + # + # Optionally, "first" and "last" can be followed by ":" where is an integer. + # This moves the truncation point to the right (positive offset) or to the left (negative offset) + # relative to the marker. Plain "first" and "last" are equivalent to "first:0" and "last:0" + # respectively. + typeset -g POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=false + # Don't shorten this many last directory segments. They are anchors. + typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1 + # Shorten directory if it's longer than this even if there is space for it. The value can + # be either absolute (e.g., '80') or a percentage of terminal width (e.g, '50%'). If empty, + # directory will be shortened only when prompt doesn't fit or when other parameters demand it + # (see POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS and POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT below). + # If set to `0`, directory will always be shortened to its minimum length. + typeset -g POWERLEVEL9K_DIR_MAX_LENGTH=80 + # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least this + # many columns for typing commands. + typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS=40 + # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least + # COLUMNS * POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT * 0.01 columns for typing commands. + typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT=50 + # If set to true, embed a hyperlink into the directory. Useful for quickly + # opening a directory in the file manager simply by clicking the link. + # Can also be handy when the directory is shortened, as it allows you to see + # the full directory that was used in previous commands. + typeset -g POWERLEVEL9K_DIR_HYPERLINK=false + + # Enable special styling for non-writable and non-existent directories. See POWERLEVEL9K_LOCK_ICON + # and POWERLEVEL9K_DIR_CLASSES below. + typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v3 + + # The default icon shown next to non-writable and non-existent directories when + # POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3. + # typeset -g POWERLEVEL9K_LOCK_ICON='⭐' + + # POWERLEVEL9K_DIR_CLASSES allows you to specify custom icons and colors for different + # directories. It must be an array with 3 * N elements. Each triplet consists of: + # + # 1. A pattern against which the current directory ($PWD) is matched. Matching is done with + # extended_glob option enabled. + # 2. Directory class for the purpose of styling. + # 3. An empty string. + # + # Triplets are tried in order. The first triplet whose pattern matches $PWD wins. + # + # If POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3, non-writable and non-existent directories + # acquire class suffix _NOT_WRITABLE and NON_EXISTENT respectively. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_DIR_CLASSES=( + # '~/work(|/*)' WORK '' + # '~(|/*)' HOME '' + # '*' DEFAULT '') + # + # Whenever the current directory is ~/work or a subdirectory of ~/work, it gets styled with one + # of the following classes depending on its writability and existence: WORK, WORK_NOT_WRITABLE or + # WORK_NON_EXISTENT. + # + # Simply assigning classes to directories doesn't have any visible effects. It merely gives you an + # option to define custom colors and icons for different directory classes. + # + # # Styling for WORK. + # typeset -g POWERLEVEL9K_DIR_WORK_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_DIR_WORK_BACKGROUND=4 + # typeset -g POWERLEVEL9K_DIR_WORK_FOREGROUND=254 + # typeset -g POWERLEVEL9K_DIR_WORK_SHORTENED_FOREGROUND=250 + # typeset -g POWERLEVEL9K_DIR_WORK_ANCHOR_FOREGROUND=255 + # + # # Styling for WORK_NOT_WRITABLE. + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_BACKGROUND=4 + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND=254 + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_SHORTENED_FOREGROUND=250 + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_ANCHOR_FOREGROUND=255 + # + # # Styling for WORK_NON_EXISTENT. + # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_BACKGROUND=4 + # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_FOREGROUND=254 + # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_SHORTENED_FOREGROUND=250 + # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_ANCHOR_FOREGROUND=255 + # + # If a styling parameter isn't explicitly defined for some class, it falls back to the classless + # parameter. For example, if POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND is not set, it falls + # back to POWERLEVEL9K_DIR_FOREGROUND. + # + # typeset -g POWERLEVEL9K_DIR_CLASSES=() + + # Custom prefix. + # typeset -g POWERLEVEL9K_DIR_PREFIX='in ' + + #####################################[ vcs: git status ]###################################### + # Version control system colors. + typeset -g POWERLEVEL9K_VCS_CLEAN_BACKGROUND=2 + typeset -g POWERLEVEL9K_VCS_MODIFIED_BACKGROUND=3 + typeset -g POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND=2 + typeset -g POWERLEVEL9K_VCS_CONFLICTED_BACKGROUND=3 + typeset -g POWERLEVEL9K_VCS_LOADING_BACKGROUND=8 + + # Branch icon. Set this parameter to '\uF126 ' for the popular Powerline branch icon. + typeset -g POWERLEVEL9K_VCS_BRANCH_ICON='\uF126 ' + + # Untracked files icon. It's really a question mark, your font isn't broken. + # Change the value of this parameter to show a different icon. + typeset -g POWERLEVEL9K_VCS_UNTRACKED_ICON='?' + + # Formatter for Git status. + # + # Example output: master wip ⇣42⇡42 *42 merge ~42 +42 !42 ?42. + # + # You can edit the function to customize how Git status looks. + # + # VCS_STATUS_* parameters are set by gitstatus plugin. See reference: + # https://github.com/romkatv/gitstatus/blob/master/gitstatus.plugin.zsh. + function my_git_formatter() { + emulate -L zsh + + if [[ -n $P9K_CONTENT ]]; then + # If P9K_CONTENT is not empty, use it. It's either "loading" or from vcs_info (not from + # gitstatus plugin). VCS_STATUS_* parameters are not available in this case. + typeset -g my_git_format=$P9K_CONTENT + return + fi + + # Styling for different parts of Git status. + local meta='%7F' # white foreground + local clean='%0F' # black foreground + local modified='%0F' # black foreground + local untracked='%0F' # black foreground + local conflicted='%1F' # red foreground + + local res + + if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then + local branch=${(V)VCS_STATUS_LOCAL_BRANCH} + # If local branch name is at most 32 characters long, show it in full. + # Otherwise show the first 12 … the last 12. + # Tip: To always show local branch name in full without truncation, delete the next line. + (( $#branch > 32 )) && branch[13,-13]="…" # <-- this line + res+="${clean}${(g::)POWERLEVEL9K_VCS_BRANCH_ICON}${branch//\%/%%}" + fi + + if [[ -n $VCS_STATUS_TAG + # Show tag only if not on a branch. + # Tip: To always show tag, delete the next line. + && -z $VCS_STATUS_LOCAL_BRANCH # <-- this line + ]]; then + local tag=${(V)VCS_STATUS_TAG} + # If tag name is at most 32 characters long, show it in full. + # Otherwise show the first 12 … the last 12. + # Tip: To always show tag name in full without truncation, delete the next line. + (( $#tag > 32 )) && tag[13,-13]="…" # <-- this line + res+="${meta}#${clean}${tag//\%/%%}" + fi + + # Display the current Git commit if there is no branch and no tag. + # Tip: To always display the current Git commit, delete the next line. + [[ -z $VCS_STATUS_LOCAL_BRANCH && -z $VCS_STATUS_TAG ]] && # <-- this line + res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}" + + # Show tracking branch name if it differs from local branch. + if [[ -n ${VCS_STATUS_REMOTE_BRANCH:#$VCS_STATUS_LOCAL_BRANCH} ]]; then + res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}" + fi + + # Display "wip" if the latest commit's summary contains "wip" or "WIP". + if [[ $VCS_STATUS_COMMIT_SUMMARY == (|*[^[:alnum:]])(wip|WIP)(|[^[:alnum:]]*) ]]; then + res+=" ${modified}wip" + fi + + # ⇣42 if behind the remote. + (( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}" + # ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42. + (( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" " + (( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}" + # ⇠42 if behind the push remote. + (( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}" + (( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" " + # ⇢42 if ahead of the push remote; no leading space if also behind: ⇠42⇢42. + (( VCS_STATUS_PUSH_COMMITS_AHEAD )) && res+="${clean}⇢${VCS_STATUS_PUSH_COMMITS_AHEAD}" + # *42 if have stashes. + (( VCS_STATUS_STASHES )) && res+=" ${clean}*${VCS_STATUS_STASHES}" + # 'merge' if the repo is in an unusual state. + [[ -n $VCS_STATUS_ACTION ]] && res+=" ${conflicted}${VCS_STATUS_ACTION}" + # ~42 if have merge conflicts. + (( VCS_STATUS_NUM_CONFLICTED )) && res+=" ${conflicted}~${VCS_STATUS_NUM_CONFLICTED}" + # +42 if have staged changes. + (( VCS_STATUS_NUM_STAGED )) && res+=" ${modified}+${VCS_STATUS_NUM_STAGED}" + # !42 if have unstaged changes. + (( VCS_STATUS_NUM_UNSTAGED )) && res+=" ${modified}!${VCS_STATUS_NUM_UNSTAGED}" + # ?42 if have untracked files. It's really a question mark, your font isn't broken. + # See POWERLEVEL9K_VCS_UNTRACKED_ICON above if you want to use a different icon. + # Remove the next line if you don't want to see untracked files at all. + (( VCS_STATUS_NUM_UNTRACKED )) && res+=" ${untracked}${(g::)POWERLEVEL9K_VCS_UNTRACKED_ICON}${VCS_STATUS_NUM_UNTRACKED}" + # "─" if the number of unstaged files is unknown. This can happen due to + # POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY (see below) being set to a non-negative number lower + # than the number of files in the Git index, or due to bash.showDirtyState being set to false + # in the repository config. The number of staged and untracked files may also be unknown + # in this case. + (( VCS_STATUS_HAS_UNSTAGED == -1 )) && res+=" ${modified}─" + + typeset -g my_git_format=$res + } + functions -M my_git_formatter 2>/dev/null + + # Don't count the number of unstaged, untracked and conflicted files in Git repositories with + # more than this many files in the index. Negative value means infinity. + # + # If you are working in Git repositories with tens of millions of files and seeing performance + # sagging, try setting POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY to a number lower than the output + # of `git ls-files | wc -l`. Alternatively, add `bash.showDirtyState = false` to the repository's + # config: `git config bash.showDirtyState false`. + typeset -g POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY=-1 + + # Don't show Git status in prompt for repositories whose workdir matches this pattern. + # For example, if set to '~', the Git repository at $HOME/.git will be ignored. + # Multiple patterns can be combined with '|': '~(|/foo)|/bar/baz/*'. + typeset -g POWERLEVEL9K_VCS_DISABLED_WORKDIR_PATTERN='~' + + # Disable the default Git status formatting. + typeset -g POWERLEVEL9K_VCS_DISABLE_GITSTATUS_FORMATTING=true + # Install our own Git status formatter. + typeset -g POWERLEVEL9K_VCS_CONTENT_EXPANSION='${$((my_git_formatter()))+${my_git_format}}' + # Enable counters for staged, unstaged, etc. + typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED,CONFLICTED,COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=-1 + + # Custom icon. + # typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_EXPANSION='⭐' + # Custom prefix. + # typeset -g POWERLEVEL9K_VCS_PREFIX='on ' + + # Show status of repositories of these types. You can add svn and/or hg if you are + # using them. If you do, your prompt may become slow even when your current directory + # isn't in an svn or hg reposotiry. + typeset -g POWERLEVEL9K_VCS_BACKENDS=(git) + + ##########################[ status: exit code of the last command ]########################### + # Enable OK_PIPE, ERROR_PIPE and ERROR_SIGNAL status states to allow us to enable, disable and + # style them independently from the regular OK and ERROR state. + typeset -g POWERLEVEL9K_STATUS_EXTENDED_STATES=true + + # Status on success. No content, just an icon. No need to show it if prompt_char is enabled as + # it will signify success by turning green. + typeset -g POWERLEVEL9K_STATUS_OK=true + typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='✔' + typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=2 + typeset -g POWERLEVEL9K_STATUS_OK_BACKGROUND=0 + + # Status when some part of a pipe command fails but the overall exit status is zero. It may look + # like this: 1|0. + typeset -g POWERLEVEL9K_STATUS_OK_PIPE=true + typeset -g POWERLEVEL9K_STATUS_OK_PIPE_VISUAL_IDENTIFIER_EXPANSION='✔' + typeset -g POWERLEVEL9K_STATUS_OK_PIPE_FOREGROUND=2 + typeset -g POWERLEVEL9K_STATUS_OK_PIPE_BACKGROUND=0 + + # Status when it's just an error code (e.g., '1'). No need to show it if prompt_char is enabled as + # it will signify error by turning red. + typeset -g POWERLEVEL9K_STATUS_ERROR=true + typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='✘' + typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=3 + typeset -g POWERLEVEL9K_STATUS_ERROR_BACKGROUND=1 + + # Status when the last command was terminated by a signal. + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL=true + # Use terse signal names: "INT" instead of "SIGINT(2)". + typeset -g POWERLEVEL9K_STATUS_VERBOSE_SIGNAME=false + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_VISUAL_IDENTIFIER_EXPANSION='✘' + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_FOREGROUND=3 + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_BACKGROUND=1 + + # Status when some part of a pipe command fails and the overall exit status is also non-zero. + # It may look like this: 1|0. + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE=true + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='✘' + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_FOREGROUND=3 + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_BACKGROUND=1 + + ###################[ command_execution_time: duration of the last command ]################### + # Execution time color. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=0 + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_BACKGROUND=3 + # Show duration of the last command if takes at least this many seconds. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3 + # Show this many fractional digits. Zero means round to seconds. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0 + # Duration format: 1d 2h 3m 4s. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s' + # Custom icon. + # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_VISUAL_IDENTIFIER_EXPANSION='⭐' + # Custom prefix. + # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX='took ' + + #######################[ background_jobs: presence of background jobs ]####################### + # Background jobs color. + typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=6 + typeset -g POWERLEVEL9K_BACKGROUND_JOBS_BACKGROUND=0 + # Don't show the number of background jobs. + typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false + # Custom icon. + # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #######################[ direnv: direnv status (https://direnv.net/) ]######################## + # Direnv color. + typeset -g POWERLEVEL9K_DIRENV_FOREGROUND=3 + typeset -g POWERLEVEL9K_DIRENV_BACKGROUND=0 + # Custom icon. + # typeset -g POWERLEVEL9K_DIRENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###############[ asdf: asdf version manager (https://github.com/asdf-vm/asdf) ]############### + # Default asdf color. Only used to display tools for which there is no color override (see below). + # Tip: Override these parameters for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_FOREGROUND and + # POWERLEVEL9K_ASDF_${TOOL}_BACKGROUND. + typeset -g POWERLEVEL9K_ASDF_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_BACKGROUND=7 + + # There are four parameters that can be used to hide asdf tools. Each parameter describes + # conditions under which a tool gets hidden. Parameters can hide tools but not unhide them. If at + # least one parameter decides to hide a tool, that tool gets hidden. If no parameter decides to + # hide a tool, it gets shown. + # + # Special note on the difference between POWERLEVEL9K_ASDF_SOURCES and + # POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW. Consider the effect of the following commands: + # + # asdf local python 3.8.1 + # asdf global python 3.8.1 + # + # After running both commands the current python version is 3.8.1 and its source is "local" as + # it takes precedence over "global". If POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW is set to false, + # it'll hide python version in this case because 3.8.1 is the same as the global version. + # POWERLEVEL9K_ASDF_SOURCES will hide python version only if the value of this parameter doesn't + # contain "local". + + # Hide tool versions that don't come from one of these sources. + # + # Available sources: + # + # - shell `asdf current` says "set by ASDF_${TOOL}_VERSION environment variable" + # - local `asdf current` says "set by /some/not/home/directory/file" + # - global `asdf current` says "set by /home/username/file" + # + # Note: If this parameter is set to (shell local global), it won't hide tools. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SOURCES. + typeset -g POWERLEVEL9K_ASDF_SOURCES=(shell local global) + + # If set to false, hide tool versions that are the same as global. + # + # Note: The name of this parameter doesn't reflect its meaning at all. + # Note: If this parameter is set to true, it won't hide tools. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_PROMPT_ALWAYS_SHOW. + typeset -g POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW=false + + # If set to false, hide tool versions that are equal to "system". + # + # Note: If this parameter is set to true, it won't hide tools. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_SYSTEM. + typeset -g POWERLEVEL9K_ASDF_SHOW_SYSTEM=true + + # If set to non-empty value, hide tools unless there is a file matching the specified file pattern + # in the current directory, or its parent directory, or its grandparent directory, and so on. + # + # Note: If this parameter is set to empty value, it won't hide tools. + # Note: SHOW_ON_UPGLOB isn't specific to asdf. It works with all prompt segments. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_ON_UPGLOB. + # + # Example: Hide nodejs version when there is no package.json and no *.js files in the current + # directory, in `..`, in `../..` and so on. + # + # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.js|package.json' + typeset -g POWERLEVEL9K_ASDF_SHOW_ON_UPGLOB= + + # Ruby version from asdf. + typeset -g POWERLEVEL9K_ASDF_RUBY_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_RUBY_BACKGROUND=1 + # typeset -g POWERLEVEL9K_ASDF_RUBY_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_RUBY_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Python version from asdf. + typeset -g POWERLEVEL9K_ASDF_PYTHON_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_PYTHON_BACKGROUND=4 + # typeset -g POWERLEVEL9K_ASDF_PYTHON_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_PYTHON_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Go version from asdf. + typeset -g POWERLEVEL9K_ASDF_GOLANG_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_GOLANG_BACKGROUND=4 + # typeset -g POWERLEVEL9K_ASDF_GOLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_GOLANG_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Node.js version from asdf. + typeset -g POWERLEVEL9K_ASDF_NODEJS_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_NODEJS_BACKGROUND=2 + # typeset -g POWERLEVEL9K_ASDF_NODEJS_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Rust version from asdf. + typeset -g POWERLEVEL9K_ASDF_RUST_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_RUST_BACKGROUND=208 + # typeset -g POWERLEVEL9K_ASDF_RUST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_RUST_SHOW_ON_UPGLOB='*.foo|*.bar' + + # .NET Core version from asdf. + typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_BACKGROUND=5 + # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Flutter version from asdf. + typeset -g POWERLEVEL9K_ASDF_FLUTTER_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_FLUTTER_BACKGROUND=4 + # typeset -g POWERLEVEL9K_ASDF_FLUTTER_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_FLUTTER_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Lua version from asdf. + typeset -g POWERLEVEL9K_ASDF_LUA_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_LUA_BACKGROUND=4 + # typeset -g POWERLEVEL9K_ASDF_LUA_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_LUA_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Java version from asdf. + typeset -g POWERLEVEL9K_ASDF_JAVA_FOREGROUND=1 + typeset -g POWERLEVEL9K_ASDF_JAVA_BACKGROUND=7 + # typeset -g POWERLEVEL9K_ASDF_JAVA_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_JAVA_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Perl version from asdf. + typeset -g POWERLEVEL9K_ASDF_PERL_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_PERL_BACKGROUND=4 + # typeset -g POWERLEVEL9K_ASDF_PERL_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_PERL_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Erlang version from asdf. + typeset -g POWERLEVEL9K_ASDF_ERLANG_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_ERLANG_BACKGROUND=1 + # typeset -g POWERLEVEL9K_ASDF_ERLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_ERLANG_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Elixir version from asdf. + typeset -g POWERLEVEL9K_ASDF_ELIXIR_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_ELIXIR_BACKGROUND=5 + # typeset -g POWERLEVEL9K_ASDF_ELIXIR_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_ELIXIR_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Postgres version from asdf. + typeset -g POWERLEVEL9K_ASDF_POSTGRES_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_POSTGRES_BACKGROUND=6 + # typeset -g POWERLEVEL9K_ASDF_POSTGRES_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_POSTGRES_SHOW_ON_UPGLOB='*.foo|*.bar' + + # PHP version from asdf. + typeset -g POWERLEVEL9K_ASDF_PHP_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_PHP_BACKGROUND=5 + # typeset -g POWERLEVEL9K_ASDF_PHP_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_PHP_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Haskell version from asdf. + typeset -g POWERLEVEL9K_ASDF_HASKELL_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_HASKELL_BACKGROUND=3 + # typeset -g POWERLEVEL9K_ASDF_HASKELL_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_HASKELL_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Julia version from asdf. + typeset -g POWERLEVEL9K_ASDF_JULIA_FOREGROUND=0 + typeset -g POWERLEVEL9K_ASDF_JULIA_BACKGROUND=2 + # typeset -g POWERLEVEL9K_ASDF_JULIA_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_JULIA_SHOW_ON_UPGLOB='*.foo|*.bar' + + ##########[ nordvpn: nordvpn connection status, linux only (https://nordvpn.com/) ]########### + # NordVPN connection indicator color. + typeset -g POWERLEVEL9K_NORDVPN_FOREGROUND=7 + typeset -g POWERLEVEL9K_NORDVPN_BACKGROUND=4 + # Hide NordVPN connection indicator when not connected. + typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_CONTENT_EXPANSION= + typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_VISUAL_IDENTIFIER_EXPANSION= + # Custom icon. + # typeset -g POWERLEVEL9K_NORDVPN_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #################[ ranger: ranger shell (https://github.com/ranger/ranger) ]################## + # Ranger shell color. + typeset -g POWERLEVEL9K_RANGER_FOREGROUND=3 + typeset -g POWERLEVEL9K_RANGER_BACKGROUND=0 + # Custom icon. + # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]####################### + # Nnn shell color. + typeset -g POWERLEVEL9K_NNN_FOREGROUND=0 + typeset -g POWERLEVEL9K_NNN_BACKGROUND=6 + # Custom icon. + # typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##################[ xplr: xplr shell (https://github.com/sayanarijit/xplr) ]################## + # xplr shell color. + typeset -g POWERLEVEL9K_XPLR_FOREGROUND=0 + typeset -g POWERLEVEL9K_XPLR_BACKGROUND=6 + # Custom icon. + # typeset -g POWERLEVEL9K_XPLR_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########################[ vim_shell: vim shell indicator (:sh) ]########################### + # Vim shell indicator color. + typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=0 + typeset -g POWERLEVEL9K_VIM_SHELL_BACKGROUND=2 + # Custom icon. + # typeset -g POWERLEVEL9K_VIM_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######[ midnight_commander: midnight commander shell (https://midnight-commander.org/) ]###### + # Midnight Commander shell color. + typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_FOREGROUND=3 + typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_BACKGROUND=0 + # Custom icon. + # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #[ nix_shell: nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) ]## + # Nix shell color. + typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=0 + typeset -g POWERLEVEL9K_NIX_SHELL_BACKGROUND=4 + + # Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line. + # typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION= + + # Custom icon. + # typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##################################[ disk_usage: disk usage ]################################## + # Colors for different levels of disk usage. + typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=3 + typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_BACKGROUND=0 + typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_FOREGROUND=0 + typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_BACKGROUND=3 + typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_FOREGROUND=7 + typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_BACKGROUND=1 + # Thresholds for different levels of disk usage (percentage points). + typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL=90 + typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_LEVEL=95 + # If set to true, hide disk usage when below $POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL percent. + typeset -g POWERLEVEL9K_DISK_USAGE_ONLY_WARNING=false + # Custom icon. + # typeset -g POWERLEVEL9K_DISK_USAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ vi_mode: vi mode (you don't need this if you've enabled prompt_char) ]########### + # Foreground color. + typeset -g POWERLEVEL9K_VI_MODE_FOREGROUND=0 + # Text and color for normal (a.k.a. command) vi mode. + typeset -g POWERLEVEL9K_VI_COMMAND_MODE_STRING=NORMAL + typeset -g POWERLEVEL9K_VI_MODE_NORMAL_BACKGROUND=2 + # Text and color for visual vi mode. + typeset -g POWERLEVEL9K_VI_VISUAL_MODE_STRING=VISUAL + typeset -g POWERLEVEL9K_VI_MODE_VISUAL_BACKGROUND=4 + # Text and color for overtype (a.k.a. overwrite and replace) vi mode. + typeset -g POWERLEVEL9K_VI_OVERWRITE_MODE_STRING=OVERTYPE + typeset -g POWERLEVEL9K_VI_MODE_OVERWRITE_BACKGROUND=3 + # Text and color for insert vi mode. + typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING= + typeset -g POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND=8 + + ######################################[ ram: free RAM ]####################################### + # RAM color. + typeset -g POWERLEVEL9K_RAM_FOREGROUND=0 + typeset -g POWERLEVEL9K_RAM_BACKGROUND=3 + # Custom icon. + # typeset -g POWERLEVEL9K_RAM_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #####################################[ swap: used swap ]###################################### + # Swap color. + typeset -g POWERLEVEL9K_SWAP_FOREGROUND=0 + typeset -g POWERLEVEL9K_SWAP_BACKGROUND=3 + # Custom icon. + # typeset -g POWERLEVEL9K_SWAP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######################################[ load: CPU load ]###################################### + # Show average CPU load over this many last minutes. Valid values are 1, 5 and 15. + typeset -g POWERLEVEL9K_LOAD_WHICH=5 + # Load color when load is under 50%. + typeset -g POWERLEVEL9K_LOAD_NORMAL_FOREGROUND=0 + typeset -g POWERLEVEL9K_LOAD_NORMAL_BACKGROUND=2 + # Load color when load is between 50% and 70%. + typeset -g POWERLEVEL9K_LOAD_WARNING_FOREGROUND=0 + typeset -g POWERLEVEL9K_LOAD_WARNING_BACKGROUND=3 + # Load color when load is over 70%. + typeset -g POWERLEVEL9K_LOAD_CRITICAL_FOREGROUND=0 + typeset -g POWERLEVEL9K_LOAD_CRITICAL_BACKGROUND=1 + # Custom icon. + # typeset -g POWERLEVEL9K_LOAD_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################[ todo: todo items (https://github.com/todotxt/todo.txt-cli) ]################ + # Todo color. + typeset -g POWERLEVEL9K_TODO_FOREGROUND=0 + typeset -g POWERLEVEL9K_TODO_BACKGROUND=8 + # Hide todo when the total number of tasks is zero. + typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_TOTAL=true + # Hide todo when the number of tasks after filtering is zero. + typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_FILTERED=false + + # Todo format. The following parameters are available within the expansion. + # + # - P9K_TODO_TOTAL_TASK_COUNT The total number of tasks. + # - P9K_TODO_FILTERED_TASK_COUNT The number of tasks after filtering. + # + # These variables correspond to the last line of the output of `todo.sh -p ls`: + # + # TODO: 24 of 42 tasks shown + # + # Here 24 is P9K_TODO_FILTERED_TASK_COUNT and 42 is P9K_TODO_TOTAL_TASK_COUNT. + # + # typeset -g POWERLEVEL9K_TODO_CONTENT_EXPANSION='$P9K_TODO_FILTERED_TASK_COUNT' + + # Custom icon. + # typeset -g POWERLEVEL9K_TODO_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ timewarrior: timewarrior tracking status (https://timewarrior.net/) ]############ + # Timewarrior color. + typeset -g POWERLEVEL9K_TIMEWARRIOR_FOREGROUND=255 + typeset -g POWERLEVEL9K_TIMEWARRIOR_BACKGROUND=8 + + # If the tracked task is longer than 24 characters, truncate and append "…". + # Tip: To always display tasks without truncation, delete the following parameter. + # Tip: To hide task names and display just the icon when time tracking is enabled, set the + # value of the following parameter to "". + typeset -g POWERLEVEL9K_TIMEWARRIOR_CONTENT_EXPANSION='${P9K_CONTENT:0:24}${${P9K_CONTENT:24}:+…}' + + # Custom icon. + # typeset -g POWERLEVEL9K_TIMEWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##############[ taskwarrior: taskwarrior task count (https://taskwarrior.org/) ]############## + # Taskwarrior color. + typeset -g POWERLEVEL9K_TASKWARRIOR_FOREGROUND=0 + typeset -g POWERLEVEL9K_TASKWARRIOR_BACKGROUND=6 + + # Taskwarrior segment format. The following parameters are available within the expansion. + # + # - P9K_TASKWARRIOR_PENDING_COUNT The number of pending tasks: `task +PENDING count`. + # - P9K_TASKWARRIOR_OVERDUE_COUNT The number of overdue tasks: `task +OVERDUE count`. + # + # Zero values are represented as empty parameters. + # + # The default format: + # + # '${P9K_TASKWARRIOR_OVERDUE_COUNT:+"!$P9K_TASKWARRIOR_OVERDUE_COUNT/"}$P9K_TASKWARRIOR_PENDING_COUNT' + # + # typeset -g POWERLEVEL9K_TASKWARRIOR_CONTENT_EXPANSION='$P9K_TASKWARRIOR_PENDING_COUNT' + + # Custom icon. + # typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##################################[ context: user@hostname ]################################## + # Context color when running with privileges. + typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=1 + typeset -g POWERLEVEL9K_CONTEXT_ROOT_BACKGROUND=0 + # Context color in SSH without privileges. + typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_FOREGROUND=3 + typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_BACKGROUND=0 + # Default context color (no privileges, no SSH). + typeset -g POWERLEVEL9K_CONTEXT_FOREGROUND=3 + typeset -g POWERLEVEL9K_CONTEXT_BACKGROUND=0 + + # Context format when running with privileges: user@hostname. + typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE='%n@%m' + # Context format when in SSH without privileges: user@hostname. + typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_TEMPLATE='%n@%m' + # Default context format (no privileges, no SSH): user@hostname. + typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE='%n@%m' + + # Don't show context unless running with privileges or in SSH. + # Tip: Remove the next line to always show context. +# typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_{CONTENT,VISUAL_IDENTIFIER}_EXPANSION= + + # Custom icon. + # typeset -g POWERLEVEL9K_CONTEXT_VISUAL_IDENTIFIER_EXPANSION='⭐' + # Custom prefix. + # typeset -g POWERLEVEL9K_CONTEXT_PREFIX='with ' + + ###[ virtualenv: python virtual environment (https://docs.python.org/3/library/venv.html) ]### + # Python virtual environment color. + typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=0 + typeset -g POWERLEVEL9K_VIRTUALENV_BACKGROUND=4 + # Don't show Python version next to the virtual environment name. + typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false + # If set to "false", won't show virtualenv if pyenv is already shown. + # If set to "if-different", won't show virtualenv if it's the same as pyenv. + typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false + # Separate environment name from Python version only with a space. + typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER= + # Custom icon. + typeset -g POWERLEVEL9K_VIRTUALENV_VISUAL_IDENTIFIER_EXPANSION='🐍' + + #####################[ anaconda: conda environment (https://conda.io/) ]###################### + # Anaconda environment color. + typeset -g POWERLEVEL9K_ANACONDA_FOREGROUND=0 + typeset -g POWERLEVEL9K_ANACONDA_BACKGROUND=4 + + # Anaconda segment format. The following parameters are available within the expansion. + # + # - CONDA_PREFIX Absolute path to the active Anaconda/Miniconda environment. + # - CONDA_DEFAULT_ENV Name of the active Anaconda/Miniconda environment. + # - CONDA_PROMPT_MODIFIER Configurable prompt modifier (see below). + # - P9K_ANACONDA_PYTHON_VERSION Current python version (python --version). + # + # CONDA_PROMPT_MODIFIER can be configured with the following command: + # + # conda config --set env_prompt '({default_env}) ' + # + # The last argument is a Python format string that can use the following variables: + # + # - prefix The same as CONDA_PREFIX. + # - default_env The same as CONDA_DEFAULT_ENV. + # - name The last segment of CONDA_PREFIX. + # - stacked_env Comma-separated list of names in the environment stack. The first element is + # always the same as default_env. + # + # Note: '({default_env}) ' is the default value of env_prompt. + # + # The default value of POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION expands to $CONDA_PROMPT_MODIFIER + # without the surrounding parentheses, or to the last path component of CONDA_PREFIX if the former + # is empty. + typeset -g POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION='${${${${CONDA_PROMPT_MODIFIER#\(}% }%\)}:-${CONDA_PREFIX:t}}' + + # Custom icon. + typeset -g POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_EXPANSION='🐍' + + ################[ pyenv: python environment (https://github.com/pyenv/pyenv) ]################ + # Pyenv color. + typeset -g POWERLEVEL9K_PYENV_FOREGROUND=0 + typeset -g POWERLEVEL9K_PYENV_BACKGROUND=4 + # Hide python version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_PYENV_SOURCES=(shell local global) + # If set to false, hide python version if it's the same as global: + # $(pyenv version-name) == $(pyenv global). + typeset -g POWERLEVEL9K_PYENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide python version if it's equal to "system". + typeset -g POWERLEVEL9K_PYENV_SHOW_SYSTEM=true + + # Pyenv segment format. The following parameters are available within the expansion. + # + # - P9K_CONTENT Current pyenv environment (pyenv version-name). + # - P9K_PYENV_PYTHON_VERSION Current python version (python --version). + # + # The default format has the following logic: + # + # 1. Display just "$P9K_CONTENT" if it's equal to "$P9K_PYENV_PYTHON_VERSION" or + # starts with "$P9K_PYENV_PYTHON_VERSION/". + # 2. Otherwise display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION". + typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_CONTENT:#$P9K_PYENV_PYTHON_VERSION(|/*)}:+ $P9K_PYENV_PYTHON_VERSION}' + + # Custom icon. + typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='🐍' + + ################[ goenv: go environment (https://github.com/syndbg/goenv) ]################ + # Goenv color. + typeset -g POWERLEVEL9K_GOENV_FOREGROUND=0 + typeset -g POWERLEVEL9K_GOENV_BACKGROUND=4 + # Hide go version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_GOENV_SOURCES=(shell local global) + # If set to false, hide go version if it's the same as global: + # $(goenv version-name) == $(goenv global). + typeset -g POWERLEVEL9K_GOENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide go version if it's equal to "system". + typeset -g POWERLEVEL9K_GOENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_GOENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ nodenv: node.js version from nodenv (https://github.com/nodenv/nodenv) ]########## + # Nodenv color. + typeset -g POWERLEVEL9K_NODENV_FOREGROUND=2 + typeset -g POWERLEVEL9K_NODENV_BACKGROUND=0 + # Hide node version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_NODENV_SOURCES=(shell local global) + # If set to false, hide node version if it's the same as global: + # $(nodenv version-name) == $(nodenv global). + typeset -g POWERLEVEL9K_NODENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide node version if it's equal to "system". + typeset -g POWERLEVEL9K_NODENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_NODENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]############### + # Nvm color. + typeset -g POWERLEVEL9K_NVM_FOREGROUND=0 + typeset -g POWERLEVEL9K_NVM_BACKGROUND=5 + # Custom icon. + # typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ############[ nodeenv: node.js environment (https://github.com/ekalinin/nodeenv) ]############ + # Nodeenv color. + typeset -g POWERLEVEL9K_NODEENV_FOREGROUND=2 + typeset -g POWERLEVEL9K_NODEENV_BACKGROUND=0 + # Don't show Node version next to the environment name. + typeset -g POWERLEVEL9K_NODEENV_SHOW_NODE_VERSION=false + # Separate environment name from Node version only with a space. + typeset -g POWERLEVEL9K_NODEENV_{LEFT,RIGHT}_DELIMITER= + # Custom icon. + # typeset -g POWERLEVEL9K_NODEENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##############################[ node_version: node.js version ]############################### + # Node version color. + typeset -g POWERLEVEL9K_NODE_VERSION_FOREGROUND=7 + typeset -g POWERLEVEL9K_NODE_VERSION_BACKGROUND=2 + # Show node version only when in a directory tree containing package.json. + typeset -g POWERLEVEL9K_NODE_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_NODE_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #######################[ go_version: go version (https://golang.org) ]######################## + # Go version color. + typeset -g POWERLEVEL9K_GO_VERSION_FOREGROUND=255 + typeset -g POWERLEVEL9K_GO_VERSION_BACKGROUND=2 + # Show go version only when in a go project subdirectory. + typeset -g POWERLEVEL9K_GO_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_GO_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #################[ rust_version: rustc version (https://www.rust-lang.org) ]################## + # Rust version color. + typeset -g POWERLEVEL9K_RUST_VERSION_FOREGROUND=0 + typeset -g POWERLEVEL9K_RUST_VERSION_BACKGROUND=208 + # Show rust version only when in a rust project subdirectory. + typeset -g POWERLEVEL9K_RUST_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_RUST_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###############[ dotnet_version: .NET version (https://dotnet.microsoft.com) ]################ + # .NET version color. + typeset -g POWERLEVEL9K_DOTNET_VERSION_FOREGROUND=7 + typeset -g POWERLEVEL9K_DOTNET_VERSION_BACKGROUND=5 + # Show .NET version only when in a .NET project subdirectory. + typeset -g POWERLEVEL9K_DOTNET_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_DOTNET_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #####################[ php_version: php version (https://www.php.net/) ]###################### + # PHP version color. + typeset -g POWERLEVEL9K_PHP_VERSION_FOREGROUND=0 + typeset -g POWERLEVEL9K_PHP_VERSION_BACKGROUND=5 + # Show PHP version only when in a PHP project subdirectory. + typeset -g POWERLEVEL9K_PHP_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_PHP_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ laravel_version: laravel php framework version (https://laravel.com/) ]########### + # Laravel version color. + typeset -g POWERLEVEL9K_LARAVEL_VERSION_FOREGROUND=1 + typeset -g POWERLEVEL9K_LARAVEL_VERSION_BACKGROUND=7 + # Custom icon. + # typeset -g POWERLEVEL9K_LARAVEL_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #############[ rbenv: ruby version from rbenv (https://github.com/rbenv/rbenv) ]############## + # Rbenv color. + typeset -g POWERLEVEL9K_RBENV_FOREGROUND=0 + typeset -g POWERLEVEL9K_RBENV_BACKGROUND=1 + # Hide ruby version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_RBENV_SOURCES=(shell local global) + # If set to false, hide ruby version if it's the same as global: + # $(rbenv version-name) == $(rbenv global). + typeset -g POWERLEVEL9K_RBENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide ruby version if it's equal to "system". + typeset -g POWERLEVEL9K_RBENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_RBENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ####################[ java_version: java version (https://www.java.com/) ]#################### + # Java version color. + typeset -g POWERLEVEL9K_JAVA_VERSION_FOREGROUND=1 + typeset -g POWERLEVEL9K_JAVA_VERSION_BACKGROUND=7 + # Show java version only when in a java project subdirectory. + typeset -g POWERLEVEL9K_JAVA_VERSION_PROJECT_ONLY=true + # Show brief version. + typeset -g POWERLEVEL9K_JAVA_VERSION_FULL=false + # Custom icon. + # typeset -g POWERLEVEL9K_JAVA_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###[ package: name@version from package.json (https://docs.npmjs.com/files/package.json) ]#### + # Package color. + typeset -g POWERLEVEL9K_PACKAGE_FOREGROUND=0 + typeset -g POWERLEVEL9K_PACKAGE_BACKGROUND=6 + + # Package format. The following parameters are available within the expansion. + # + # - P9K_PACKAGE_NAME The value of `name` field in package.json. + # - P9K_PACKAGE_VERSION The value of `version` field in package.json. + # + # typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}' + + # Custom icon. + # typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #######################[ rvm: ruby version from rvm (https://rvm.io) ]######################## + # Rvm color. + typeset -g POWERLEVEL9K_RVM_FOREGROUND=0 + typeset -g POWERLEVEL9K_RVM_BACKGROUND=240 + # Don't show @gemset at the end. + typeset -g POWERLEVEL9K_RVM_SHOW_GEMSET=false + # Don't show ruby- at the front. + typeset -g POWERLEVEL9K_RVM_SHOW_PREFIX=false + # Custom icon. + # typeset -g POWERLEVEL9K_RVM_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ fvm: flutter version management (https://github.com/leoafarias/fvm) ]############ + # Fvm color. + typeset -g POWERLEVEL9K_FVM_FOREGROUND=0 + typeset -g POWERLEVEL9K_FVM_BACKGROUND=4 + # Custom icon. + # typeset -g POWERLEVEL9K_FVM_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ luaenv: lua version from luaenv (https://github.com/cehoffman/luaenv) ]########### + # Lua color. + typeset -g POWERLEVEL9K_LUAENV_FOREGROUND=0 + typeset -g POWERLEVEL9K_LUAENV_BACKGROUND=4 + # Hide lua version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_LUAENV_SOURCES=(shell local global) + # If set to false, hide lua version if it's the same as global: + # $(luaenv version-name) == $(luaenv global). + typeset -g POWERLEVEL9K_LUAENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide lua version if it's equal to "system". + typeset -g POWERLEVEL9K_LUAENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_LUAENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###############[ jenv: java version from jenv (https://github.com/jenv/jenv) ]################ + # Java color. + typeset -g POWERLEVEL9K_JENV_FOREGROUND=1 + typeset -g POWERLEVEL9K_JENV_BACKGROUND=7 + # Hide java version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_JENV_SOURCES=(shell local global) + # If set to false, hide java version if it's the same as global: + # $(jenv version-name) == $(jenv global). + typeset -g POWERLEVEL9K_JENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide java version if it's equal to "system". + typeset -g POWERLEVEL9K_JENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_JENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ plenv: perl version from plenv (https://github.com/tokuhirom/plenv) ]############ + # Perl color. + typeset -g POWERLEVEL9K_PLENV_FOREGROUND=0 + typeset -g POWERLEVEL9K_PLENV_BACKGROUND=4 + # Hide perl version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_PLENV_SOURCES=(shell local global) + # If set to false, hide perl version if it's the same as global: + # $(plenv version-name) == $(plenv global). + typeset -g POWERLEVEL9K_PLENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide perl version if it's equal to "system". + typeset -g POWERLEVEL9K_PLENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############ + # PHP color. + typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=0 + typeset -g POWERLEVEL9K_PHPENV_BACKGROUND=5 + # Hide php version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_PHPENV_SOURCES=(shell local global) + # If set to false, hide php version if it's the same as global: + # $(phpenv version-name) == $(phpenv global). + typeset -g POWERLEVEL9K_PHPENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide PHP version if it's equal to "system". + typeset -g POWERLEVEL9K_PHPENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_PHPENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #######[ scalaenv: scala version from scalaenv (https://github.com/scalaenv/scalaenv) ]####### + # Scala color. + typeset -g POWERLEVEL9K_SCALAENV_FOREGROUND=0 + typeset -g POWERLEVEL9K_SCALAENV_BACKGROUND=1 + # Hide scala version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_SCALAENV_SOURCES=(shell local global) + # If set to false, hide scala version if it's the same as global: + # $(scalaenv version-name) == $(scalaenv global). + typeset -g POWERLEVEL9K_SCALAENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide scala version if it's equal to "system". + typeset -g POWERLEVEL9K_SCALAENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_SCALAENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ haskell_stack: haskell version from stack (https://haskellstack.org/) ]########### + # Haskell color. + typeset -g POWERLEVEL9K_HASKELL_STACK_FOREGROUND=0 + typeset -g POWERLEVEL9K_HASKELL_STACK_BACKGROUND=3 + + # Hide haskell version if it doesn't come from one of these sources. + # + # shell: version is set by STACK_YAML + # local: version is set by stack.yaml up the directory tree + # global: version is set by the implicit global project (~/.stack/global-project/stack.yaml) + typeset -g POWERLEVEL9K_HASKELL_STACK_SOURCES=(shell local) + # If set to false, hide haskell version if it's the same as in the implicit global project. + typeset -g POWERLEVEL9K_HASKELL_STACK_ALWAYS_SHOW=true + # Custom icon. + # typeset -g POWERLEVEL9K_HASKELL_STACK_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################[ terraform: terraform workspace (https://www.terraform.io) ]################# + # Don't show terraform workspace if it's literally "default". + typeset -g POWERLEVEL9K_TERRAFORM_SHOW_DEFAULT=false + # POWERLEVEL9K_TERRAFORM_CLASSES is an array with even number of elements. The first element + # in each pair defines a pattern against which the current terraform workspace gets matched. + # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) + # that gets matched. If you unset all POWERLEVEL9K_TERRAFORM_*CONTENT_EXPANSION parameters, + # you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_TERRAFORM_CLASSES defines the workspace class. Patterns are tried in order. The + # first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( + # '*prod*' PROD + # '*test*' TEST + # '*' OTHER) + # + # If your current terraform workspace is "project_test", its class is TEST because "project_test" + # doesn't match the pattern '*prod*' but does match '*test*'. + # + # You can define different colors, icons and content expansions for different classes: + # + # typeset -g POWERLEVEL9K_TERRAFORM_TEST_FOREGROUND=2 + # typeset -g POWERLEVEL9K_TERRAFORM_TEST_BACKGROUND=0 + # typeset -g POWERLEVEL9K_TERRAFORM_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_TERRAFORM_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' + typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( + # '*prod*' PROD # These values are examples that are unlikely + # '*test*' TEST # to match your needs. Customize them as needed. + '*' OTHER) + typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=4 + typeset -g POWERLEVEL9K_TERRAFORM_OTHER_BACKGROUND=0 + # typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #############[ terraform_version: terraform version (https://www.terraform.io) ]############## + # Terraform version color. + typeset -g POWERLEVEL9K_TERRAFORM_VERSION_FOREGROUND=4 + typeset -g POWERLEVEL9K_TERRAFORM_VERSION_BACKGROUND=0 + # Custom icon. + # typeset -g POWERLEVEL9K_TERRAFORM_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################[ terraform_version: It shows active terraform version (https://www.terraform.io) ]################# + typeset -g POWERLEVEL9K_TERRAFORM_VERSION_SHOW_ON_COMMAND='terraform|tf' + + #############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]############# + # Show kubecontext only when the the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show kubecontext. + typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile|flux|fluxctl|stern' + + # Kubernetes context classes for the purpose of using different colors, icons and expansions with + # different contexts. + # + # POWERLEVEL9K_KUBECONTEXT_CLASSES is an array with even number of elements. The first element + # in each pair defines a pattern against which the current kubernetes context gets matched. + # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) + # that gets matched. If you unset all POWERLEVEL9K_KUBECONTEXT_*CONTENT_EXPANSION parameters, + # you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_KUBECONTEXT_CLASSES defines the context class. Patterns are tried in order. The + # first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( + # '*prod*' PROD + # '*test*' TEST + # '*' DEFAULT) + # + # If your current kubernetes context is "deathray-testing/default", its class is TEST + # because "deathray-testing/default" doesn't match the pattern '*prod*' but does match '*test*'. + # + # You can define different colors, icons and content expansions for different classes: + # + # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_FOREGROUND=0 + # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_BACKGROUND=2 + # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' + typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( + # '*prod*' PROD # These values are examples that are unlikely + # '*test*' TEST # to match your needs. Customize them as needed. + '*' DEFAULT) + typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_FOREGROUND=7 + typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_BACKGROUND=5 + # typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Use POWERLEVEL9K_KUBECONTEXT_CONTENT_EXPANSION to specify the content displayed by kubecontext + # segment. Parameter expansions are very flexible and fast, too. See reference: + # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. + # + # Within the expansion the following parameters are always available: + # + # - P9K_CONTENT The content that would've been displayed if there was no content + # expansion defined. + # - P9K_KUBECONTEXT_NAME The current context's name. Corresponds to column NAME in the + # output of `kubectl config get-contexts`. + # - P9K_KUBECONTEXT_CLUSTER The current context's cluster. Corresponds to column CLUSTER in the + # output of `kubectl config get-contexts`. + # - P9K_KUBECONTEXT_NAMESPACE The current context's namespace. Corresponds to column NAMESPACE + # in the output of `kubectl config get-contexts`. If there is no + # namespace, the parameter is set to "default". + # - P9K_KUBECONTEXT_USER The current context's user. Corresponds to column AUTHINFO in the + # output of `kubectl config get-contexts`. + # + # If the context points to Google Kubernetes Engine (GKE) or Elastic Kubernetes Service (EKS), + # the following extra parameters are available: + # + # - P9K_KUBECONTEXT_CLOUD_NAME Either "gke" or "eks". + # - P9K_KUBECONTEXT_CLOUD_ACCOUNT Account/project ID. + # - P9K_KUBECONTEXT_CLOUD_ZONE Availability zone. + # - P9K_KUBECONTEXT_CLOUD_CLUSTER Cluster. + # + # P9K_KUBECONTEXT_CLOUD_* parameters are derived from P9K_KUBECONTEXT_CLUSTER. For example, + # if P9K_KUBECONTEXT_CLUSTER is "gke_my-account_us-east1-a_my-cluster-01": + # + # - P9K_KUBECONTEXT_CLOUD_NAME=gke + # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=my-account + # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east1-a + # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 + # + # If P9K_KUBECONTEXT_CLUSTER is "arn:aws:eks:us-east-1:123456789012:cluster/my-cluster-01": + # + # - P9K_KUBECONTEXT_CLOUD_NAME=eks + # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=123456789012 + # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east-1 + # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 + typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION= + # Show P9K_KUBECONTEXT_CLOUD_CLUSTER if it's not empty and fall back to P9K_KUBECONTEXT_NAME. + POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${P9K_KUBECONTEXT_CLOUD_CLUSTER:-${P9K_KUBECONTEXT_NAME}}' + # Append the current context's namespace if it's not "default". + POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${${:-/$P9K_KUBECONTEXT_NAMESPACE}:#/default}' + + # Custom prefix. + # typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='at ' + + #[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]# + # Show aws only when the the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show aws. + typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi|terragrunt' + + # POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element + # in each pair defines a pattern against which the current AWS profile gets matched. + # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) + # that gets matched. If you unset all POWERLEVEL9K_AWS_*CONTENT_EXPANSION parameters, + # you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_AWS_CLASSES defines the profile class. Patterns are tried in order. The + # first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_AWS_CLASSES=( + # '*prod*' PROD + # '*test*' TEST + # '*' DEFAULT) + # + # If your current AWS profile is "company_test", its class is TEST + # because "company_test" doesn't match the pattern '*prod*' but does match '*test*'. + # + # You can define different colors, icons and content expansions for different classes: + # + # typeset -g POWERLEVEL9K_AWS_TEST_FOREGROUND=28 + # typeset -g POWERLEVEL9K_AWS_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_AWS_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' + typeset -g POWERLEVEL9K_AWS_CLASSES=( + # '*prod*' PROD # These values are examples that are unlikely + # '*test*' TEST # to match your needs. Customize them as needed. + '*' DEFAULT) + typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=7 + typeset -g POWERLEVEL9K_AWS_DEFAULT_BACKGROUND=1 + # typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # AWS segment format. The following parameters are available within the expansion. + # + # - P9K_AWS_PROFILE The name of the current AWS profile. + # - P9K_AWS_REGION The region associated with the current AWS profile. + typeset -g POWERLEVEL9K_AWS_CONTENT_EXPANSION='${P9K_AWS_PROFILE//\%/%%}${P9K_AWS_REGION:+ ${P9K_AWS_REGION//\%/%%}}' + + #[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]# + # AWS Elastic Beanstalk environment color. + typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=2 + typeset -g POWERLEVEL9K_AWS_EB_ENV_BACKGROUND=0 + # Custom icon. + # typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]########## + # Show azure only when the the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show azure. + typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt' + # Azure account name color. + typeset -g POWERLEVEL9K_AZURE_FOREGROUND=7 + typeset -g POWERLEVEL9K_AZURE_BACKGROUND=4 + # Custom icon. + # typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]########### + # Show gcloud only when the the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show gcloud. + typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs' + # Google cloud color. + typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=7 + typeset -g POWERLEVEL9K_GCLOUD_BACKGROUND=4 + + # Google cloud format. Change the value of POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION and/or + # POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION if the default is too verbose or not informative + # enough. You can use the following parameters in the expansions. Each of them corresponds to the + # output of `gcloud` tool. + # + # Parameter | Source + # -------------------------|-------------------------------------------------------------------- + # P9K_GCLOUD_CONFIGURATION | gcloud config configurations list --format='value(name)' + # P9K_GCLOUD_ACCOUNT | gcloud config get-value account + # P9K_GCLOUD_PROJECT_ID | gcloud config get-value project + # P9K_GCLOUD_PROJECT_NAME | gcloud projects describe $P9K_GCLOUD_PROJECT_ID --format='value(name)' + # + # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced with '%%'. + # + # Obtaining project name requires sending a request to Google servers. This can take a long time + # and even fail. When project name is unknown, P9K_GCLOUD_PROJECT_NAME is not set and gcloud + # prompt segment is in state PARTIAL. When project name gets known, P9K_GCLOUD_PROJECT_NAME gets + # set and gcloud prompt segment transitions to state COMPLETE. + # + # You can customize the format, icon and colors of gcloud segment separately for states PARTIAL + # and COMPLETE. You can also hide gcloud in state PARTIAL by setting + # POWERLEVEL9K_GCLOUD_PARTIAL_VISUAL_IDENTIFIER_EXPANSION and + # POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION to empty. + typeset -g POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_ID//\%/%%}' + typeset -g POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_NAME//\%/%%}' + + # Send a request to Google (by means of `gcloud projects describe ...`) to obtain project name + # this often. Negative value disables periodic polling. In this mode project name is retrieved + # only when the current configuration, account or project id changes. + typeset -g POWERLEVEL9K_GCLOUD_REFRESH_PROJECT_NAME_SECONDS=60 + + # Custom icon. + # typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]# + # Show google_app_cred only when the the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show google_app_cred. + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt' + + # Google application credentials classes for the purpose of using different colors, icons and + # expansions with different credentials. + # + # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES is an array with even number of elements. The first + # element in each pair defines a pattern against which the current kubernetes context gets + # matched. More specifically, it's P9K_CONTENT prior to the application of context expansion + # (see below) that gets matched. If you unset all POWERLEVEL9K_GOOGLE_APP_CRED_*CONTENT_EXPANSION + # parameters, you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES defines the context class. Patterns are tried in order. + # The first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( + # '*:*prod*:*' PROD + # '*:*test*:*' TEST + # '*' DEFAULT) + # + # If your current Google application credentials is "service_account deathray-testing x@y.com", + # its class is TEST because it doesn't match the pattern '* *prod* *' but does match '* *test* *'. + # + # You can define different colors, icons and content expansions for different classes: + # + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_FOREGROUND=28 + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_CONTENT_EXPANSION='$P9K_GOOGLE_APP_CRED_PROJECT_ID' + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( + # '*:*prod*:*' PROD # These values are examples that are unlikely + # '*:*test*:*' TEST # to match your needs. Customize them as needed. + '*' DEFAULT) + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_FOREGROUND=7 + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_BACKGROUND=4 + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Use POWERLEVEL9K_GOOGLE_APP_CRED_CONTENT_EXPANSION to specify the content displayed by + # google_app_cred segment. Parameter expansions are very flexible and fast, too. See reference: + # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. + # + # You can use the following parameters in the expansion. Each of them corresponds to one of the + # fields in the JSON file pointed to by GOOGLE_APPLICATION_CREDENTIALS. + # + # Parameter | JSON key file field + # ---------------------------------+--------------- + # P9K_GOOGLE_APP_CRED_TYPE | type + # P9K_GOOGLE_APP_CRED_PROJECT_ID | project_id + # P9K_GOOGLE_APP_CRED_CLIENT_EMAIL | client_email + # + # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced by '%%'. + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}' + + ##############[ toolbox: toolbox name (https://github.com/containers/toolbox) ]############### + # Toolbox color. + typeset -g POWERLEVEL9K_TOOLBOX_FOREGROUND=0 + typeset -g POWERLEVEL9K_TOOLBOX_BACKGROUND=3 + # Don't display the name of the toolbox if it matches fedora-toolbox-*. + typeset -g POWERLEVEL9K_TOOLBOX_CONTENT_EXPANSION='${P9K_TOOLBOX_NAME:#fedora-toolbox-*}' + # Custom icon. + # typeset -g POWERLEVEL9K_TOOLBOX_VISUAL_IDENTIFIER_EXPANSION='⭐' + # Custom prefix. + # typeset -g POWERLEVEL9K_TOOLBOX_PREFIX='in ' + + ###############################[ public_ip: public IP address ]############################### + # Public IP color. + typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=7 + typeset -g POWERLEVEL9K_PUBLIC_IP_BACKGROUND=0 + # Custom icon. + # typeset -g POWERLEVEL9K_PUBLIC_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ########################[ vpn_ip: virtual private network indicator ]######################### + # VPN IP color. + typeset -g POWERLEVEL9K_VPN_IP_FOREGROUND=0 + typeset -g POWERLEVEL9K_VPN_IP_BACKGROUND=6 + # When on VPN, show just an icon without the IP address. + # Tip: To display the private IP address when on VPN, remove the next line. + typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION= + # Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN + # to see the name of the interface. + typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun)|tailscale)[0-9]*' + # If set to true, show one segment per matching network interface. If set to false, show only + # one segment corresponding to the first matching network interface. + # Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION. + typeset -g POWERLEVEL9K_VPN_IP_SHOW_ALL=false + # Custom icon. + # typeset -g POWERLEVEL9K_VPN_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ ip: ip address and bandwidth usage for a specified network interface ]########### + # IP color. + typeset -g POWERLEVEL9K_IP_BACKGROUND=4 + typeset -g POWERLEVEL9K_IP_FOREGROUND=0 + # The following parameters are accessible within the expansion: + # + # Parameter | Meaning + # ----------------------+------------------------------------------- + # P9K_IP_IP | IP address + # P9K_IP_INTERFACE | network interface + # P9K_IP_RX_BYTES | total number of bytes received + # P9K_IP_TX_BYTES | total number of bytes sent + # P9K_IP_RX_BYTES_DELTA | number of bytes received since last prompt + # P9K_IP_TX_BYTES_DELTA | number of bytes sent since last prompt + # P9K_IP_RX_RATE | receive rate (since last prompt) + # P9K_IP_TX_RATE | send rate (since last prompt) + typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='${P9K_IP_RX_RATE:+⇣$P9K_IP_RX_RATE }${P9K_IP_TX_RATE:+⇡$P9K_IP_TX_RATE }$P9K_IP_IP' + # Show information for the first network interface whose name matches this regular expression. + # Run `ifconfig` or `ip -4 a show` to see the names of all network interfaces. + typeset -g POWERLEVEL9K_IP_INTERFACE='[ew].*' + # Custom icon. + # typeset -g POWERLEVEL9K_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #########################[ proxy: system-wide http/https/ftp proxy ]########################## + # Proxy color. + typeset -g POWERLEVEL9K_PROXY_FOREGROUND=4 + typeset -g POWERLEVEL9K_PROXY_BACKGROUND=0 + # Custom icon. + # typeset -g POWERLEVEL9K_PROXY_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################################[ battery: internal battery ]################################# + # Show battery in red when it's below this level and not connected to power supply. + typeset -g POWERLEVEL9K_BATTERY_LOW_THRESHOLD=20 + typeset -g POWERLEVEL9K_BATTERY_LOW_FOREGROUND=1 + # Show battery in green when it's charging or fully charged. + typeset -g POWERLEVEL9K_BATTERY_{CHARGING,CHARGED}_FOREGROUND=2 + # Show battery in yellow when it's discharging. + typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=3 + # Battery pictograms going from low to high level of charge. + typeset -g POWERLEVEL9K_BATTERY_STAGES=('%K{232}▁' '%K{232}▂' '%K{232}▃' '%K{232}▄' '%K{232}▅' '%K{232}▆' '%K{232}▇' '%K{232}█') + # Don't show the remaining time to charge/discharge. + typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false + typeset -g POWERLEVEL9K_BATTERY_BACKGROUND=0 + + #####################################[ wifi: wifi speed ]##################################### + # WiFi color. + typeset -g POWERLEVEL9K_WIFI_FOREGROUND=0 + typeset -g POWERLEVEL9K_WIFI_BACKGROUND=4 + # Custom icon. + # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Use different colors and icons depending on signal strength ($P9K_WIFI_BARS). + # + # # Wifi colors and icons for different signal strength levels (low to high). + # typeset -g my_wifi_fg=(0 0 0 0 0) # <-- change these values + # typeset -g my_wifi_icon=('WiFi' 'WiFi' 'WiFi' 'WiFi' 'WiFi') # <-- change these values + # + # typeset -g POWERLEVEL9K_WIFI_CONTENT_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}$P9K_WIFI_LAST_TX_RATE Mbps' + # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}${my_wifi_icon[P9K_WIFI_BARS+1]}' + # + # The following parameters are accessible within the expansions: + # + # Parameter | Meaning + # ----------------------+--------------- + # P9K_WIFI_SSID | service set identifier, a.k.a. network name + # P9K_WIFI_LINK_AUTH | authentication protocol such as "wpa2-psk" or "none"; empty if unknown + # P9K_WIFI_LAST_TX_RATE | wireless transmit rate in megabits per second + # P9K_WIFI_RSSI | signal strength in dBm, from -120 to 0 + # P9K_WIFI_NOISE | noise in dBm, from -120 to 0 + # P9K_WIFI_BARS | signal strength in bars, from 0 to 4 (derived from P9K_WIFI_RSSI and P9K_WIFI_NOISE) + + ####################################[ time: current time ]#################################### + # Current time color. + typeset -g POWERLEVEL9K_TIME_FOREGROUND=0 + typeset -g POWERLEVEL9K_TIME_BACKGROUND=7 + # Format for the current time: 09:51:02. See `man 3 strftime`. + typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M:%S}' + # If set to true, time will update when you hit enter. This way prompts for the past + # commands will contain the start times of their commands as opposed to the default + # behavior where they contain the end times of their preceding commands. + typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false + # Custom icon. + # typeset -g POWERLEVEL9K_TIME_VISUAL_IDENTIFIER_EXPANSION='⭐' + # Custom prefix. + # typeset -g POWERLEVEL9K_TIME_PREFIX='at ' + + # Example of a user-defined prompt segment. Function prompt_example will be called on every + # prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or + # POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS. It displays an icon and yellow text on red background + # greeting the user. + # + # Type `p10k help segment` for documentation and a more sophisticated example. + function prompt_example() { + p10k segment -b 1 -f 3 -i '⭐' -t 'hello, %n' + } + + # User-defined prompt segments may optionally provide an instant_prompt_* function. Its job + # is to generate the prompt segment for display in instant prompt. See + # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. + # + # Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function + # and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k + # will replay these calls without actually calling instant_prompt_*. It is imperative that + # instant_prompt_* always makes the same `p10k segment` calls regardless of environment. If this + # rule is not observed, the content of instant prompt will be incorrect. + # + # Usually, you should either not define instant_prompt_* or simply call prompt_* from it. If + # instant_prompt_* is not defined for a segment, the segment won't be shown in instant prompt. + function instant_prompt_example() { + # Since prompt_example always makes the same `p10k segment` calls, we can call it from + # instant_prompt_example. This will give us the same `example` prompt segment in the instant + # and regular prompts. + prompt_example + } + + # User-defined prompt segments can be customized the same way as built-in segments. + typeset -g POWERLEVEL9K_EXAMPLE_FOREGROUND=3 + typeset -g POWERLEVEL9K_EXAMPLE_BACKGROUND=1 + # typeset -g POWERLEVEL9K_EXAMPLE_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Transient prompt works similarly to the builtin transient_rprompt option. It trims down prompt + # when accepting a command line. Supported values: + # + # - off: Don't change prompt when accepting a command line. + # - always: Trim down prompt when accepting a command line. + # - same-dir: Trim down prompt when accepting a command line unless this is the first command + # typed after changing current working directory. + typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=off + + # Instant prompt mode. + # + # - off: Disable instant prompt. Choose this if you've tried instant prompt and found + # it incompatible with your zsh configuration files. + # - quiet: Enable instant prompt and don't print warnings when detecting console output + # during zsh initialization. Choose this if you've read and understood + # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. + # - verbose: Enable instant prompt and print a warning when detecting console output during + # zsh initialization. Choose this if you've never tried instant prompt, haven't + # seen the warning, or if you are unsure what this all means. + typeset -g POWERLEVEL9K_INSTANT_PROMPT=verbose + + # Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized. + # For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload + # can slow down prompt by 1-2 milliseconds, so it's better to keep it turned off unless you + # really need it. + typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true + + # If p10k is already loaded, reload configuration. + # This works even with POWERLEVEL9K_DISABLE_HOT_RELOAD=true. + (( ! $+functions[p10k] )) || p10k reload +} + +# Tell `p10k configure` which file it should overwrite. +typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a} + +(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]} +'builtin' 'unset' 'p10k_config_opts' diff --git a/dot_zshrc b/dot_zshrc index 40fccc4..a36aea9 100644 --- a/dot_zshrc +++ b/dot_zshrc @@ -1,3 +1,10 @@ +# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc. +# Initialization code that may require console input (password prompts, [y/n] +# confirmations, etc.) must go above this block; everything else may go below. +if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then + source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" +fi + # Path to your oh-my-zsh installation. export ZSH=/home/kellya/.oh-my-zsh @@ -5,7 +12,8 @@ export ZSH=/home/kellya/.oh-my-zsh # Look in ~/.oh-my-zsh/themes/ # Optionally, if you set this to "random", it'll load a random theme each # time that oh-my-zsh is loaded. -ZSH_THEME="agnoster" +#ZSH_THEME="agnoster" +ZSH_THEME="powerlevel10k/powerlevel10k" # Uncomment the following line to use case-sensitive completion. # CASE_SENSITIVE="true" @@ -175,3 +183,6 @@ zplug "plugins/git", from:oh-my-zsh autoload -U compinit compinit -i PROG=tea _CLI_ZSH_AUTOCOMPLETE_HACK=1 source /home/kellya/.config/tea/autocomplete.zsh + +# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. +[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh From c3cdaafb726c158707fa066e05a7189f12b29246 Mon Sep 17 00:00:00 2001 From: Alex Kelly Date: Fri, 26 Nov 2021 22:43:23 -0500 Subject: [PATCH 100/160] Updates to settings --- dot_config/nvim/init.vim | 5 +++++ dot_config/task/taskrc | 1 + dot_tmux.conf | 3 ++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/dot_config/nvim/init.vim b/dot_config/nvim/init.vim index 678fdc2..0da2a34 100644 --- a/dot_config/nvim/init.vim +++ b/dot_config/nvim/init.vim @@ -215,3 +215,8 @@ autocmd BufWritePre *.py execute ':Black' let g:fzf_layout = { 'window': { 'width': 0.8, 'height': 0.5, 'highlight': 'Comment' } } let g:indentLine_fileTypeExclude = ['markdown'] set cursorline + + + +imap