blob: d31ede774a883f46fddd6e2a2bd7b60b00a3ea18 (
plain) (
blame)
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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
|
# Moving aliases and other setup to non-shell-specific
# file ~/.profile
# === OSX ===
if [ "$(uname -s)" = "Darwin" ]; then
# Make bash more posix compliant
if [ $SHELL = "/bin/bash" ] || [ $SHELL = "/opt/homebrew/bin/bash" ] || [ $SHELL = "/opt/local/bin/bash" ] ; then
set -o posix
# OSX-specific bash warning
export BASH_SILENCE_DEPRECATION_WARNING=1
fi
# MacPorts setup
if [ -d '/opt/local' ]; then
export PATH="/opt/local/bin:/opt/local/sbin:$PATH"
export MANPATH=/opt/local/share/man:$MANPATH
fi
# Brew (OSX) specifics
if [ -f '/opt/homebrew/bin/brew' ]; then
export HOMEBREW_PREFIX="/opt/homebrew"
export HOMEBREW_CELLAR="/opt/homebrew/Cellar"
export HOMEBREW_REPOSITORY="/opt/homebrew"
export HOMEBREW_FORCE_BREWED_CURL=1
export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:/opt/homebrew/opt/curl/bin${PATH+:$PATH}"
export MANPATH="/opt/homebrew/share/man${MANPATH+:$MANPATH}:"
export INFOPATH="/opt/homebrew/share/info:${INFOPATH:-}"
if [ -f "/opt/homebrew/etc/bash_completion.d/git-completion.bash" ]; then
source /opt/homebrew/etc/bash_completion.d/git-completion.bash;
fi
fi
if [ $(command -v python3) ]; then
export PATH=$(python3 -m site --user-base)/bin:$PATH
fi
# Load config from filesystem
export AWS_SDK_LOAD_CONFIG=1
# Add Local bin
export PATH=$PATH:$HOME/.local/bin
# Unlock Keychain cli
alias unlock='security unlock-keychain ~/Library/Keychains/login.keychain'
fi
# === END OSX ===
# Go setup
if [ -d "$HOME/.golang" ]; then
### Just in case it's missing
mkdir -p ~/.golang/path
# Go in the homedir
export GOROOT_BOOTSTRAP=$HOME/.golang/bootstrap_go
export GOROOT=$HOME/.golang/go
export GOPATH=$HOME/.golang/path
# Disable broken caching by proxy.golang
export GOPROXY=direct
export GOSUMDB=off
export PATH=$HOME/.golang/go/bin:$PATH:$HOME/.cargo/bin:$HOME/.golang/path/bin:$HOME/.local/bin
fi
# == Editors ==
# Vim not detected? Use vi as a fallback
if [ ! "$(command -v vim)" ]; then
alias vim=vi
export EDITOR="vi"
fi
if [ "$(command -v code)" ] && [ "$(env | grep VSCODE)" ]; then
export EDITOR="code"
export VISUAL="code"
elif [ -d "$HOME/.config/doom" ] && [ "$(command -v emacs)" ]; then
export EDITOR="emacs"
export VISUAL="emacs"
export PATH=$PATH:$HOME/.config/emacs/bin
elif [ "$(command -v hx)" ]; then
export EDITOR="hx"
export VISUAL="hx"
else
export EDITOR="vim"
export VISUAL="vim"
fi
# Ensure less always uses the one-page, raw control characters, and no-init settings
export LESS=FRX
# Defaults
alias ls='/bin/ls -F'
## Zstd always uses all cores
if [ "$(command -v zstd)" ]; then
alias zstd='zstd -T0'
fi
# == Rust Tools ==#
# Add Rust paths if present
if [ -d "$HOME/.cargo/bin" ]; then
if [ -f "$HOME/.cargo/env" ]; then
source $HOME/.cargo/env
fi
export PATH=$HOME/.cargo/bin:$PATH
fi
if [ "$(command -v eza)" ]; then
alias ls='eza -G --color never -a -s type -F --time-style=long-iso'
alias ll='eza -l -b --color never -a -s type -F --time-style=long-iso'
elif [ "$(command -v exa)" ]; then
alias ls='exa -G --color never -a -s type -F --time-style=long-iso'
alias ll='exa -l -b --color never -a -s type -F --time-style=long-iso'
fi
if [ "$(command -v bat)" ]; then
alias cat='bat -pp'
export BAT_THEME="ansi"
fi
if [ "$(command -v ncdu)" ]; then
alias ncdu="ncdu --color=off"
fi
#upcode alias for quickly updating code where gitrect cannot
if [ "$(command -v fd)" ]; then
alias upcode="fd -H -t d -E mod -E vendor \".git$\" ~/.code -x fetchgit"
else
alias upcode="find ~/.code -name \".git\" |xargs -n1 fetchgit "
fi
# Must put these after OSX setup so brew is part of the $PATH
# Colima / Podman
if [ $(command -v colima) ]; then
alias docker='colima nerdctl --profile default -- '
alias nerdctl='colima nerdctl --profile default -- '
elif [ "$(command -v podman)" ]; then
alias docker=podman
# User-hosted podman socket
export DOCKER_HOST="unix:$XDG_RUNTIME_DIR/podman/podman.sock"
fi
# Presrving these for future use
#alias psc='ps xawf -eo pid,user,cgroup,args'
#alias gdb='gdb -tui'
alias gc_all="find ~/.code -name \".git\" | xargs -I {} -n 1 bash -c \"cd {}; echo {}; git gc --aggressive;\" "
#if [ "$TERM" = "tmux-256color" ]; then export TERM=xterm-256color; fi
# == END TOOLS ==
## == DOTFILES ==
# To load files
# git clone --bare git@git.sr.ht:~tydavis/dotfiles $HOME/.dotfiles
#shorten the git dotfiles management
alias dotfiles='git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
# Ignore files that aren't relevant
# dotfiles config --local status.showUntrackedFiles no
## == END DOTFILES ==
# Prompt
USER=$(id -un)
HOSTNAME=$(uname -n)
export PS1='$USER@$HOSTNAME:$PWD/\$ '
if [ ! $(echo $SHELL|grep -q "bash") ]; then
if [ -f "$HOME/.bashrc" ]; then . $HOME/.bashrc; fi
fi
|