guix-config/.bashrc
2024-11-29 18:24:32 +00:00

45 lines
1.1 KiB
Bash

# Bash initialization for interactive non-login shells and
# for remote shells (info "(bash) Bash Startup Files").
# Export 'SHELL' to child processes. Programs such as 'screen'
# honor it and otherwise use /bin/sh.
export SHELL
if [[ $- != *i* ]]
then
# We are being invoked from a non-interactive shell. If this
# is an SSH session (as in "ssh host command"), source
# /etc/profile so we get PATH and other essential variables.
[[ -n "$SSH_CLIENT" ]] && source /etc/profile
# Don't do anything else.
return
fi
# Source the system-wide file.
source /etc/bashrc
# Adjust the prompt depending on whether we're in 'guix environment'.
if [ -n "$GUIX_ENVIRONMENT" ]
then
PS1='\u@\h \w [env]\$ '
else
PS1='\u@\h \w\$ '
fi
alias ls='ls -p --color=auto'
alias ll='ls -l'
alias grep='grep --color=auto'
# Configure TTY for pinentry
GPG_TTY=$(tty)
export GPG_TTY
# Editor setup
export ALTERNATE_EDITOR=""
export EDITOR="emacsclient --tty"
export VISUAL="emacsclient"
# Ensure user shepherd is running
if [[ ! -S ${XDG_RUNTIME_DIR-$HOME/.local/run}/shepherd/socket ]]; then
shepherd
fi