X-Git-Url: https://git.distorted.org.uk/~mdw/profile/blobdiff_plain/e3a7c1c213688cc551955f8f7d43ae49d32fb269..a68427dd89a3d69d423705a7c83de151bf27a497:/dot/profile diff --git a/dot/profile b/dot/profile index 17fbc67..804ee8e 100644 --- a/dot/profile +++ b/dot/profile @@ -27,7 +27,6 @@ __mdw_addto () { case "$new:" in *:$i:*) continue;; esac if ! [ -d $i ]; then continue; fi case "$val" in - "") val=$i change=t; continue ;; $i) continue ;; *:$i:*) val=${val%%:$i:*}:${val#*:$i:} ;; $i:*) val=${val#$i:} ;; @@ -36,8 +35,8 @@ __mdw_addto () { new=$new:$i change=t done case $dir in - l) val=${new#:}:$val ;; - r) val=$val$new ;; + l) val=${new#:}${val:+:$val} ;; + r) val=${val:+$val:}${new#:} ;; esac case $change in t) eval $var=\$val ;; esac } @@ -58,6 +57,17 @@ __mdw_setconf () { fi } +## __mdw_export_if_defined VAR ... +## +## If VARs are defined, then export them. +__mdw_export_if_defined () { + local var t + for var in "$@"; do + eval t=\${$var+t} + case $t in t) export $var ;; esac + done +} + ###-------------------------------------------------------------------------- ### Other preliminaries. @@ -99,6 +109,12 @@ done ###-------------------------------------------------------------------------- ### Some other preliminaries. +## Set a per-process memory limit. It's much less common for a process to +## need a lot of memory for a legitimate reason than for it to be a memory +## leak or some other bug that's going to cause swap death for no good +## reason. +ulimit -Sv $(mdw-conf memory-limit 4194303) + ## Establish a temporary directory. case ${TMPDIR+t} in t) ;; @@ -186,6 +202,9 @@ if __mdw_programp global; then export LESSGLOBALTAGS fi +## Get Debian `groff' to produce control sequences rather than overstriking. +GROFF_SGR=t; export GROFF_SGR + ###-------------------------------------------------------------------------- ### Miscellaneous things. @@ -266,24 +285,35 @@ export XUSERFILESEARCHPATH OOO_FORCE_DESKTOP=gnome; export OOO_FORCE_DESKTOP ## Hack Qt-ish things to be unstoatly. -QT_QPA_PLATFORMTHEME=gtk2; export QT_QPA_PLATFORMTHEME +##QT_QPA_PLATFORMTHEME=gtk2; export QT_QPA_PLATFORMTHEME QT_AUTO_SCREEN_SCALE_FACTOR=0; export QT_AUTO_SCREEN_SCALE_FACTOR ## Use X11 input method (including compose key sequences) everywhere. GTK_IM_MODULE=xim; export GTK_IM_MODULE QT_IM_MODULE=xim; export QT_IM_MODULE +## Don't hide scrollbars. +GTK_OVERLAY_SCROLLING=0; export GTK_OVERLAY_SCROLLING + ## Rust Cargo things. CARGO_HOME=$HOME/.cache/cargo; export CARGO_HOME ## Configure `ps'. PS_PERSONALITY=gnu; export PS_PERSONALITY +## Configure Debian building. +DEB_BUILD_OPTIONS="parallel=$(mdw-conf make-parallel 4)" +export DEB_BUILD_OPTIONS + ## Turn off angry fruit salad error messages from things. DPKG_COLORS=never; export DPKG_COLORS GCC_COLORS=; export GCC_COLORS CCC_OVERRIDE_OPTIONS="#^-fno-color-diagnostics"; export CCC_OVERRIDE_OPTIONS +## Local library directories. +__mdw_addto PERLLIB l $HOME/lib/perl; __mdw_export_if_defined PERLLIB +__mdw_addto PYTHONPATH l $HOME/lib/python; __mdw_export_if_defined PYTHONPATH + ## Disable core dumps. ulimit -S -c 0