summaryrefslogtreecommitdiff
blob: 9155aae3fc58664bd3b8389602a89d5c0c4d6b4a (plain)
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
# /etc/zsh/zprofile

# Load environment settings from profile.env, which is created by
# env-update from the files in /etc/env.d
if [[ -e /etc/profile.env ]] ; then
	. /etc/profile.env
fi

# You should override these in your ~/.zprofile (or equivalent) for per-user
# settings.  For system defaults, you can add a new file in /etc/profile.d/.
export EDITOR=${EDITOR:-/bin/nano}
export PAGER=${PAGER:-/usr/bin/less}

# 077 would be more secure, but 022 is generally quite realistic
umask 022

# Set up PATH depending on whether we're root or a normal user.
# There's no real reason to exclude sbin paths from the normal user,
# but it can make tab-completion easier when they aren't in the
# user's PATH to pollute the executable namespace.
#
# It is intentional in the following line to use || instead of -o.
# This way the evaluation can be short-circuited and calling whoami is
# avoided.
if [[ "${EUID}" = "0" ]] || [[ "${USER}" = "root" ]] ; then
	# Check to make sure ROOTPATH is sane before we use it.
	# https://bugs.gentoo.org/656400
	if [[ -n ${ROOTPATH} ]] && [[ :${ROOTPATH}: == *:/usr/sbin:* ]] ; then
		PATH="${ROOTPATH}"
	fi
fi
export PATH
unset ROOTPATH

shopts=$-
setopt nullglob
for sh in /etc/profile.d/*.sh ; do
	[[ -r "${sh}" ]] && . "${sh}"
done
unsetopt nullglob
set -$shopts
unset sh shopts