aboutsummaryrefslogtreecommitdiffstats
path: root/env.zsh
blob: d3d228300cbd38347efbffb5abd35681790e8ea7 (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
#
# Defines environment variables to be available in shell scripts and the user's prompt.
# 
# This file is part of zuwu - a general-purpose zsh initialization and utility framework.
#
# Authors:
#   memdmp <https://mem.estrogen.zone/>
#

# Currently, we just ensure your environment is sensible - e.g. we ensure your LANG is well-defined, etc...

# Validate $LANG is set correctly
if [[ "$VALIDATE_LANG" != "false" ]]; then
  if [[ "$LANG" == "" ]] || [[ "$LANG" == "C" ]]; then
    # Modern systems will have UTF-8 everywhere outside of a TTY.
    # Login Shells are the only shell likely to be a TTY (although theoretically other shells could also be login shells, but like idc if 1% of thigns break).
    if [[ "$-" != *l* ]]; then
      export LANG="C.UTF-8"
    else
      export LANG="C"
    fi
  fi
  if [[ "$LC_ALL" == "" ]] || [[ "$LC_ALL" == "C" ]]; then
    export LC_ALL="$LANG"
  fi
fi

# Ensure ~/.local/bin is in the PATH
if [[ ":$PATH:" != *":$HOME/.local/bin:"* ]]; then
  export PATH="$PATH:$HOME/.local/bin"
fi