I don't know how "portable" a .profile can be, but let's try!

Althought I'm not using acme as my go-to text editor program, I still like to use it and have the rest of the plan9ports at hand.

I manually fetched and installed the ports in ~/plan9, and need to define $PLAN9 in order for the various tooling to work.

export PLAN9

I tend to have an abnormal $PATH


Let's split it:

Tell npm to install things globally in the right directory

export npm_config_prefix=~/.node_modules

ksh doesn't have a "default" configuration file (like ~/.zshrc or ~/.bashrc); instead, if called interactively, it loads the file pointed by ENV. Tell ksh to load ~/.kshrc then

export ENV=$HOME/.kshrc

An UTF-8 locale is mandatory. I'm using en_US even if english is not my main language:

export LANG=en_US.UTF-8

Got is quickly becoming my favourite version control system. It should be able to load the author data from a config file, but I still keep this variable, just in case :)

export GOT_AUTHOR="Omar Polo <>"

Sometimes I need to do stuff with Docker. I have a virtual machine running alpine with docker configured and this bit here will allow docker-cli to transparently talk to the VM:

export DOCKER_HOST=ssh://op@

I had this revelation. I don't MoGrify text. I don't VIsualize files. I EDit them!

export EDITOR

less(1) should be the default pager pretty most everywhere, but ensure that!

export MANPAGER=less

I've found a cool pager for postgresql, pspg. It's designed explicitly for tabular data. Extra points for having some cool light themes! Tao light theme (number 20) is my favourite.

export PSQL_PAGER='pspg -s20'

I'm using reposync to manage my local clone of the OpenBSD source tree. Technically this isn't needed, because /home/ports is already a checkout from /home/cvs, but anyway...

export CVSROOT=/home/cvs

This is just to make some command outputs a little bit nicer:

export BLOCKSIZE=1m

I don't particularly like coloured outputs when I'm in front of a terminal, so I tend to disable them:

export NO_COLOR='yes, please'
export WG_COLOR_MODE=never
export AV_LOG_FORCE_NOCOLOR='fuck yes' an exception I'm trying to enable colors in tog(1) (cautiously!) and see how it goes:

export TOG_COLORS=yes
export TOG_COLOR_DIFF_MINUS=magenta
export TOG_COLOR_DIFF_META=default
export TOG_COLOR_COMMIT=default
export TOG_COLOR_AUTHOR=default
export TOG_COLOR_DATE=default

some other tweaks for tog

export TOG_DIFF_ALGORITHM=patience

mblaze uses quoted-printable if there are lines longer than 78 character or so. if $MBLAZE_RELAXED_MIME is specified tho, it will only do so if it founds lines longer than 998 characters, allowing me to send diffs without mangling!


On OpenBSD, automake and autoconf requires these variables to be up to work. Otherwise one can run automake-X.Y and autoconf-X.Y, but that's ugly:


Finally, load the specific profile for this machine if it exists:

if [ -f "$HOME/.profile-local" ]; then
	. "$HOME/.profile-local"