-# By default this file is sourced for ALL ssh commands. This is wonky.
-# Normally, this file is not sourced when a script is run, but we can
-# override that by having #!/bin/bash -l. I want something similar for ssh
-# commands. when a local script runs an ssh command, this file should not be
-# sourced by default, but we should be able to override that.
-#
-# So here we test for conditions of a script under ssh and return if so.
-# And we don't keep the rest of the code in this file, because even
-# though we return, we already parsed the whole code, and as I develop
-# the code, the parsing can have errors, which can screw up cronjobs
-# etc. To test for an overriding condition, we have a few options. one
-# is to use an environment variable. env variables sent across ssh are
-# strictly limited. ssh -t which sets $SSH_TTY, but within a script that
-# won't work because tty allocation will fail. We could override an
-# obscure unused LC_var, like telephone, but I don't want to run into
-# some edge case where that messes things up. we could transfer a file
-# which we could test for, but I can't think of a way to make that
-# inherently limited to a single ssh command. I choose to set SendEnv
-# and AcceptEnv ssh config vars to allow the environment variable
-# BASH_LOGIN_SHELL to propagate across ssh. This also requires that we
-# wrap ssh in interactive shells, because, once we export the var, it
-# will go into scripts and theres no way to automatically set it.
+
+# History related options first, or else
+# we risk screwing up history history. And this is duplicated
+# in ~/.bash_profile just for good measure
+# history number. History expansion is good.
+PS4='$LINENO+ '
+# history file size limit, set to unlimited.
+# this needs to be different from the default because
+# default HISTFILESIZE is 500 and could clobber our history
+HISTFILESIZE=
+# max commands 1 session can append/read from history
+HISTSIZE=1000000
+# the time format display when doing the history command
+# also, setting this makes the history file record time
+# of each command as seconds from the epoch
+HISTTIMEFORMAT="%Y-%m-%d %I:%M %p "
+# consecutive duplicate lines dont go in history
+HISTCONTROL=ignoredups
+# works in addition to HISTCONTROL to do more flexible things
+# it could also do the same things as HISTCONTROL and thus replace it,
+# but meh. dunno why, but just " *" does glob expansion, so use [ ] to avoid it.
+HISTIGNORE='pass *:[ ]*:otp *:oathtool *'