-
Notifications
You must be signed in to change notification settings - Fork 0
/
.bashrc
130 lines (114 loc) · 5.36 KB
/
.bashrc
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
#!/usr/bin/env bash
###############################################################################
# Source global definitions #
###############################################################################
if [ -f /etc/bashrc ]; then
source /etc/bashrc
fi
###############################################################################
# FZF #
###############################################################################
if [ -f /usr/share/fzf/shell/key-bindings.bash ];then
source /usr/share/fzf/shell/key-bindings.bash
fi
if [ -f /etc/bash_completion.d/fzf ];then
source /etc/bash_completion.d/fzf
fi
# Match all files including hidden
export FZF_DEFAULT_COMMAND='rg --files \
--no-ignore \
--hidden --follow \
--glob "!.git/*"'
export FZF_DEFAULT_OPTS="--border-label-pos=1 \
--border=bold \
--height 50% \
-1 \
--multi \
--bind ctrl-j:down,ctrl-k:up \
--preview='[[ \$(file --mime {}) =~ binary ]] \
&& echo {} is a binary file \
|| (bat --style=numbers --color=always {} \
|| cat {}) 2> /dev/null | head -300'"
export FZF_CTRL_R_OPTS="--preview \
'echo {}' --preview-window down:3:hidden:wrap \
--bind '?:toggle-preview' \
--no-sort \
--layout=reverse \
--border-label='History '"
export FZF_CTRL_T_OPTS="--select-1 --exit-0 --border-label='Files '"
export FZF_ALT_C_OPTS="--preview 'tree -C {} | head -200' \
--border-label='Directories '"
if [ -f .fzfFunctions.sh ]; then
source .fzfFunctions.sh
fi
###############################################################################
# VI mode #
###############################################################################
set -o vi
###############################################################################
# Disable flow control #
###############################################################################
stty -ixon
###############################################################################
# Aliases #
###############################################################################
if [ -f .aliases.sh ]; then
source .aliases.sh
fi
###############################################################################
# Generic functions #
###############################################################################
if [ -f .genericFunctions.sh ]; then
source .genericFunctions.sh
fi
###############################################################################
# Colored man pages wih less #
###############################################################################
# if we are in a TTY and if we support more than 8 colors
if [[ -t 1 && "$(tput colors)" -gt 8 ]]; then
man() {
env \
LESS_TERMCAP_mb="$(printf "\e[1;31m")" \
LESS_TERMCAP_md="$(printf "\e[1;31m")" \
LESS_TERMCAP_me="$(printf "\e[0m")" \
LESS_TERMCAP_se="$(printf "\e[0m")" \
LESS_TERMCAP_so="$(printf "\e[1;44;33m")" \
LESS_TERMCAP_ue="$(printf "\e[0m")" \
LESS_TERMCAP_us="$(printf "\e[1;32m")" \
GROFF_NO_SGR=1 \
MANPAGER='less -s -M +Gg' \
man "$@"
}
fi
###############################################################################
# Custom Env Variables #
###############################################################################
# Likely not working. See:
# https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4829
export GTK_USE_PORTAL=1
export EMAIL="[email protected]"
export RPM_PACKAGER="Marc Deop i Argemí <[email protected]>"
# Needed by https://github.com/elFarto/nvidia-vaapi-driver
export LIBVA_DRIVER_NAME="nvidia"
export EGL_PLATFORM="wayland"
export MOZ_DISABLE_RDD_SANDBOX="1"
export MOZ_X11_EGL="1"
# https://github.com/elFarto/nvidia-vaapi-driver/issues/126
export NVD_BACKEND="direct"
###############################################################################
# Powerline #
###############################################################################
# if we entered from vim (via :sh) export a variable to show in POWERLINE
if [[ -n "$VIMRUNTIME" ]]; then
export POWERLINE_VIM_SHELL_INDICATOR=":sh"
fi
if systemctl is-active --user -q powerline.service ; then
export POWERLINE_BASH_CONTINUATION=1
export POWERLINE_BASH_SELECT=1
source /usr/share/powerline/bash/powerline.sh
fi
###############################################################################
# Kubernetes #
###############################################################################
# shellcheck disable=SC1090
source <(kubectl completion bash)