This commit is contained in:
foozzi 2023-12-23 16:30:24 -05:00
parent 88a083861c
commit 9f27ccae29
17 changed files with 1685 additions and 0 deletions

2
.gitattributes vendored Normal file
View file

@ -0,0 +1,2 @@
muttrc filter=git-crypt diff=git-crypt
global/.ssh/config filter=git-crypt diff=git-crypt

1
.github/README.md vendored Normal file
View file

@ -0,0 +1 @@
...

3
.gitmodules vendored Normal file
View file

@ -0,0 +1,3 @@
[submodule "linux/.config/mutt/gruvbox"]
path = linux/.config/mutt/gruvbox
url = https://git.sthu.org/repos/mutt-gruvbox.git

17
global/.gitconfig Normal file
View file

@ -0,0 +1,17 @@
[user]
name = foozzi
email = foozzione@gmail.com
[core]
excludesfile = "$HOME/.gitignore"
pager = delta
[interactive]
diffFilter = delta --color-only
[delta]
navigate = true # use n and N to move between diff sections
light = false # set to true if you're in a terminal w/ a light background color (e.g. the default macOS terminal)
[merge]
conflictstyle = diff3
[diff]
colorMoved = default
[init]
defaultBranch = master

28
global/.ideavimrc Normal file
View file

@ -0,0 +1,28 @@
" load system vim config
source ~/.vimrc
set ideajoin
" .ideavimrc is a configuration file for IdeaVim plugin. It uses
" the same commands as the original .vimrc configuration.
" You can find a list of commands here: https://jb.gg/h38q75
" Find more examples here: https://jb.gg/share-ideavimrc
" Don't use Ex mode, use Q for formatting.
map Q gq
"" -- Map IDE actions to IdeaVim -- https://jb.gg/abva4t
"" Map \r to the Reformat Code action
"" map \r <Action>(ReformatCode)
"" Map <leader>d to start debug
"map <leader>d <Action>(Debug)
"" Map \b to toggle the breakpoint on the current line
"map \b <Action>(ToggleLineBreakpoint)
""
map <leader>nf <Action>(NewFile)
map <leader>nd <Action>(NewDir)
map <leader>tt <Action>(ActivateTerminalToolWindow)
map <leader>rr <Action>(IdeaVim.ReloadVimRc.reload)
map <leader>go <Action>(GotoDeclaration)
map <leader>ru <Action>(runShellFileAction)

BIN
global/.ssh/config Normal file

Binary file not shown.

11
global/.tern-project Normal file
View file

@ -0,0 +1,11 @@
{
"ecmaVersion": 6,
"libs": [
"browser",
"react"
],
"plugins": {
"node": {},
"jsx": {}
}
}

View file

