This repository has been archived on 2024-03-28. You can view files and clone it, but cannot push or open issues or pull requests.
dotfiles/shell/bashrc

68 lines
1.9 KiB
Bash
Raw Normal View History

2017-02-07 16:16:45 -06:00
#!/usr/bin/env bash
# bashrc is executed when a bash process starts
2017-02-20 18:31:28 -06:00
# these are all paths used across all the dotfiles and should be assumed to be
# loaded and properly set by every script - this means you are responsible for
# making sure they're loaded!
2017-02-07 16:16:45 -06:00
export XDG_CONFIG_HOME="$HOME/.config"
export DOTFILES_PATH="$XDG_CONFIG_HOME/dotfiles"
export NICE_HOME="$HOME/.."
2017-04-17 01:37:19 -05:00
# TODO: nice home on a per-device basis
# stop parsing on a non-interactive shell
[ -z "$PS1" ] && return
2017-02-07 16:16:45 -06:00
# load our terminal colors
# TODO: update with new system
2017-04-14 07:43:57 -05:00
BASE16_SHELL="$DOTFILES_PATH/scripts/colors/shell"
2017-02-07 16:16:45 -06:00
[[ -s "$BASE16_SHELL" ]] && source "$BASE16_SHELL"
# disable ctrl-s terminal freeze
[[ $- == *i* ]] && stty -ixon
2017-04-23 13:05:49 -05:00
# allow ** recursive wildcard globbing
shopt -s globstar
2017-04-14 11:52:18 -05:00
# set our PATH
2017-02-20 18:31:28 -06:00
source "$DOTFILES_PATH/shell/paths"
2017-02-07 16:16:45 -06:00
# import our aliases
source "$DOTFILES_PATH/shell/aliases"
# import our global shell functions
source "$DOTFILES_PATH/shell/shell_funcs"
# import our prompt
source "$DOTFILES_PATH/shell/prompt"
# import our autocompletions
source "$DOTFILES_PATH/shell/autocompletions"
# load our key binds
bind -f "$DOTFILES_PATH/shell/inputrc"
# prevents binds or commands pulling from history from insta-sending, and
# instead places them in the readline for editing
shopt -s histverify
# prevents some Java GUI apps from not working or rendering properly due to
# using bspwm
export _JAVA_AWT_WM_NONREPARENTING=1
# load a per-device config last so anything can be overridden
if [ -a "$HOME/.env_bashrc" ]; then
source "$HOME/.env_bashrc"
fi
# we assume the user uses "$HOME" to just store their mess of dotfiles and other
# nonsense that clutters it up and that they have a preferred starting
# directory where they keep the stuff they actually care about
# we only do this if the user is opening a shell at $HOME
if [ "$PWD" = "$HOME" ]; then
cd "$NICE_HOME"
fi
2017-02-20 18:31:28 -06:00
[ -f ~/.fzf.bash ] && source ~/.fzf.bash