dotfiles

Cross platform dotfiles for linux, mac and windows

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
50 
51 
52 
53 
54 
55 
56 
57 
58 
59 
60 
# [xdg]
alias abook='abook --config "$XDG_CONFIG_HOME"/abook/abookrc --datafile "$XDG_DATA_HOME"/abook/addressbook'
alias abook='abook -C "$XDG_CONFIG_HOME"/abook/abookrc --datafile "$XDG_DATA_HOME"/abook/addressbook'
alias dict='dict -c "$XDG_CONFIG_HOME"/dict/dictrc'
there mbsync && alias mbsync='mbsync -c "$XDG_CONFIG_HOME"/isync/mbsyncrc'
alias startx='startx "$XDG_CONFIG_HOME/X11/xinitrc" vt1'
alias wget='wget --hsts-file="$XDG_CACHE_HOME/wget-hsts"'

# [misc]
# alias doas=sudo
alias qc='ssh $(ci)'

# [helper_functions]
cd_and_ls() { cd $* && ls; }
thwart() { for t in $*; do there $t || alias $t="sl '$t'"; done }

# [baseutils_conditioning]
thwart lls sls lsl lss kls cdd mr

# [ip]
# TODO make this cross-platform
there ifconfig && alias lip="ifconfig | grep -w inet  | cut -d ' ' -f2"
there curl && alias gip="curl ifconfig.co"

# [navigation]
alias ....='cd ../../..'
alias ...='cd ../..'
alias ..='cd ..'
alias n='cd_and_ls'
alias cf="quickopen cd d"
alias ef="quickopen ${EDITOR} f"
alias gf='$EDITOR $(git ls-files | ${FUZZER})'
alias of="quickopen open f"
if [ -n "$BASH" ] || [ -n "$ZSH_VERSION" ]; then __is_bashlike=--; fi
alias $__is_bashlike -='cd -'

# [shorthands]
alias a=attach
alias '?d'='sr duckduckgo'
alias cls=clear
alias d='download'
alias e='${EDITOR}'
alias f=quickopen
alias g=git
# TODO Use nnncd
alias l=nnn
alias le=less
alias m=smartmake
alias x=extract.sh
there rc || alias rc='sudo systemctl'

# [midlonghands]
alias op='cd $(open_project "$HOME/repo" | fzf)'
alias girl='grep -irl'
alias gir='grep -ir'
alias markdown=md2html
alias fy='fzf | clip'
alias o='xdg-open'

alias voom='VIM_DIR=$XDG_DATA_HOME/vim voom'