diff options
-rw-r--r-- | _profile | 89 |
1 files changed, 40 insertions, 49 deletions
@@ -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 |