-
Notifications
You must be signed in to change notification settings - Fork 1
/
dot-profile
153 lines (125 loc) · 5.45 KB
/
dot-profile
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
#!/bin/sh
###############################################################################
###############################################################################
###############################################################################
############## CONFIGURATION THAT WORKS ON BOTH `BASH` AND `ZSH` ##############
###############################################################################
###############################################################################
###############################################################################
###############################################################################
# Startup Functions
###############################################################################
# [ -z "$TMUX" ] && tmux attach # All terminals with 1 tmux
# [ -z "$TMUX" ] && tmux new # All terminals with different tmux
nvimterm() {
if ! pgrep -f "^nvim.*-c terminal" >/dev/null; then
nvim -c "terminal"
fi
}
# uncomment this if you want every bash terminal to open in neovim
# some cons:
# - if you open nvim in it you'll have 2 nvim instances opened
# - no pixel image support
# nvimterm
###############################################################################
# Starting Echoes
###############################################################################
echo \
"
⠀⠀⠀⠀⠀⢿⣿⣿⣿⡆⠀⠁⠀⠀⣾⣿⣿⣿⣿⣿⣿⣟⢝⢟⣿⣿⣿⣿⡇⠀
⠀⠀⠀⠀⠀⢸⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣾⣿⣿⣿⢿⣿⡉⠀
⠀⠀⠀⢀⠔⣡⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⣶⣿⣷⣄
⠀⠀⢰⣿⣿⡟⣿⣿⣿⡟⠋⠉⢩⠀⠀⠀⠉⠉⠙⢻⠿⣿⣿⣯⣿⣿⣯⣿⡝⣿
⠀⠀⠀⠉⢻⢱⣿⡟⠀⡇⠐⡀⠘⣇⠀⠀⣀⣀⠀⠘⡆⠀⢹⣿⣟⣻⣿⣿⠿⠉
⠀⠀⠀⠀⣈⢻⡇⡇⣼⠻⡒⢣⡀⠸⡙⢍⠈⢮⣍⣁⡇⠀⡎⣗⡿⠀⣿⣿⡀⠀
⢄⣀⣀⣀⣿⡘⡿⣿⣇⣠⣽⣴⣟⠦⣱⣀⣿⣾⣶⣽⡇⢢⣿⡿⠇⠀⣿⣿⣿⣶
⠀⠉⠛⠿⡿⢇⣷⣿⣟⢼⣏⡏⠛⠷⣂⠉⠘⠧⠝⢊⣇⣼⠟⠁⠀⢠⣿⣿⣿⡙
⠀⠀⠀⠀⢘⣼⣼⡿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠄⣚⣿⣿⣯⣭⣲⣼⣿⣿⣿⣷
⠀⠀⠀⠴⠯⠟⣩⣷⣿⣷⣄⠀⠀⠠⠄⠂⠀⠐⡫⠋⣿⣿⣿⣿⣿⣿⣿⡿⣏⠙
⠀⠀⠀⠀⣠⡞⢡⣿⣿⣿⡿⣿⣦⣄⣀⣠⣴⣵⣶⣾⡿⠻⠋⣿⣿⣿⣿⣧⠀⠈
⠀⠀⢀⢞⡟⢰⣬⣼⣿⣿⣷⣿⣿⣿⣾⣿⣿⣿⠿⠋⠀⠀⡼⢿⣾⣿⣿⣿⡀⠀
⠀⠀⠂⣾⠁⢨⣿⠟⢛⣿⣿⣿⣿⣿⣿⡿⠛⠁⠀⠀⢀⣾⣷⣎⠙⠻⣿⡟⢆⠀
⠀⠀⠘⡀⠀⣼⣇⣠⠾⠿⠛⠋⠉⠀⠀⠀⠀⠀⠀⣠⣿⠿⠛⠉⣧⠀⠈⠃⠀⡆
⠀⠀⠀⠊⠦⠿⠓⢦⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠞⠉⠀⠀⠀⠀⠈⠆⠀⠀⠀⠄"
echo \
"
胡桃ちゃんは一番でーす! "
###############################################################################
# Aliases
###############################################################################
alias rm='trash'
alias ls='ls --color=auto'
alias grep='grep --color=auto'
alias fm='thunar & disown'
alias ..='cd ../'
alias ...='cd ../../'
# alias vi='nvim' # pretty goofy yea.
# alias vim='nvim'
alias haskell='cd ~/Documents/Code/Haskell/'
alias c='cd ~/Documents/Code/C/'
alias javascript='cd ~/Documents/Code/JavaScript/'
alias cpp='cd ~/Documents/Code/CPP/'
alias websites='cd ~/Documents/Code/Websites/'
alias python='cd ~/Documents/Code/Python/'
alias py='python3'
alias rust='cd ~/Documents/Code/rust/'
alias golang='cd ~/Documents/Code/go/'
alias c#='cd ~/Documents/Code/C#/'
alias coding='cd ~/Documents/Code/'
alias hyprland-config='cd ~/.config/hypr/'
alias hyprv4-config='cd ~/.config/HyprV/'
alias webapps='cd /usr/share/webapps/'
# KITTY ONLY ALIAS:
alias img='kitten icat'
alias imgl='kitten icat --align left'
alias iliq='kitten icat --align left /home/hutao/Pictures/daskalo/iliq.jpg'
alias iliq2='kitten icat --align left /home/hutao/Pictures/daskalo/iliq2.jpg'
# https://github.com/dylanjcastillo/shell-genie
alias ai='shell-genie ask'
###############################################################################
# Custom Flags
###############################################################################
# Rust app build optimization
RUSTFLAGS="-C opt-level=3 -C target-cpu=native -C linker=rust-lld"
###############################################################################
# Exports
###############################################################################
# The $ZSH variable is needed for the full_setup.sh
# script which runs in bash by default for
# compatibility sake.
export ZSH="$HOME/.oh-my-zsh"
export EDITOR=nvim
export LC_ALL=en_US.UTF-8
source /etc/locale.conf
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
export PROGRAMS="$HOME/.config/programs/"
# More likely than not. PATH is already an export.
if [ -z "${PATH-}" ]; then
export PATH=/usr/local/bin:/usr/bin:/bin
fi
PATH="$PROGRAMS/bin/:$PATH"
PATH="$PROGRAMS/py_scripts/:$PATH"
PATH="$PROGRAMS/shell_scripts/:$PATH"
PATH="$PATH:/home/hutao/.cargo/bin"
PATH="$HOME/.cabal/bin:$HOME/.ghcup/bin:$PATH"
###############################################################################
# Extra Utility Functions
###############################################################################
# Run cargo tests when doing cargo run
cargo() {
if [[ $1 == "run" ]]; then
command cargo test --all-features && command cargo run "${@:2}"
else
command cargo "$@"
fi
}
# Do a fuzzy find and pipe the output into neovim
fz() {
nvim $(fzf --preview 'cat {}')
}
# Alias for fz
cdf() {
fz
}