From 3c96ddcd04cfa7fed1379b388c32b7711cd2807c Mon Sep 17 00:00:00 2001 From: Eric Renfro Date: Mon, 28 May 2018 03:47:56 -0400 Subject: [PATCH] Added configuration files --- install.conf.yaml | 43 +++++++ pam_environment | 5 + profile | 4 + tmux.conf.local | 281 ++++++++++++++++++++++++++++++++++++++++++++++ tmux.conf.mine | 164 +++++++++++++++++++++++++++ vimrc | 11 ++ zimrc | 95 ++++++++++++++++ zlogin | 8 ++ zshrc | 38 +++++++ 9 files changed, 649 insertions(+) create mode 100644 pam_environment create mode 100644 profile create mode 100644 tmux.conf.local create mode 100644 tmux.conf.mine create mode 100644 vimrc create mode 100644 zimrc create mode 100644 zlogin create mode 100644 zshrc diff --git a/install.conf.yaml b/install.conf.yaml index e69de29..e8cc74f 100644 --- a/install.conf.yaml +++ b/install.conf.yaml @@ -0,0 +1,43 @@ +- clean: ['~'] +- link: + ~/.zshrc: + path: zshrc + create: false + relink: true + force: false + ~/.zimrc: + path: zimrc + create: false + relink: true + force: false + ~/.zlogin: + path: zlogin + create: false + relink: true + force: false + ~/.vim_runtime: + path: vim_runtime + create: false + relink: true + force: false + ~/.zim: + path: zimfw + create: false + relink: true + force: false + ~/.profile: + path: profile + create: false + relink: true + force: false + ~/.gitconfig: + path: gitconfig + create: false + relink: false + force: false + ~/bin: + path: bin/ + create: true + relink: false + force: false + diff --git a/pam_environment b/pam_environment new file mode 100644 index 0000000..920e8fa --- /dev/null +++ b/pam_environment @@ -0,0 +1,5 @@ +EDITOR=vim +VISUAL=vim +PATH=DEFAULT=${PATH}:/home/@{PAM_USER}/bin +SSH_ASKPASS=/usr/lib/ssh/x11-ssh-askpass + diff --git a/profile b/profile new file mode 100644 index 0000000..32b3ab9 --- /dev/null +++ b/profile @@ -0,0 +1,4 @@ +export EDITOR=vim +export PATH=$PATH:$HOME/bin +export QT_QPA_PLATFORMTHEME=qgnomeplatform + diff --git a/tmux.conf.local b/tmux.conf.local new file mode 100644 index 0000000..18a367f --- /dev/null +++ b/tmux.conf.local @@ -0,0 +1,281 @@ +# https://github.com/gpakosz/.tmux +# (‑●‑●)> dual licensed under the WTFPL v2 license and the MIT license, +# without any warranty. +# Copyright 2012— Gregory Pakosz (@gpakosz). + + +# -- navigation ---------------------------------------------------------------- + +# if you're running tmux within iTerm2 +# - and tmux is 1.9 or 1.9a +# - and iTerm2 is configured to let option key act as +Esc +# - and iTerm2 is configured to send [1;9A -> [1;9D for option + arrow keys +# then uncomment the following line to make Meta + arrow keys mapping work +#set -ga terminal-overrides "*:kUP3=\e[1;9A,*:kDN3=\e[1;9B,*:kRIT3=\e[1;9C,*:kLFT3=\e[1;9D" + + +# -- windows & pane creation --------------------------------------------------- + +# new window retains current path, possible values are: +# - true +# - false (default) +tmux_conf_new_window_retain_current_path=false + +# new pane retains current path, possible values are: +# - true (default) +# - false +tmux_conf_new_pane_retain_current_path=true + +# new pane tries to reconnect ssh sessions (experimental), possible values are: +# - true +# - false (default) +tmux_conf_new_pane_reconnect_ssh=false + +# prompt for session name when creating a new session, possible values are: +# - true +# - false (default) +tmux_conf_new_session_prompt=false + + +# -- display ------------------------------------------------------------------- + +# RGB 24-bit colour support (tmux >= 2.2), possible values are: +# - true +# - false (default) +tmux_conf_theme_24b_colour=true + +# window style +tmux_conf_theme_window_fg='default' +tmux_conf_theme_window_bg='default' + +# highlight focused pane (tmux >= 2.1), possible values are: +# - true +# - false (default) +tmux_conf_theme_highlight_focused_pane=true + +# focused pane colours: +tmux_conf_theme_focused_pane_fg='default' +#tmux_conf_theme_focused_pane_bg='#0087d7' # light blue +tmux_conf_theme_focused_pane_bg='#000000' # black + +# pane border style, possible values are: +# - thin (default) +# - fat +tmux_conf_theme_pane_border_style=thin + +# pane borders colours: +tmux_conf_theme_pane_border='#444444' # gray +tmux_conf_theme_pane_active_border='#00afff' # light blue + +# pane indicator colours +tmux_conf_theme_pane_indicator='#00afff' # light blue +tmux_conf_theme_pane_active_indicator='#00afff' # light blue + +# status line style +tmux_conf_theme_message_fg='#000000' # black +tmux_conf_theme_message_bg='#ffff00' # yellow +tmux_conf_theme_message_attr='bold' + +# status line command style ( : Escape) +tmux_conf_theme_message_command_fg='#ffff00' # yellow +tmux_conf_theme_message_command_bg='#000000' # black +tmux_conf_theme_message_command_attr='bold' + +# window modes style +tmux_conf_theme_mode_fg='#000000' # black +tmux_conf_theme_mode_bg='#ffff00' # yellow +tmux_conf_theme_mode_attr='bold' + +# status line style +tmux_conf_theme_status_fg='#8a8a8a' # light gray +tmux_conf_theme_status_bg='#080808' # dark gray +tmux_conf_theme_status_attr='none' + +# window status style +# - built-in variables are: +# - #{circled_window_index} +tmux_conf_theme_window_status_fg='#8a8a8a' # light gray +tmux_conf_theme_window_status_bg='#080808' # dark gray +tmux_conf_theme_window_status_attr='none' +tmux_conf_theme_window_status_format='#I #W' +#tmux_conf_theme_window_status_format='#{circled_window_index} #W' +#tmux_conf_theme_window_status_format='#I #W#{?window_bell_flag,🔔,}#{?window_zoomed_flag,🔍,}' + +# window current status style +# - built-in variables are: +# - #{circled_window_index} +tmux_conf_theme_window_status_current_fg='#000000' # black +tmux_conf_theme_window_status_current_bg='#00afff' # light blue +tmux_conf_theme_window_status_current_attr='bold' +tmux_conf_theme_window_status_current_format='#I #W' +#tmux_conf_theme_window_status_current_format='#{circled_window_index} #W' +#tmux_conf_theme_window_status_current_format='#I #W#{?window_zoomed_flag,🔍,}' + +# window activity status style +tmux_conf_theme_window_status_activity_fg='default' +tmux_conf_theme_window_status_activity_bg='default' +tmux_conf_theme_window_status_activity_attr='underscore' + +# window bell status style +tmux_conf_theme_window_status_bell_fg='#ffff00' # yellow +tmux_conf_theme_window_status_bell_bg='default' +tmux_conf_theme_window_status_bell_attr='blink,bold' + +# window last status style +tmux_conf_theme_window_status_last_fg='#00afff' # light blue +tmux_conf_theme_window_status_last_bg='default' +tmux_conf_theme_window_status_last_attr='none' + +# status left/right sections separators +#tmux_conf_theme_left_separator_main='' +#tmux_conf_theme_left_separator_sub='|' +#tmux_conf_theme_right_separator_main='' +#tmux_conf_theme_right_separator_sub='|' +tmux_conf_theme_left_separator_main='' # /!\ you don't need to install Powerline +tmux_conf_theme_left_separator_sub='' # you only need fonts patched with +tmux_conf_theme_right_separator_main='' # Powerline symbols or the standalone +tmux_conf_theme_right_separator_sub='' # PowerlineSymbols.otf font + +# status left/right content: +# - separate main sections with '|' +# - separate subsections with ',' +# - built-in variables are: +# - #{battery_bar} +# - #{battery_hbar} +# - #{battery_percentage} +# - #{battery_status} +# - #{battery_vbar} +# - #{circled_session_name} +# - #{hostname_ssh} +# - #{hostname} +# - #{loadavg} +# - #{pairing} +# - #{prefix} +# - #{root} +# - #{uptime_d} +# - #{uptime_h} +# - #{uptime_m} +# - #{uptime_s} +# - #{username} +# - #{username_ssh} +#tmux_conf_theme_status_left=' ❐ #S | ↑#{?uptime_d, #{uptime_d}d,}#{?uptime_h, #{uptime_h}h,}#{?uptime_m, #{uptime_m}m,} ' +tmux_conf_theme_status_left=' ❐ #S ' +#tmux_conf_theme_status_right='#{prefix}#{pairing} #{?battery_status, #{battery_status},}#{?battery_bar, #{battery_bar},}#{?battery_percentage, #{battery_percentage},} , %R , %d %b | #{username}#{root} | #{hostname} ' +tmux_conf_theme_status_right='#{prefix}#{pairing}, %R , %d %b | #{username}#{root} | #{hostname} ' + +# status left style +tmux_conf_theme_status_left_fg='#000000,#e4e4e4,#e4e4e4' # black, white , white +tmux_conf_theme_status_left_bg='#ffff00,#ff00af,#00afff' # yellow, pink, white blue +tmux_conf_theme_status_left_attr='bold,none,none' + +# status right style +tmux_conf_theme_status_right_fg='#8a8a8a,#e4e4e4,#000000' # light gray, white, black +tmux_conf_theme_status_right_bg='#080808,#d70000,#e4e4e4' # dark gray, red, white +tmux_conf_theme_status_right_attr='none,none,bold' + +# pairing indicator +tmux_conf_theme_pairing='👓 ' # U+1F453 +tmux_conf_theme_pairing_fg='none' +tmux_conf_theme_pairing_bg='none' +tmux_conf_theme_pairing_attr='none' + +# prefix indicator +tmux_conf_theme_prefix='⌨ ' # U+2328 +tmux_conf_theme_prefix_fg='none' +tmux_conf_theme_prefix_bg='none' +tmux_conf_theme_prefix_attr='none' + +# root indicator +tmux_conf_theme_root='!' +tmux_conf_theme_root_fg='none' +tmux_conf_theme_root_bg='none' +tmux_conf_theme_root_attr='bold,blink' + +# battery bar symbols +tmux_conf_battery_bar_symbol_full='◼' +tmux_conf_battery_bar_symbol_empty='◻' +#tmux_conf_battery_bar_symbol_full='♥' +#tmux_conf_battery_bar_symbol_empty='·' + +# battery bar length (in number of symbols), possible values are: +# - auto +# - a number, e.g. 5 +tmux_conf_battery_bar_length='auto' + +# battery bar palette, possible values are: +# - gradient (default) +# - heat +# - 'colour_full_fg,colour_empty_fg,colour_bg' +tmux_conf_battery_bar_palette='gradient' +#tmux_conf_battery_bar_palette='#d70000,#e4e4e4,#000000' # red, white, black + +# battery hbar palette, possible values are: +# - gradient (default) +# - heat +# - 'colour_low,colour_half,colour_full' +tmux_conf_battery_hbar_palette='gradient' +#tmux_conf_battery_hbar_palette='#d70000,#ff5f00,#5fff00' # red, orange, green + +# battery vbar palette, possible values are: +# - gradient (default) +# - heat +# - 'colour_low,colour_half,colour_full' +tmux_conf_battery_vbar_palette='gradient' +#tmux_conf_battery_vbar_palette='#d70000,#ff5f00,#5fff00' # red, orange, green + +# symbols used to indicate whether battery is charging or discharging +tmux_conf_battery_status_charging='↑' # U+2191 +tmux_conf_battery_status_discharging='↓' # U+2193 +#tmux_conf_battery_status_charging='⚡ ' # U+26A1 +#tmux_conf_battery_status_charging='🔌 ' # U+1F50C +#tmux_conf_battery_status_discharging='🔋 ' # U+1F50B + +# clock style +tmux_conf_theme_clock_colour='#00afff' # light blue +tmux_conf_theme_clock_style='24' + + +# -- clipboard ----------------------------------------------------------------- + +# in copy mode, copying selection also copies to the OS clipboard +# - true +# - false (default) +# on macOS, this requires installing reattach-to-user-namespace, see README.md +# on Linux, this requires xsel or xclip +tmux_conf_copy_to_os_clipboard=true + + +# -- user customizations ------------------------------------------------------- +# this is the place to override or undo settings + +# increase history size +#set -g history-limit 10000 + +# start with mouse mode enabled +set -g mouse on + +# force Vi mode +# really you should export VISUAL or EDITOR environment variable, see manual +set -g status-keys vi +set -g mode-keys vi + +# replace C-b by C-a instead of using both prefixes +# set -gu prefix2 +# unbind C-a +# unbind C-b +# set -g prefix C-a +# bind C-a send-prefix + +# move status line to top +#set -g status-position top + +# set shell to zsh +set-option -g default-shell /usr/bin/zsh + +# set alt+left/right to switch windows +bind -n M-Right next-window +bind -n M-Left previous-window + +# hotkey for synchronizing panels +bind-key -n F2 set-window-option synchronize-panes + diff --git a/tmux.conf.mine b/tmux.conf.mine new file mode 100644 index 0000000..e80b2bf --- /dev/null +++ b/tmux.conf.mine @@ -0,0 +1,164 @@ +# vim: set ft=conf + +# Behave like screen +unbind-key C-b +set-option -g prefix C-a +bind-key a send-prefix + +# Handle Window splitting a little more human-like. +unbind % +bind-key | split-window -h +bind-key \ split-window -h +bind-key - split-window -v + +# Helpers +bind-key C-a last-window +bind-key r source-file ~/.tmux.conf \; display-message 'source-file done' # Reload tmux configuration + +# Basic Options +set-option -g base-index 1 +set-option -g bell-action any +set-option -g visual-bell off +set-window-option -g xterm-keys on +#setw -g xterm-keys on + +# Enable mouse +setw -g mouse on +# make scrolling with wheels work +bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'select-pane -t=; copy-mode -e; send-keys -M'" +bind -n WheelDownPane select-pane -t= \; send-keys -M +#set-window-option -g mode-mouse on +#set-window-option -g mouse-select-pane on +#set-window-option -g mouse-resize-pane on +#set-window-option -g mouse-select-window on + +# Use zsh +set-option -g default-shell /usr/bin/zsh +#set-option -g default-command /usr/bin/zsh + +# Use 256 color +set-option -g default-terminal 'screen-256color' +#set-option -g default-terminal 'screen-256color-bce' + +# Monitor and highlight window with activity +set-window-option -g monitor-activity on + +# Act like vim +set -gs escape-time 0 +set-option -g set-titles on +set-window-option -g automatic-rename on +#set-option -g allow-rename off +set-window-option -g mode-keys vi +#bind-key -r h select-pane -L +#bind-key -r j select-pane -D +#bind-key -r k select-pane -U +#bind-key -r l select-pane -R +#bind-key s split-window -v +#bind-key v split-window -h +#bind-key -r C-h select-window -t :- +#bind-key -r C-l select-window -t :+ +#bind-key -r > resize-pane -R 10 +#bind-key -r < resize-pane -L 10 +#bind-key -r + resize-pane -D 10 +#bind-key -r - resize-pane -U 10 + +# displays * +bind * list-clients + +# Helpful commands +bind / command-prompt -p "man" "split-window -h 'exec man %%'" +bind-key S command-prompt -p ssh: "new-window -n %1 'ssh %1'" # Open a ssh session in a new window with input host + +# Join pane into a new split in current window +bind-key C-j command-prompt -p "join pane from:" "join-pane -h -s '%%'" +bind-key C-s command-prompt -p "send pane to:" "join-pane -h -t '%%'" + +# Powerline +#source ~/.local/lib/python2.7/site-packages/powerline/bindings/tmux/powerline.conf +# +# Override Powerline config +#set -g status-interval 5 + +# move x clipboard into tmux paste buffer +#bind C-p run "xclip -o | tmux load-buffer -" +# move tmux copy buffer into x clipboard +#bind C-y run "tmux save-buffer - | xclip -i -selection clipboard" + +#bind-key C-y run "tmux show-buffer | xsel -i -b" \; display-message "Copied tmux buffer to system clipboard" +#bind-key C-p run "tmux set-buffer -- \"$(xsel -o -b)\"; tmux paste-buffer" \; display-message "Copied system clipboard to tmux" + + +#disabled for tmux-yank plugin +#bind -t vi-copy 'y' copy-selection +#bind -t vi-copy 'y' copy-pipe "xclip" +#bind -t vi-copy 'y' copy-pipe "xclip --clipboard" +bind-key -T copy-mode-vi v send-keys -X begin-selection +bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard' +bind-key -T copy-mode-vi Y send-keys -X copy-pipe-and-cancel 'tmux paste-buffer' +bind-key -T copy-mode-vi M-y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard; tmux paste-buffer' +bind-key -T copy-mode-vi ! send-keys -X copy-pipe-and-cancel "tr -d '\n' | xclip -in -selection clipboard" +bind-key -T copy-mode-vi Home send-keys -X start-of-line +bind-key -T copy-mode-vi End send-keys -X end-of-line +#bind-key y run "tmux send-keys 'C-a'; tmux copy-mode; tmux send-keys 'v150j$be'; tr -d '\n' | xclip -in -selection clipboard; tmux send-keys 'C-e'; display_message 'Line copied to clipboard!'" + +bind Space next-window +#bind -n M-NPage copy-mode ; send-keys NPage +#bind -n M-PPage copy-mode ; send-keys PPage + +bind -n M-Right next-window +bind -n M-Left previous-window + +# smart pane switching with awareness of vim splits +bind -n C-h run "(tmux display-message -p '#{pane_current_command}' | grep -iq vim && tmux send-keys C-h) || tmux select-pane -L" +bind -n C-j run "(tmux display-message -p '#{pane_current_command}' | grep -iq vim && tmux send-keys C-j) || tmux select-pane -D" +bind -n C-k run "(tmux display-message -p '#{pane_current_command}' | grep -iq vim && tmux send-keys C-k) || tmux select-pane -U" +bind -n C-l run "(tmux display-message -p '#{pane_current_command}' | grep -iq vim && tmux send-keys C-l) || tmux select-pane -R" +bind -n C-\ run "(tmux display-message -p '#{pane_current_command}' | grep -iq vim && tmux send-keys 'C-\\') || tmux select-pane -l" + +bind -n C-PPage run "(tmux display-message -p '#{pane_current_command}' | grep -iq vim && tmux send-keys 'C-PPage') || tmux select-pane -L" +bind -n C-NPage run "(tmux display-message -p '#{pane_current_command}' | grep -iq vim && tmux send-keys 'C-NPage') || tmux select-pane -D" + +#source /usr/lib/python2.7/site-packages/powerline/bindings/tmux/powerline.conf +#source /usr/share/tmux/powerline.conf + + +# Powerline +#source ~/.local/lib/python2.7/site-packages/powerline/bindings/tmux/powerline.conf + +# Override Powerline config +#set -g status-interval 5 + +# Alternative to Powerline: +set -g status on +# No longer necessary +##set -g status-utf8 on +#set -g status-interval 2 +#set -g status-fg colour247 +#set -g status-bg colour232 +#set -g status-right '#[bg=colour233] #[fg=white,bg=colour234] %T #[fg=yellow,bg=colour233] #[bg=colour232]' +#set -g status-left '#[fg=colour16,bg=colour237,bold] #S #[fg=colour254,bg=colour234,nobold]' +#set -g window-status-format "#[fg=colour43,bg=colour234] #I #[fg=colour231,bold]#W #[fg=colour31,bg=colour234,nobold]" +#set -g window-status-current-format "#[fg=colour117,bg=colour31] #I #[fg=colour231,bold]#W #[fg=colour31,bg=colour234,nobold]" +#set -g window-status-separator ">" + +source $HOME/.tmux/tmuxline.conf + +# List of plugins +set -g @plugin 'tmux-plugins/tpm' +set -g @plugin 'tmux-plugins/tmux-sensible' +set -g @plugin 'tmux-plugins/tmux-pain-control' +set -g @plugin 'tmux-plugins/tmux-copycat' +#set -g @plugin 'tmux-plugins/tmux-yank' +#set -g @yank_selection 'primary' + +# Other examples: +#set -g @plugin 'github_username/plugin_name' +#set -g @plugin 'git@github.com/user/plugin' +#set -g @plugin 'git@bitbucket.com/user/plugin' + +# ZSH Integrations +bind h run-shell -b "$ZNT_REPO_DIR/doc/znt-tmux.zsh" + +# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) +run '~/.tmux/plugins/tpm/tpm' + diff --git a/vimrc b/vimrc new file mode 100644 index 0000000..7b16604 --- /dev/null +++ b/vimrc @@ -0,0 +1,11 @@ +set runtimepath+=~/.vim_runtime + +source ~/.vim_runtime/vimrcs/basic.vim +source ~/.vim_runtime/vimrcs/filetypes.vim +source ~/.vim_runtime/vimrcs/plugins_config.vim +source ~/.vim_runtime/vimrcs/extended.vim + +try +source ~/.vim_runtime/my_configs.vim +catch +endtry diff --git a/zimrc b/zimrc new file mode 100644 index 0000000..21a8759 --- /dev/null +++ b/zimrc @@ -0,0 +1,95 @@ + + +################# +# CORE SETTINGS # +################# + +# +# Zim settings +# + +# Select what modules you would like enabled. +# The second line of modules may depend on options set by modules in the first +# line. These dependencies are noted on the respective module's README.md. +zmodules=(directory environment git git-info history input utility custom pacman \ + syntax-highlighting history-substring-search prompt completion) + + +################### +# MODULE SETTINGS # +################### + +# +# Prompt +# + +# Set your desired prompt here +zprompt_theme='eriner' + +# +# Completion +# + +# set an optional host-specific filename for the completion cache file +# if none is provided, the default '.zcompdump' is used. +#zcompdump_file=".zcompdump-${HOST}-${ZSH_VERSION}" + +# +# Utility +# + +# Uncomment to enable command correction prompts +# See: http://zsh.sourceforge.net/Doc/Release/Options.html#Input_002fOutput +#setopt CORRECT + +# +# Environment +# + +# Set the string below to the desired terminal title format string. +# The terminal title is redrawn upon directory change, however, variables like +# ${PWD} are only evaluated once. Use prompt expansion strings for dynamic data: +# http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html#Simple-Prompt-Escapes +# The example below uses the following format: 'username@host:/current/directory' +ztermtitle='%n@%m:%~' + +# +# Input +# + +# Uncomment to enable double-dot expansion. +# This appends '../' to your input for each '.' you type after an initial '..' +#zdouble_dot_expand='true' + +# +# Syntax-Highlighting +# + +# This determines what highlighters will be used with the syntax-highlighting module. +# Documentation of the highlighters can be found here: +# https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters.md +# For (u)rxvt, termite and gnome-terminal users, +# removing the 'cursor' highlighter will fix the disappearing cursor problem +zhighlighters=(main brackets cursor) + + +# +# SSH +# + +# Load these ssh identities with the ssh module +#zssh_ids=(id_rsa) + + +# +# Pacman +# + +# Set (optional) pacman front-end. +#zpacman_frontend='powerpill' +zpacman_frontend='pacmatic' + +# Load any helper scripts as defined here +#zpacman_helper=(aur) +zpacman_helper=(aur) + diff --git a/zlogin b/zlogin new file mode 100644 index 0000000..a9af863 --- /dev/null +++ b/zlogin @@ -0,0 +1,8 @@ + + +# +# User configuration sourced by login shells +# + +# Initialize zim +[[ -s ${ZIM_HOME}/login_init.zsh ]] && source ${ZIM_HOME}/login_init.zsh diff --git a/zshrc b/zshrc new file mode 100644 index 0000000..3d3c6b2 --- /dev/null +++ b/zshrc @@ -0,0 +1,38 @@ + + +# +# User configuration sourced by interactive shells +# + +# Change default zim location +export ZIM_HOME=${ZDOTDIR:-${HOME}}/.zim + +# Start zim +[[ -s ${ZIM_HOME}/init.zsh ]] && source ${ZIM_HOME}/init.zsh + +# Fix the ESC+Backspace +bindkey -e +bindkey -e "^[[1;5C" forward-word +bindkey -e "^[[1;5D" backward-word + +# Default Environment +export EDITOR=vim +export VISUAL=vim +export PAGER=less +export BORG_REPO=/mnt/backups/psi-jack/borg + +# Set GPG TTY +export GPG_TTY=$(tty) + +# Refresh gpg-agent tty in case user switches into an X session +gpg-connect-agent updatestartuptty /bye >/dev/null + +# Update SSH Agent Socket +unset SSH_AGENT_PID +if [[ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]]; then + export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)" +fi + +# Disable Ctrl+S Scroll-Locking +stty -ixon +