Dotfiles for my tiling window manager + terminal workflow.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

176 lines
5.0 KiB

6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
  1. # ZSH_THEME="bira"
  2. # ZSH_THEME="miloshadzic"
  3. ZSH_THEME="agnoster"
  4. # default {{{ #
  5. HISTFILE=~/.histfile
  6. HISTSIZE=10000
  7. SAVEHIST=10000
  8. setopt appendhistory autocd extendedglob nomatch notify
  9. # If you come from bash you might have to change your $PATH.
  10. # Path to your oh-my-zsh installation.
  11. export ZSH=/home/kevin/.oh-my-zsh
  12. export EDITOR=/usr/bin/nvim
  13. export VISUAL=/usr/bin/nvim
  14. # Set name of the theme to load. Optionally, if you set this to "random"
  15. # it'll load a random theme each time that oh-my-zsh is loaded.
  16. # See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
  17. # Set list of themes to load
  18. # Setting this variable when ZSH_THEME=random
  19. # cause zsh load theme from this variable instead of
  20. # looking in ~/.oh-my-zsh/themes/
  21. # An empty array have no effect
  22. # ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
  23. # Uncomment the following line to use case-sensitive completion.
  24. # CASE_SENSITIVE="true"
  25. # Uncomment the following line to use hyphen-insensitive completion. Case
  26. # sensitive completion must be off. _ and - will be interchangeable.
  27. # HYPHEN_INSENSITIVE="true"
  28. # Uncomment the following line to disable bi-weekly auto-update checks.
  29. # DISABLE_AUTO_UPDATE="true"
  30. # Uncomment the following line to change how often to auto-update (in days).
  31. # export UPDATE_ZSH_DAYS=13
  32. # Uncomment the following line to disable colors in ls.
  33. # DISABLE_LS_COLORS="true"
  34. # Uncomment the following line to disable auto-setting terminal title.
  35. # DISABLE_AUTO_TITLE="true"
  36. # Uncomment the following line to enable command auto-correction.
  37. ENABLE_CORRECTION="true"
  38. # Uncomment the following line to display red dots whilst waiting for completion.
  39. COMPLETION_WAITING_DOTS="true"
  40. # Uncomment the following line if you want to disable marking untracked files
  41. # under VCS as dirty. This makes repository status check for large repositories
  42. # much, much faster.
  43. # DISABLE_UNTRACKED_FILES_DIRTY="true"
  44. # Uncomment the following line if you want to change the command execution time
  45. # stamp shown in the history command output.
  46. # The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
  47. # HIST_STAMPS="mm/dd/yyyy"
  48. # Would you like to use another custom folder than $ZSH/custom?
  49. # ZSH_CUSTOM=/path/to/new-custom-folder
  50. # Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
  51. # Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
  52. # Example format: plugins=(rails git textmate ruby lighthouse)
  53. # Add wisely, as too many plugins slow down shell startup.
  54. plugins=(
  55. git
  56. )
  57. source $ZSH/oh-my-zsh.sh
  58. source ~/linux-config/aliases/zsh_aliases
  59. # User configuration
  60. # export MANPATH="/usr/local/man:$MANPATH"
  61. # You may need to manually set your language environment
  62. # export LANG="en_US.UTF-8"
  63. # export LC_MESSAGES="en_US.UTF-8"
  64. # export LC_ALL="en_US.UTF-8"
  65. # Preferred editor for local and remote sessions
  66. # if [[ -n $SSH_CONNECTION ]]; then
  67. # export EDITOR='vim'
  68. # else
  69. # export EDITOR='mvim'
  70. # fi
  71. # Compilation flags
  72. # export ARCHFLAGS="-arch x86_64"
  73. # ssh
  74. # export SSH_KEY_PATH="~/.ssh/rsa_id"
  75. # Set personal aliases, overriding those provided by oh-my-zsh libs,
  76. # plugins, and themes. Aliases can be placed here, though oh-my-zsh
  77. # users are encouraged to define aliases within the ZSH_CUSTOM folder.
  78. # For a full list of active aliases, run `alias`.
  79. #
  80. # Example aliases
  81. # alias zshconfig="mate ~/.zshrc"
  82. # alias ohmyzsh="mate ~/.oh-my-zsh"
  83. # }}} default #
  84. if [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then
  85. exec startx
  86. fi
  87. # pywal
  88. export PATH="${PATH}:${HOME}/.local/bin/:${HOME}/linux-config/scripts"
  89. (cat ~/.cache/wal/sequences &)
  90. source ~/.cache/wal/colors.sh
  91. xset r rate 200 60
  92. # laptop specific {{{ #
  93. # keyboard delay/rate
  94. if [ "$(hostname)" = "x1-carbon" ];
  95. then
  96. xrandr --dpi 125
  97. xinput disable "ELAN Touchscreen"
  98. # enable horizontal scrolling
  99. synclient HorizTwoFingerScroll=1
  100. fi
  101. # }}} laptop specific #
  102. # autoreload zsh aliases {{{ #
  103. # File containing aliases;
  104. ALIAS_FILE="$HOME/linux-config/aliases/zsh_aliases"
  105. reload_aliases () {
  106. # do nothing if there is no $ALIAS_FILE
  107. [[ -e ALIAS_FILE ]] || return 1
  108. # check if $ALIAS_FILE has been modified since last reload
  109. # the modifier `(:A)` resolves any symbolic links
  110. if [[ $LAST_ALIAS_RELOAD < $(stat -c %Y ${ALIAS_FILE}(:A)) ]]; then
  111. # load aliases
  112. source $ALIAS_FILE
  113. # update date of last reload
  114. LAST_ALIAS_RELOAD=$(date +%s)
  115. fi
  116. }
  117. # make reload_aliases to be run before each prompt
  118. autoload -Uz add-zsh-hook
  119. add-zsh-hook precmd reload_aliases
  120. # }}} autoreload zsh aliases #
  121. source /home/kevin/.shortcuts
  122. # export pywal colors
  123. [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
  124. add-zsh-hook -Uz chpwd (){ ls -a; }
  125. export GPG_TTY=$(tty)
  126. # perl {{{ #
  127. PATH="/home/kevin/perl5/bin${PATH:+:${PATH}}"; export PATH;
  128. PERL5LIB="/home/kevin/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"; export PERL5LIB;
  129. PERL_LOCAL_LIB_ROOT="/home/kevin/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"; export PERL_LOCAL_LIB_ROOT;
  130. PERL_MB_OPT="--install_base \"/home/kevin/perl5\""; export PERL_MB_OPT;
  131. PERL_MM_OPT="INSTALL_BASE=/home/kevin/perl5"; export PERL_MM_OPT;
  132. # }}} perl #