nixos/homeConfig/dotfiles/bash/bashrc
2023-05-01 04:57:06 -04:00

65 lines
1.6 KiB
Bash

##
## My Bash Configs
##
# Set EDITOR to nvim
export EDITOR=nvim
# Check if the current shell is an SSH session
is_ssh_session() {
if [ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ]; then
return 0
else
return 1
fi
}
#TODO: Change ps1 to project root in nix shells
# PS1 Config
function set_ps1_prompt() {
if [ -n "${IN_NIX_SHELL:+x}" ]; then
PS1="\[\033[01;34m\]\w\[\033[00m\]\n\[\033[01;32m\]nixShell > \[\033[00m\]"
else
if ! is_ssh_session; then
PS1="\n\[\033[01;34m\]\w\[\033[00m\]\n\[\033[01;32m\]> \[\033[00m\]"
else
PS1="\n\[\033[01;34m\]\w\[\033[00m\]\n\[\033[01;32m\]\u@\h:\[\033[00m\] "
fi
fi
}
PROMPT_COMMAND="set_ps1_prompt; $PROMPT_COMMAND"
# Locate and source the bash-completion scripts
bash_completion_dir="$HOME/.nix-profiles/share/bash-completion/completions"
if [ -d "$bash_completion_dir" ]; then
for file in "$bash_completion_dir"/*; do
source "$file" 2>/dev/null
done
fi
# Alias List
alias ls='lsd'
# penpot alias function
penpot() {
case "$1" in
run)
sudo docker compose -p penpot -f ~/Documents/tools/penpot/docker-compose.yaml up -d
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
xdg-open "http://localhost:9001"
elif [[ "$OSTYPE" == "darwin"* ]]; then
open "http://localhost:9001"
fi
echo "Started penpot on http://localhost:9001"
;;
stop)
sudo docker compose -p penpot -f ~/Documents/tools/penpot/docker-compose.yaml down
echo "Stopping penpot"
;;
*)
echo "Usage: penpot {run|stop}"
;;
esac
}