mirror of
https://gitea.com/mcereda/oam.git
synced 2026-02-09 05:44:23 +00:00
95 lines
2.4 KiB
Bash
95 lines
2.4 KiB
Bash
################################################################################
|
|
## ~/.zshenv
|
|
##
|
|
## This file is sourced by *all* zsh shells on startup.
|
|
################################################################################
|
|
|
|
########################################
|
|
# Ensure primary XDG variables are set.
|
|
########################################
|
|
|
|
: "${XDG_CONFIG_HOME:=${HOME}/.config}"
|
|
: "${XDG_CACHE_HOME:=${HOME}/.cache}"
|
|
: "${XDG_DATA_HOME:=${HOME}/.local/share}"
|
|
: "${XDG_STATE_HOME:=${HOME}/.local/state}"
|
|
: "${XDG_DATA_DIRS:=/usr/local/share:/usr/share}"
|
|
: "${XDG_CONFIG_DIRS:=/etc/xdg}"
|
|
|
|
########################################
|
|
# Basic utility aliases and functions.
|
|
#
|
|
# Used to simplify checks later.
|
|
# Needed in all shells.
|
|
# Ordered alphabetically and by dependencies.
|
|
########################################
|
|
|
|
alias disable-xtrace='unsetopt xtrace'
|
|
alias enable-xtrace='setopt xtrace'
|
|
alias is-shell-interactive='[[ -o interactive ]]'
|
|
alias is-shell-login='[[ -o login ]]'
|
|
|
|
# Print the whole current environment.
|
|
alias printallenv='setopt posixbuiltins && set'
|
|
|
|
to-lower () {
|
|
echo "${1:l}"
|
|
}
|
|
|
|
to-upper () {
|
|
echo "${1:u}"
|
|
}
|
|
|
|
is-true () {
|
|
# Needs to return 0 or 1 and not `true` or `false`.
|
|
# Input's case is lowered to save on match options.
|
|
|
|
local LOWERED_INPUT="$(to-lower "$1")"
|
|
[[ "$LOWERED_INPUT" =~ '^1|on|true|yes$' ]]
|
|
}
|
|
|
|
# Make PATHs' entries unique for better performances.
|
|
typeset -aU {f,info,man,}path
|
|
|
|
########################################
|
|
# Shell configuration.
|
|
#
|
|
# https://zsh.sourceforge.io/Doc/Release/Options.html
|
|
########################################
|
|
|
|
# Require 'cd' to change directory.
|
|
unsetopt auto_cd
|
|
|
|
########################################
|
|
# Utility aliases and functions.
|
|
#
|
|
# Ordered and grouped by dependencies.
|
|
########################################
|
|
|
|
alias decomment='grep -Ev "^#|^$"'
|
|
|
|
alias please='sudo'
|
|
|
|
########################################
|
|
# Applications' settings and shortcuts.
|
|
########################################
|
|
|
|
####################
|
|
# Python.
|
|
####################
|
|
|
|
# See also:
|
|
# - https://docs.python.org/3/using/cmdline.html#environment-variables
|
|
|
|
PYTHONCACHE=1
|
|
|
|
####################
|
|
# GnuPG.
|
|
####################
|
|
|
|
# Integrate with the SSH agent.
|
|
export SSH_AUTH_SOCK="$(/opt/homebrew/bin/gpgconf --list-dirs 'agent-ssh-socket')"
|
|
/opt/homebrew/bin/gpgconf --launch 'gpg-agent'
|
|
|
|
# Integrate with Pinentry.
|
|
export GPG_TTY="$(tty)"
|