aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--_profile89
1 files changed, 40 insertions, 49 deletions
diff --git a/_profile b/_profile
index 0c9102d..7beabfc 100644
--- a/_profile
+++ b/_profile
@@ -1,20 +1,20 @@
# -*- mode: sh; -*-
+# vim: set ts=8 sw=4 tw=0 fenc=utf-8 ft=sh:
#
# ~/.profile
-# executed by the command interpreter for login shells
+# Executed by the login shell
#
# Aaron LI
-# Updated: 2016-07-30
#
+# Set file creation mask: be more private!
+umask 027
-# The default umask is set in /etc/profile; for setting the umask
-# for ssh logins, install and configure the libpam-umask package.
-#umask 022
+### Functions ----------------------------------------------------------
-### PATH {{{
-# Credit: http://unix.stackexchange.com/a/178822
+## PATH manipulations
+## Credit: http://unix.stackexchange.com/a/178822
# Remove the specified part from PATH
_path_remove() {
PATH=$(echo ":${PATH}:" | sed -e "s|:$1:|:|g" -e "s|^:\(.*\):$|\1|")
@@ -30,64 +30,55 @@ _path_append() {
PATH="${PATH}:$1"
}
-# local installed npm packages (see also `~/.npmrc`)
-if [ -d "$HOME/.npm-packages/bin" ]; then
+## Check the existence/accessibility of a command
+_exists() {
+ which $1 &> /dev/null
+}
+
+## Check whether the program is running
+_running() {
+ pgrep -x -u ${USER} $1 &> /dev/null
+}
+
+
+### Environment Settings -----------------------------------------------
+
+## PATH
+# Locally installed NPM packages (see also `~/.npmrc`)
+if [ -d "${HOME}/.npm-packages/bin" ]; then
_path_prepend "${HOME}/.npm-packages/bin"
fi
-# local installed packages (e.g., python)
-if [ -d "$HOME/.local/bin" ]; then
+# Locally installed programs (e.g., Python)
+if [ -d "${HOME}/.local/bin" ]; then
_path_prepend "${HOME}/.local/bin"
fi
# ~/bin
-if [ -d "$HOME/bin" ]; then
- _path_prepend "$HOME/bin"
+if [ -d "${HOME}/bin" ]; then
+ _path_prepend "${HOME}/bin"
fi
-# admin/superuser
+# System administration programs
if groups | grep -qE '\b(wheel|adm|sudo)\b'; then
_path_append "/usr/local/sbin"
_path_append "/usr/sbin"
_path_append "/sbin"
fi
-### PATH }}}
-
-### GnuPG
-if ! pgrep -x -u "${USER}" gpg-agent >/dev/null 2>&1; then
- eval $(gpg-agent --daemon)
-fi
-
-
-### Locale
+## Language and locale
export LANG="en_US.UTF-8"
-export LC_CTYPE="zh_CN.UTF-8"
+export LC_MONETARY="zh_CN.UTF-8"
export LC_COLLATE="C"
-
-### Input method: fcitx
-export XMODIFIERS="@im=fcitx"
+## Chinese input method
export INPUT_METHOD="fcitx"
-export GTK_IM_MODULE="fcitx"
-export QT_IM_MODULE="fcitx"
+export XMODIFIERS="@im=${INPUT_METHOD}"
+export GTK_IM_MODULE="${INPUT_METHOD}"
+export QT_IM_MODULE="${INPUT_METHOD}"
-
-### LS colors
-if which dircolors >/dev/null 2>&1; then
- eval `dircolors -b`
-fi
-
-
-### Xmodmap
-#[ -f ~/.Xmodmap ] && xmodmap ~/.Xmodmap
-
-
-### ConTeXt fonts
-export OSFONTDIR="/usr/local/share/fonts;$HOME/.fonts"
-
-
-### Xapian
-# CJK support: set this before notmuch/mu indexing
-# Required for correct CJK index and search
+## Xapian
+# Enable the CJK N-gram tokenization algorithm for CJK indexing and search
export XAPIAN_CJK_NGRAM=1
-
-# vim: set ts=8 sw=4 tw=0 fenc=utf-8 ft=sh: #
+## LS colors
+if _exists dircolors; then
+ eval $(dircolors -b)
+fi