-
Notifications
You must be signed in to change notification settings - Fork 0
/
.myrc
141 lines (119 loc) · 4.06 KB
/
.myrc
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# .myrc - a common startup file for all shells ("it's not .bashrc or .zshrc, it's .myrc")
export LANG=en_US.UTF-8
calc_path() {
new_dirs="
/usr/local/bin
/usr/bin
/bin
/usr/local/sbin
/usr/sbin
/sbin
"
[[ -d $HOME/bin ]] && new_dirs=$'\n'$HOME/bin"$new_dirs"
[[ -d $HOME/.local/bin ]] && new_dirs=$'\n'$HOME/.local/bin"$new_dirs"
# it's just new_dirs, but with colons between dir names
new_path=$(echo -n "$new_dirs" | tr '\n' ':' | sed -E 's/^:|:$//g')
# now add on any other dirs that are in the current path at the end
for current_path_dir in $(echo -n $PATH | tr ':' ' '); do
# (if the dir in the current path isn't in new list of dirs, ...)
if [[ ! "$new_dirs" == *"$current_path_dir"* ]]; then
new_path=$new_path:$current_path_dir
fi
done
PATH=$new_path
}
calc_path
umask 022
if (which nvim > /dev/null); then
export VISUAL=$(which nvim)
export EDITOR=$(which nvim)
elif (which vim > /dev/null); then
export VISUAL=$(which vim)
export EDITOR=$(which vim)
elif (which vi > /dev/null); then
export VISUAL=$(which vi)
export EDITOR=$(which vi)
fi
export HISTSIZE=100000
export HISTFILESIZE=100000
# don't put duplicate lines or lines starting with space in the history.
HISTCONTROL=ignoreboth
. $HOME/.myaliases
# FZF setup
if [[ ! -d $HOME/.fzf ]]; then
echo "Downloading and setting up fzf"
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf --quiet
~/.fzf/install
fi
export FZF_DEFAULT_COMMAND='2>/dev/null ag --hidden -g "" '\
'--ignore .git '\
'--ignore Library '\
'--ignore Applications '\
'--ignore .eclipse'
export FZF_CTRL_T_COMMAND=$FZF_DEFAULT_COMMAND
# I got this program usage from https://www.funtoo.org/Keychain
sshkeychain () {
if hash keychain 2>/dev/null ; then
eval `keychain --eval --agents ssh id_rsa`
else
echo >&2 .myrc: warning: program '`'keychain"'" not found";" not using it
fi
}
# This function will be run for interactive login shells in .bashrc and .zshrc
# TODO: figure out terminal color settings
# (this is copied from a .bashrc:)
# set a fancy prompt (non-color, unless we know we "want" color)
#case "$TERM" in
# xterm-color|*-256color) color_prompt=yes;;
#esac
# uncomment for a colored prompt, if the terminal has the capability
#force_color_prompt=yes
#if [ -n "$force_color_prompt" ]; then
# if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# # We have color support; assume it's compliant with Ecma-48
# # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# # a case would tend to support setf rather than setaf.)
# color_prompt=yes
# else
# color_prompt=
# fi
#fi
#
#if [ "$color_prompt" = yes ]; then
# PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
#else
# PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
#fi
#unset color_prompt force_color_prompt
# TODO: decide on some stuff copied from a random .bashrc:
# If this is an xterm set the title to user@host:dir
#case "$TERM" in
#xterm*|rxvt*)
# PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
# ;;
#*)
# ;;
#esac
# enable color support of ls and also add handy aliases
#if [ -x /usr/bin/dircolors ]; then
# test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
# alias ls='ls --color=auto'
# #alias dir='dir --color=auto'
# #alias vdir='vdir --color=auto'
#
# #alias grep='grep --color=auto'
# #alias fgrep='fgrep --color=auto'
# #alias egrep='egrep --color=auto'
#fi
# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
#if ! shopt -oq posix; then
# if [ -f /usr/share/bash-completion/bash_completion ]; then
# . /usr/share/bash-completion/bash_completion
# elif [ -f /etc/bash_completion ]; then
# . /etc/bash_completion
# fi
#fi