-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathbashrc.bash
More file actions
94 lines (73 loc) · 3.02 KB
/
bashrc.bash
File metadata and controls
94 lines (73 loc) · 3.02 KB
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
### Contains the environment configuration that every shell or other environment
### will want. See bash_profile.bash for the bash-specific commands
# Deduplicate PATH entries
dedupe_path() {
local path_array=()
local IFS=':'
local seen=""
for dir in $PATH; do
if [[ ":$seen:" != *":$dir:"* ]]; then
path_array+=("$dir")
seen="$seen:$dir"
fi
done
PATH=$(IFS=':'; echo "${path_array[*]}")
export PATH
}
# Log my commands for use later
export PROMPT_COMMAND='if [ "$(id -u)" -ne 0 ]; then echo "$(date "+%Y-%m-%d.%H:%M:%S") $(pwd) $(history 1)" >> ~/.logs/bash-history-$(date "+%Y-%m-%d").log; fi'
# And allow searching
alias loggrep="$HOME/Documents/dotfiles/loggrep.bash"
# basic aliases
alias flushdnscache='sudo killall -HUP mDNSResponder && echo "DNS caches flushed"'
# Homebrew
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
export HOMEBREW_NO_AUTO_UPDATE="1"
export HOMEBREW_PREFIX="/opt/homebrew";
export HOMEBREW_CELLAR="/opt/homebrew/Cellar";
export HOMEBREW_REPOSITORY="/opt/homebrew";
export HOMEBREW_SHELLENV_PREFIX="/opt/homebrew";
export PATH="/opt/homebrew/bin:/opt/homebrew/sbin${PATH+:$PATH}";
export MANPATH="/opt/homebrew/share/man${MANPATH+:$MANPATH}:";
export INFOPATH="/opt/homebrew/share/info:${INFOPATH:-}";
# Go Language
export GOPATH=$HOME/.go
export PATH=$PATH:$GOPATH/bin
# Python
alias py313='. ~/venvs/py313/bin/activate'
# PSQL
export PATH="/opt/homebrew/opt/postgresql@14/bin:$PATH"
# Homebrew Coreutils
alias timeout=gtimeout
# Perl
PATH="/Users/jpaddison/perl5/bin${PATH:+:${PATH}}"; export PATH;
PERL5LIB="/Users/jpaddison/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"; export PERL5LIB;
PERL_LOCAL_LIB_ROOT="/Users/jpaddison/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"; export PERL_LOCAL_LIB_ROOT;
PERL_MB_OPT="--install_base \"/Users/jpaddison/perl5\""; export PERL_MB_OPT;
PERL_MM_OPT="INSTALL_BASE=/Users/jpaddison/perl5"; export PERL_MM_OPT;
## git
alias gitstashstaged="$HOME/Documents/dotfiles/git_stash_staged.bash"
# Rust
export PATH="$HOME/.cargo/bin:$PATH"
# Set editor
export EDITOR='nvim'
export VISUAL='nvim'
# Claude Code: settings.json caps `effortLevel` at `xhigh` (silently downgrades `max`).
# This env var is the only known way to make `max` the persistent default.
export CLAUDE_CODE_EFFORT_LEVEL=max
# Tmux
alias mux="tmuxinator"
alias mux-dev='tmuxinator start multi'
alias mux-personal='tmuxinator start mux-personal'
# Minerva Claude instances
alias mux-dev-claude1='TMUX_SESSION=claude1 MINERVA_DIR=minerva-claude1 MINERVA_PORT=3001 tmuxinator start multi'
alias mux-dev-claude2='TMUX_SESSION=claude2 MINERVA_DIR=minerva-claude2 MINERVA_PORT=3002 tmuxinator start multi'
alias mux-dev-claude3='TMUX_SESSION=claude3 MINERVA_DIR=minerva-claude3 MINERVA_PORT=3003 tmuxinator start multi'
# JS
export PATH="$HOME/.yarn/bin:$PATH"
# Docker
export PATH="$PATH:/Applications/Docker.app/Contents/Resources/bin"
# Local overrides (not checked into git)
[ -f ~/.bashrc.local ] && source ~/.bashrc.local
# Clean up PATH duplicates
dedupe_path