Add Bash configuration with Oh My Bash
This commit is contained in:
171
bash/.bashrc
Normal file
171
bash/.bashrc
Normal file
@@ -0,0 +1,171 @@
|
|||||||
|
# Enable the subsequent settings only in interactive sessions
|
||||||
|
case $- in
|
||||||
|
*i*) ;;
|
||||||
|
*) return;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Path to your oh-my-bash installation.
|
||||||
|
export OSH='/home/fscotto/.oh-my-bash'
|
||||||
|
|
||||||
|
# Set name of the theme to load. Optionally, if you set this to "random"
|
||||||
|
# it'll load a random theme each time that oh-my-bash is loaded.
|
||||||
|
OSH_THEME="robbyrussell"
|
||||||
|
|
||||||
|
# If you set OSH_THEME to "random", you can ignore themes you don't like.
|
||||||
|
# OMB_THEME_RANDOM_IGNORED=("powerbash10k" "wanelo")
|
||||||
|
# You can also specify the list from which a theme is randomly selected:
|
||||||
|
# OMB_THEME_RANDOM_CANDIDATES=("font" "powerline-light" "minimal")
|
||||||
|
|
||||||
|
# Uncomment the following line to use case-sensitive completion.
|
||||||
|
# OMB_CASE_SENSITIVE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to use hyphen-insensitive completion. Case
|
||||||
|
# sensitive completion must be off. _ and - will be interchangeable.
|
||||||
|
# OMB_HYPHEN_SENSITIVE="false"
|
||||||
|
|
||||||
|
# Uncomment the following line to disable bi-weekly auto-update checks.
|
||||||
|
# DISABLE_AUTO_UPDATE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to change how often to auto-update (in days).
|
||||||
|
# export UPDATE_OSH_DAYS=13
|
||||||
|
|
||||||
|
# Uncomment the following line to disable colors in ls.
|
||||||
|
# DISABLE_LS_COLORS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to disable auto-setting terminal title.
|
||||||
|
# DISABLE_AUTO_TITLE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to enable command auto-correction.
|
||||||
|
# ENABLE_CORRECTION="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to display red dots whilst waiting for completion.
|
||||||
|
# COMPLETION_WAITING_DOTS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to disable marking untracked files
|
||||||
|
# under VCS as dirty. This makes repository status check for large repositories
|
||||||
|
# much, much faster.
|
||||||
|
# DISABLE_UNTRACKED_FILES_DIRTY="true"
|
||||||
|
|
||||||
|
# Uncomment the following line if you don't want the repository to be considered dirty
|
||||||
|
# if there are untracked files.
|
||||||
|
# SCM_GIT_DISABLE_UNTRACKED_DIRTY="true"
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to completely ignore the presence
|
||||||
|
# of untracked files in the repository.
|
||||||
|
# SCM_GIT_IGNORE_UNTRACKED="true"
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to change the command execution time
|
||||||
|
# stamp shown in the history command output. One of the following values can
|
||||||
|
# be used to specify the timestamp format.
|
||||||
|
# * 'mm/dd/yyyy' # mm/dd/yyyy + time
|
||||||
|
# * 'dd.mm.yyyy' # dd.mm.yyyy + time
|
||||||
|
# * 'yyyy-mm-dd' # yyyy-mm-dd + time
|
||||||
|
# * '[mm/dd/yyyy]' # [mm/dd/yyyy] + [time] with colors
|
||||||
|
# * '[dd.mm.yyyy]' # [dd.mm.yyyy] + [time] with colors
|
||||||
|
# * '[yyyy-mm-dd]' # [yyyy-mm-dd] + [time] with colors
|
||||||
|
# If not set, the default value is 'yyyy-mm-dd'.
|
||||||
|
# HIST_STAMPS='yyyy-mm-dd'
|
||||||
|
|
||||||
|
# Uncomment the following line if you do not want OMB to overwrite the existing
|
||||||
|
# aliases by the default OMB aliases defined in lib/*.sh
|
||||||
|
# OMB_DEFAULT_ALIASES="check"
|
||||||
|
|
||||||
|
# Would you like to use another custom folder than $OSH/custom?
|
||||||
|
# OSH_CUSTOM=/path/to/new-custom-folder
|
||||||
|
|
||||||
|
# To disable the uses of "sudo" by oh-my-bash, please set "false" to
|
||||||
|
# this variable. The default behavior for the empty value is "true".
|
||||||
|
OMB_USE_SUDO=true
|
||||||
|
|
||||||
|
# To enable/disable display of Python virtualenv and condaenv
|
||||||
|
# OMB_PROMPT_SHOW_PYTHON_VENV=true # enable
|
||||||
|
# OMB_PROMPT_SHOW_PYTHON_VENV=false # disable
|
||||||
|
|
||||||
|
# To enable/disable Spack environment information
|
||||||
|
# OMB_PROMPT_SHOW_SPACK_ENV=true # enable
|
||||||
|
# OMB_PROMPT_SHOW_SPACK_ENV=false # disable
|
||||||
|
|
||||||
|
# Which completions would you like to load? (completions can be found in ~/.oh-my-bash/completions/*)
|
||||||
|
# Custom completions may be added to ~/.oh-my-bash/custom/completions/
|
||||||
|
# Example format: completions=(ssh git bundler gem pip pip3)
|
||||||
|
# Add wisely, as too many completions slow down shell startup.
|
||||||
|
completions=(
|
||||||
|
asdf
|
||||||
|
docker
|
||||||
|
docker-compose
|
||||||
|
gh
|
||||||
|
git
|
||||||
|
go
|
||||||
|
makefile
|
||||||
|
npm
|
||||||
|
pip3
|
||||||
|
system
|
||||||
|
tmux
|
||||||
|
composer
|
||||||
|
ssh
|
||||||
|
)
|
||||||
|
|
||||||
|
# Which aliases would you like to load? (aliases can be found in ~/.oh-my-bash/aliases/*)
|
||||||
|
# Custom aliases may be added to ~/.oh-my-bash/custom/aliases/
|
||||||
|
# Example format: aliases=(vagrant composer git-avh)
|
||||||
|
# Add wisely, as too many aliases slow down shell startup.
|
||||||
|
aliases=(
|
||||||
|
general
|
||||||
|
)
|
||||||
|
|
||||||
|
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-bash/plugins/*)
|
||||||
|
# Custom plugins may be added to ~/.oh-my-bash/custom/plugins/
|
||||||
|
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||||||
|
# Add wisely, as too many plugins slow down shell startup.
|
||||||
|
plugins=(
|
||||||
|
bashmarks
|
||||||
|
bash-preexec
|
||||||
|
cargo
|
||||||
|
colored-man-pages
|
||||||
|
git
|
||||||
|
zoxide
|
||||||
|
)
|
||||||
|
|
||||||
|
# Which plugins would you like to conditionally load? (plugins can be found in ~/.oh-my-bash/plugins/*)
|
||||||
|
# Custom plugins may be added to ~/.oh-my-bash/custom/plugins/
|
||||||
|
# Example format:
|
||||||
|
# if [ "$DISPLAY" ] || [ "$SSH" ]; then
|
||||||
|
# plugins+=(tmux-autoattach)
|
||||||
|
# fi
|
||||||
|
|
||||||
|
# If you want to reduce the initialization cost of the "tput" command to
|
||||||
|
# initialize color escape sequences, you can uncomment the following setting.
|
||||||
|
# This disables the use of the "tput" command, and the escape sequences are
|
||||||
|
# initialized to be the ANSI version:
|
||||||
|
#
|
||||||
|
#OMB_TERM_USE_TPUT=no
|
||||||
|
|
||||||
|
source "$OSH"/oh-my-bash.sh
|
||||||
|
|
||||||
|
# User configuration
|
||||||
|
# export MANPATH="/usr/local/man:$MANPATH"
|
||||||
|
|
||||||
|
# You may need to manually set your language environment
|
||||||
|
# export LANG=en_US.UTF-8
|
||||||
|
|
||||||
|
# Preferred editor for local and remote sessions
|
||||||
|
# if [[ -n $SSH_CONNECTION ]]; then
|
||||||
|
# export EDITOR='vim'
|
||||||
|
# else
|
||||||
|
# export EDITOR='mvim'
|
||||||
|
# fi
|
||||||
|
|
||||||
|
# Compilation flags
|
||||||
|
# export ARCHFLAGS="-arch x86_64"
|
||||||
|
|
||||||
|
# ssh
|
||||||
|
# export SSH_KEY_PATH="~/.ssh/rsa_id"
|
||||||
|
|
||||||
|
# Set personal aliases, overriding those provided by oh-my-bash libs,
|
||||||
|
# plugins, and themes. Aliases can be placed here, though oh-my-bash
|
||||||
|
# users are encouraged to define aliases within the OSH_CUSTOM folder.
|
||||||
|
# For a full list of active aliases, run `alias`.
|
||||||
|
#
|
||||||
|
# Example aliases
|
||||||
|
# alias bashconfig="mate ~/.bashrc"
|
||||||
|
# alias ohmybash="mate ~/.oh-my-bash"
|
||||||
53
bash/.profile
Normal file
53
bash/.profile
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
function appendpath() {
|
||||||
|
local location="${1}"
|
||||||
|
case ":$PATH:" in
|
||||||
|
*":$location:"*) ;;
|
||||||
|
*) export PATH="$PATH:$location" ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
appendpath "$HOME/.local/bin"
|
||||||
|
appendpath "$HOME/.config/emacs/bin"
|
||||||
|
unset appendpath
|
||||||
|
|
||||||
|
# XDG variables
|
||||||
|
export XDG_CONFIG_HOME=${HOME}/.config
|
||||||
|
export XDG_DATA_HOME=${HOME}/.local/share
|
||||||
|
export XDG_CACHE_HOME=${HOME}/.local/cache
|
||||||
|
export XDG_STATE_HOME=${HOME}/.local/state
|
||||||
|
|
||||||
|
# Enable GTK themes
|
||||||
|
export GTK2_RC_FILES=${XDG_CONFIG_HOME}/gtk-2.0/gtkrc-2.0
|
||||||
|
|
||||||
|
# Enable QT apps to have gtk theme
|
||||||
|
export QT_QPA_PLATFORMTHEME=qt5ct
|
||||||
|
|
||||||
|
# Make Qt apps honour DPI settings.
|
||||||
|
export QT_AUTO_SCREEN_SCALE_FACTOR=1
|
||||||
|
|
||||||
|
export ZSH_HOME="$HOME/.zsh"
|
||||||
|
export DOTFILES="$HOME/.dotfiles"
|
||||||
|
export EDITOR=nvim
|
||||||
|
export HELPDIR=/usr/share/zsh/"${ZSH_VERSION}"/help
|
||||||
|
|
||||||
|
# SSH socket
|
||||||
|
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/gcr/ssh"
|
||||||
|
|
||||||
|
export FZF_DEFAULT_COMMAND="fd --hidden --type file --strip-cwd-prefix --exclude .git"
|
||||||
|
export FZF_CTRL_T_COMMAND="fd --hidden --type file --strip-cwd-prefix --exclude .git"
|
||||||
|
export FZF_ALT_C_COMMAND="fd --hidden --type directory --strip-cwd-prefix --exclude .git"
|
||||||
|
# Export Catppuccin Mocha theme for FZF
|
||||||
|
export FZF_DEFAULT_OPTS=" \
|
||||||
|
--height 60% --layout=reverse --border \
|
||||||
|
--color=bg+:#313244,bg:#1E1E2E,spinner:#F5E0DC,hl:#F38BA8 \
|
||||||
|
--color=fg:#CDD6F4,header:#F38BA8,info:#CBA6F7,pointer:#F5E0DC \
|
||||||
|
--color=marker:#B4BEFE,fg+:#CDD6F4,prompt:#CBA6F7,hl+:#F38BA8 \
|
||||||
|
--color=selected-bg:#45475A \
|
||||||
|
--color=border:#313244,label:#CDD6F4"
|
||||||
|
export FZF_TMUX_OPTS=" -p90%,70%"
|
||||||
|
export VIRTUAL_ENV_DISABLE_PROMPT=1
|
||||||
|
|
||||||
|
source "$HOME/.profile.d/mise.sh"
|
||||||
|
source "$HOME/.profile.d/golang.sh"
|
||||||
|
source "$HOME/.profile.d/java.sh"
|
||||||
|
|
||||||
5
bash/.profile.d/cargo.sh
Executable file
5
bash/.profile.d/cargo.sh
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
if [ -e "$HOME/.cargo" ]; then
|
||||||
|
source "$HOME/.cargo/env"
|
||||||
|
fi
|
||||||
6
bash/.profile.d/golang.sh
Executable file
6
bash/.profile.d/golang.sh
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
if command -v go > /dev/null 2>&1; then
|
||||||
|
export GOPATH="$HOME/.local/share/Go"
|
||||||
|
export GOBIN="$GOPATH/bin"
|
||||||
|
fi
|
||||||
5
bash/.profile.d/java.sh
Executable file
5
bash/.profile.d/java.sh
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
if command -v java > /dev/null 2>&1; then
|
||||||
|
export JAVA_HOME="$(dirname $(mise bin-paths | grep -i java))"
|
||||||
|
fi
|
||||||
5
bash/.profile.d/mise.sh
Executable file
5
bash/.profile.d/mise.sh
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
if command -v mise > /dev/null 2>&1; then
|
||||||
|
eval "$(mise activate zsh)"
|
||||||
|
fi
|
||||||
5
bash/.profile.d/tmux.sh
Executable file
5
bash/.profile.d/tmux.sh
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/usr/bin/env zsh
|
||||||
|
|
||||||
|
if command -v tmux &> /dev/null && [ -z "$TMUX" ]; then
|
||||||
|
tmux attach-session -t default || tmux new-session -s default
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user