@ -0,0 +1,25 @@
#!/usr/bin/env python3
import datetime
import urllib.request
from urllib.parse import quote_plus
weather_url = "https://wttr.in/Ottawa?format="
url_part = "Time:+%T;+%l:+%c+%t+(%f);+%m;+Precipitation:+%p+(3hour);+Pressure:+%P;+UV index:+%u;+Sunrise:+%S;+Dawn:+%D;"
encode_url_part = quote_plus(url_part)
template = """
Date: {date}
Weather: {weather}
== Notes ==
"""
current_date_time = datetime.datetime.now()
formatted_date_time = current_date_time.strftime('%a %b %d %H:%M:%S %Z %Y')
response = urllib.request.urlopen(weather_url + encode_url_part)
weather_data = response.read().decode("utf-8").replace("+", " ")
print(template.format(date=formatted_date_time, weather=weather_data))

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,35 @@
# A gruvbox color scheme for mutt and neomutt
## Description
[Gruvbox](https://github.com/morhetz/gruvbox) is a well designed, popular
colorscheme for vim. This is a port to mutt and neomutt, in which vim can act
as mail composer.
This is a replication of the repository
[here](https://git.sthu.org/?p=mutt-gruvbox.git;a=summary). The
[website](https://www.sthu.org/code/codesnippets/mutt-gruvbox.html) gives
further details and a screenshot, like this:
![screenshot](https://www.sthu.org/code/codesnippets/img/mutt-gruvbox.png)
## Usage
Download the files or clone the repo, e.g.
cd ~/.mutt
git clone https://git.sthu.org/repos/mutt-gruvbox.git gruvbox
Then source them in your `~/.mutt/muttrc`, e.g.
source ~/.mutt/gruvbox/colors-gruvbox-shuber.muttrc
# For neomutt also add this line:
# source ~/.mutt/gruvbox/colors-gruvbox-shuber-extended.muttrc
The colorscheme is split into two files, where the latter also defines colors
for neomutt.
## License
GNU Lesser General Public License v3.

View file

@ -0,0 +1 @@
color sidebar_unread color108 color234

View file

@ -0,0 +1,121 @@
# gruvbox dark (contrast dark):
# bg0 = 234
# bg1 = 237
# bg2 = 239
# bg3 = 241
# bg4 = 243
#
# gray = 245
#
# fg0 = 229
# fg1 = 223
# fg2 = 250
# fg3 = 248
# fg4 = 246
#
# red = 167
# green = 142
# yellow = 214
# blue = 109
# purple = 175
# aqua = 108
# orange = 208
# See http://www.mutt.org/doc/manual/#color
color attachment color109 color234
color bold color229 color234
color error color167 color234
color hdrdefault color246 color234
color indicator color223 color237
color markers color243 color234
color normal color223 color234
color quoted color250 color234
color quoted1 color108 color234
color quoted2 color250 color234
color quoted3 color108 color234
color quoted4 color250 color234
color quoted5 color108 color234
color search color234 color208
color signature color108 color234
color status color234 color250
color tilde color243 color234
color tree color142 color234
color underline color223 color239
color sidebar_divider color250 color234
color sidebar_new color142 color234
color index color142 color234 ~N
color index color108 color234 ~O
color index color109 color234 ~P
color index color214 color234 ~F
color index color175 color234 ~Q
color index color167 color234 ~=
color index color234 color223 ~T
color index color234 color167 ~D
color header color214 color234 "^(To:|From:)"
color header color142 color234 "^Subject:"
color header color108 color234 "^X-Spam-Status:"
color header color108 color234 "^Received:"
# Regex magic for URLs and hostnames
#
# Attention: BSD's regex has RE_DUP_MAX set to 255.
#
# Examples:
# http://some-service.example.com
# example.com
# a.example.com
# some-service.example.com
# example.com/
# example.com/datenschutz
# file:///tmp/foo
#
# Non-examples:
# 1.1.1900
# 14.02.2022/24:00
# 23.59
# w.l.o.g
# team.its
color body color142 color234 "[a-z]{3,255}://[[:graph:]]*"
color body color142 color234 "([-[:alnum:]]+\\.)+([0-9]{1,3}|[-[:alpha:]]+)/[[:graph:]]*"
color body color142 color234 "([-[:alnum:]]+\\.){2,255}[-[:alpha:]]{2,10}"
# IPv4 and IPv6 stolen from https://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses
color body color142 color234 "((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])"
color body color142 color234 "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))"
# Mail addresses and mailto URLs
color body color208 color234 "[-a-z_0-9.%$]+@[-a-z_0-9.]+\\.[-a-z][-a-z]+"
color body color208 color234 "mailto:[-a-z_0-9.]+@[-a-z_0-9.]+"
# some simleys and stuff
color body color234 color214 "[;:]-*[)>(<lt;|]"
color body color229 color234 "\\*[- A-Za-z]+\\*"
color body color214 color234 "^-.*PGP.*-*"
color body color142 color234 "^gpg: Good signature from"
color body color167 color234 "^gpg: Can't.*$"
color body color214 color234 "^gpg: WARNING:.*$"
color body color167 color234 "^gpg: BAD signature from"
color body color167 color234 "^gpg: Note: This key has expired!"
color body color214 color234 "^gpg: There is no indication that the signature belongs to the owner."
color body color214 color234 "^gpg: can't handle these multiple signatures"
color body color214 color234 "^gpg: signature verification suppressed"
color body color214 color234 "^gpg: invalid node with packet of type"
color body color142 color234 "^Good signature from:"
color body color167 color234 "^.?BAD.? signature from:"
color body color142 color234 "^Verification successful"
color body color167 color234 "^Verification [^s][^[:space:]]*$"
color compose header color223 color234
color compose security_encrypt color175 color234
color compose security_sign color109 color234
color compose security_both color142 color234
color compose security_none color208 color234

View file

@ -0,0 +1,4 @@
text/html; firefox %s; test=test -n "$display"; needsterminal;
text/html; lynx -assume_charset=%{charset} -display_charset=utf-8 -dump -width=1024 %s; nametemplate=%s.html; copiousoutput;
text/plain; cat %s; copiousoutput
application/pdf; firefox %s; test=test -n "$display"; needsterminal;

BIN
linux/.config/mutt/muttrc Normal file

Binary file not shown.

56
linux/.tmux.conf Executable file
View file

@ -0,0 +1,56 @@
# mouse
setw -g mouse on
unbind C-b
set -g prefix C-a
set -g mode-keys vi
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi y send-keys -X copy-pipe "pbcopy"
set -g default-terminal "xterm-256color"
# reset gpg-agent password cache after close the pane (vimwiki diary)
set-hook -g window-unlinked 'run-shell "gpgconf --reload gpg-agent"'
# pane navigation
# bind -n M-h select-pane -L
# bind -n M-j select-pane -D
# bind -n M-k select-pane -U
# bind -n M-l select-pane -R
# windows
bind -n M-t new-window
bind -n M-X kill-window
bind -n M-n next-window
bind -n M-p last-window
bind -n M-e split-window -v -c '#{pane_current_path}'
bind -n M-d split-window -h -c '#{pane_current_path}'
bind -n M-W kill-pane
# Automatic restore
set -g @continuum-restore 'on'
set -g @resurrect-capture-pane-contents 'on'
#set -g @resurrect-processes ''
set -g @catppuccin_window_status_icon_enable "yes"
set -g @catppuccin_window_default_fill "number"
set -g @catppuccin_status_left_separator "█"
set -g @catppuccin_status_fill "all"
set -g @catppuccin_status_modules_right "application session battery"
set -g @catppuccin_application_icon ""
# plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'catppuccin/tmux'
set -g @plugin 'tmux-plugins/tmux-battery'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @plugin 'MunifTanjim/tmux-mode-indicator'
set -g @plugin 'christoomey/vim-tmux-navigator'
run '~/.tmux/plugins/tpm/tpm'

261
linux/.vimrc Normal file
View file

@ -0,0 +1,261 @@
" Base settings (add comments)
set nocompatible
syntax on " syntax highlight
set clipboard=unnamedplus
set t_Co=256 " set 256 colors
set number " show line numbers
set ruler
set ttyfast " terminal acceleration
set tabstop=4 " 4 whitespaces for tabs visual presentation
set shiftwidth=4 " shift lines by 4 spaces
set smarttab " set tabs for a shifttabs logic
set expandtab " expand tabs into spaces
set autoindent " indent when moving to the next line while writing code
set cursorline " shows line under the cursor's line
set showmatch " shows matching part of bracket pairs (), [], {}
set enc=utf-8 " utf-8 by default
set nobackup " no backup files
set nowritebackup " only in case you don't want a backup file while editing
set noswapfile " no swap files
set backspace=indent,eol,start " backspace removes all (indents, EOLs, start) What is start?
set scrolloff=10 " let 10 lines before/after cursor during scroll
set clipboard=unnamed " use system clipboard
set exrc " enable usage of additional .vimrc files from working directory
set secure " prohibit .vimrc files to execute shell, create files, etc...
let mapleader = " " " leader key
" Buffers
set switchbuf=useopen " open buffer instead of creating a new one
set laststatus=2
" close current buffer
nmap <leader>bc :bd<CR>
" Search
set incsearch " incremental search
set hlsearch " highlight search results
" highlight 'long' lines (>= 80 symbols) in python files
augroup vimrc_autocmds
autocmd!
autocmd FileType python,rst,c,cpp highlight Excess ctermbg=DarkGrey guibg=Black
autocmd FileType python,rst,c,cpp match Excess /\%81v.*/
autocmd FileType python,rst,c,cpp set nowrap
autocmd FileType python,rst,c,cpp set colorcolumn=80
autocmd FileType vimwiki set wrap
autocmd FileType vimwiki set textwidth=80
augroup END
" terminal
cabbrev bterm bo term
autocmd TerminalWinOpen *
\ if &buftype == 'terminal' |
\ resize 10 |
"\ setlocal termwinsize=0x140 |
\ endif
nmap <leader>tt :bterm<CR>
autocmd FileType html setlocal tabstop=2 shiftwidth=2 softtabstop=2
autocmd FileType css setlocal tabstop=2 shiftwidth=2 softtabstop=2
autocmd FileType javascript setlocal tabstop=2 shiftwidth=2 softtabstop=2
" plugings
call plug#begin()
Plug 'machakann/vim-highlightedyank'
Plug 'tpope/vim-commentary'
Plug 'easymotion/vim-easymotion'
Plug 'preservim/nerdtree'
Plug 'tpope/vim-surround'
Plug 'terryma/vim-multiple-cursors'
Plug 'tommcdo/vim-exchange'
Plug 'michaeljsmith/vim-indent-object'
Plug 'vimwiki/vimwiki'
Plug 'mattn/calendar-vim'
Plug 'jamessan/vim-gnupg'
Plug 'ryanoasis/vim-devicons'
" https://github.com/LunarWatcher/auto-pairs/blob/master/doc/AutoPairs.txt
Plug 'LunarWatcher/auto-pairs'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'tiagofumo/vim-nerdtree-syntax-highlight'
Plug 'morhetz/gruvbox'
Plug 'christoomey/vim-tmux-navigator'
Plug 'sheerun/vim-polyglot'
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'
Plug 'mhinz/vim-startify'
Plug 'tpope/vim-fugitive'
Plug 'tpope/vim-obsession'
Plug 'ycm-core/YouCompleteMe'
Plug 'dense-analysis/ale'
Plug 'SirVer/ultisnips'
Plug 'honza/vim-snippets'
Plug 'majutsushi/tagbar'
call plug#end()
filetype on
filetype plugin on
filetype plugin indent on
" tagbar
let g:tagbar_autofocus=0
let g:tagbar_width=42
autocmd BufEnter *.py :call tagbar#autoopen(0)
" ultisnips
let g:UltiSnipsExpandTrigger = '<C-j>'
let g:UltiSnipsJumpForwardTrigger = '<C-j>'
let g:UltiSnipsJumpBackwardTrigger = '<C-k>'
" easymotion
map <leader>F <Plug>(easymotion-s)
map <leader>f <Plug>(easymotion-f)
" nerdtree
map <c-t> :NERDTree<CR>
nmap " :NERDTreeToggle<CR>
let NERDTreeIgnore=['\.pyc$', '\.pyo$', '__pycache__$'] " Ignore files in NERDTree
let NERDTreeWinSize=40
" autocmd VimEnter * if !argc() | NERDTree | endif " Load NERDTree only if vim is run without arguments
" fzf
set rtp+=/opt/homebrew/opt/fzf
nmap <leader>bb :Buffers<CR>
" auto-pairs
let g:AutoPairsMapBS = 1
let g:AutoPairsBSAfter = 0
" airline
let g:airline#extensions#obsession#enable = 1
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#ale#enabled = 1
let g:airline_powerline_fonts = 1
let g:airline#extensions#whitespace#enabled = 0
let g:airline_theme='gruvbox'
if !exists('g:airline_symbols')
let g:airline_symbols = {}
endif
let g:airline_symbols.linenr = ' ☰ '
let g:airline_symbols.colnr = ' : '
let g:airline_symbols.maxlinenr = ''
" theme
autocmd vimenter * ++nested colorscheme gruvbox
set background=dark
let g:gruvbox_contrast_dark='soft'
" vim wiki
let g:GPGFilePattern = '*.\(gpg\|asc\|pgp\)\(.wiki\|.md\)\='
" toogle checklists
nnoremap <leader>cl :VimwikiToggleListItem<CR>
" reset gpg-agent password cache after close or save the buffer (vimwiki diary)
autocmd BufWritePost *.asc.md !gpgconf --reload gpg-agent
" https://github.com/WnP/vimwiki_markdown
" ~/vimwiki/personal - private content
" ~/vimwiki/public_wiki - public wiki content
" ~/vimwiki/diary - private diary
let default_wiki = '~/vimwiki/personal'
let public_wiki = '~/vimwiki/public_wiki'
let g:diary = '~/vimwiki/diary'
let g:diary_index_name = 'diary'
let g:diary_ext = '.asc.md'
let g:vimwiki_list = [{
\ 'path': default_wiki,
\ 'diary_rel_path': '../diary',
\ 'auto_diary_index': 1,
\ 'auto_export': 0},
\ {'path': public_wiki,
\ 'auto_export': 0,
\ 'diary_rel_path': '../diary',
\ 'template_path': public_wiki . '/templates/',
\ 'template_default': 'default',
\ 'syntax': 'markdown',
\ 'ext': '.md',
\ 'path_html': public_wiki . '/site_html/',
\ 'custom_wiki2html': 'vimwiki_markdown',
\ 'template_ext': '.tpl'},
\ {'path': diary,
\ 'index': diary_index_name,
\ 'ext': diary_ext,
\ 'diary_rel_path': './',
\ 'auto_diary_index': 1,
\ 'auto_export': 0}]
" fix - https://github.com/vimwiki/vimwiki/issues/1055
exe 'autocmd BufEnter ' . diary_index_name . diary_ext . ' :VimwikiDiaryGenerateLinks'
" inserting default diary template
function! AppendDiaryTemplate()
" detecting path of current buffer
let current_dir = substitute(expand('%:p:h'), '^' . $HOME, '~', '')
if current_dir == g:diary
r! ~/scripts/vimwiki_diary_template
execute '1,2d'
normal G
normal o
endif
endfunction
command! InsertDiaryTemplate call AppendDiaryTemplate()
nnoremap <leader>idr :InsertDiaryTemplate<CR>
" inserting default GPG fingerprint for the diary
let g:diaryGPG = 'CE7EB8727486553012A04E284EE708165AA10C48'
" inserting default GPG fingerprint for the personal notes
let g:personalGPG = '5F2D798AC3A4A1B1A0CAA868EBE731F3329F400C'
command! InsertGPGAndExit call AppendGPGAndExit()
function! AppendGPGAndExit()
" detecting vim-gnupg dialog
if match(getline(2), '^GPG:') == 0
call append(line('.'), g:diaryGPG)
wq
endif
endfunction
nnoremap <leader>igg :InsertGPGAndExit<CR>
command! InsertDiaryGPGAndExit call AppendDiaryGPGAndExit()
function! AppendDiaryGPGAndExit()
" detecting vim-gnupg dialog
if match(getline(2), '^GPG:') == 0
call append(line('.'), g:personalGPG)
wq
endif
endfunction
nnoremap <leader>igp :InsertDiaryGPGAndExit<CR>
" prettier
nmap <leader>mm <Plug>(PrettierAsync)
" ALE
let g:ale_linters = {
\ 'python': ['ruff', 'mypy', 'pyright'],
\}
let g:ale_fixers = {
\ '*': ['remove_trailing_lines', 'trim_whitespace'],
\ 'python': ['ruff', 'ruff_format'],
\ 'javascript': ['prettier', 'eslint'],
\}
let g:ale_fix_on_save = 1
map <C-e> <Plug>(ale_next_wrap)
map <C-r> <Plug>(ale_previous_wrap)
nmap <leader>go :ALEGoToDefinition<CR>
nmap <leader>qf :ALEFix<CR>
nmap <leader>k :ALEHover<CR>
let g:ale_python_auto_virtualenv = 1
let g:ale_fix_on_save = 1
" YCM
set completeopt-=preview
" autocmd CompleteDone * if pumvisible() == 0 | pclose | endif
"
set langmap=йq,цw,уe,кr,еt,нy,гu,шi,щo,зp,х[,ъ],фa,ыs,вd,аf,пg,рh,оj,лk,дl,ж\\;,э',ё\\,яz,чx,сc,мv,иb,тn,ьm,б\\,,ю.,ЙQ,ЦW,УE,КR,ЕT,НY,ГU,ШI,ЩO,ЗP,Х{,Ъ},ФA,ЫS,ВD,АF,ПG,РH,ОJ,ЛK,ДL,Ж:,Э\\",ЯZ,ЧX,СC,МV,ИB,ТN,ЬM,Б<,Ю>,Ё/|

104
linux/.zshrc Normal file
View file

@ -0,0 +1,104 @@
# Path to your oh-my-zsh installation.
export ZSH="$HOME/.oh-my-zsh"
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
ZSH_THEME="robbyrussell"
# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git python tmux genpass web-search zsh-syntax-highlighting zsh-autosuggestions)
fpath+=${ZSH_CUSTOM:-${ZSH:-~/.oh-my-zsh}/custom}/plugins/zsh-completions/src
source $ZSH/oh-my-zsh.sh
# functions
### ARCHIVE EXTRACTION
# usage: ex <file>
ex ()
{
if [ -f "$1" ] ; then
case $1 in
*.tar.bz2) tar xjf $1 ;;
*.tar.gz) tar xzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xf $1 ;;
*.tbz2) tar xjf $1 ;;
*.tgz) tar xzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1;;
*.7z) 7z x $1 ;;
*.deb) ar x $1 ;;
*.tar.xz) tar xf $1 ;;
*.tar.zst) unzstd $1 ;;
*) echo "'$1' cannot be extracted via ex()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}
# aliases
## tmux
alias tsc='tmux switch-client -t'
alias tsd='tmux new-session -d -s'
alias txrd='tmux source-file ~/.tmux.conf'
## default command
alias cat='bat --paging=never --theme=Dracula'
alias ls="eza"
alias la="eza -lagh --git --header"
alias lt="eza -T --git-ignore"
alias nano='micro'
## files/dirs
alias zshe='vim ~/.zshrc'
alias zshs='. ~/.zshrc'
## neomutt
alias nm='neomutt'
## vim
alias diary='vim ~/vimwiki/diary/diary.asc.md'
## wttr.in
alias wr='curl wttr.in'
## python
alias python='python3'
alias py='python'
# Preferred editor for local and remote sessions
export EDITOR='vim'
# bindkeys
## autosuggest
bindkey "^]" autosuggest-accept
# envs
export DISABLE_AUTO_TITLE='true'
## fzf dracula theme
export FZF_DEFAULT_OPTS=$FZF_DEFAULT_OPTS'
--color=dark
--color=fg:-1,bg:-1,hl:#5fff87,fg+:-1,bg+:-1,hl+:#ffaf5f
--color=info:#af87ff,prompt:#5fff87,pointer:#ff87d7,marker:#ff87d7,spinner:#ff87d7'
# paths
## rust
source $HOME/.cargo/env
## all from local/bin
export PATH=$PATH:$HOME/.local/bin
## pdtm
export PATH=$PATH:$HOME/.pdtm/go/bin
## doom emacs
export PATH=$PATH:$HOME/.config/emacs/bin
## golang
export GOPATH=$HOME/go # don't forget to change your path correctly!
export PATH=$PATH:$GOPATH/bin
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
export VOLTA_HOME="$HOME/.volta"
export PATH="$VOLTA_HOME/bin:$PATH"