#!/usr/bin/env bash
# shellcheck disable=SC1090
# shellcheck disable=SC2155
export starting="${BASH_SOURCE[0]}"; debug.sh starting

DARWIN="$(uname -a | grep -i darwin 2>/dev/null)"; export DARWIN  ## First: home.sh uses it (USERHOME)
KALI="$(uname -a | grep -i kali 2>/dev/null)"; export KALI
DEBIAN="$(uname -a | grep -i debian 2>/dev/null)"; export DEBIAN
UBUNTU="$(uname -a | grep -i ubuntu 2>/dev/null)"; export UBUNTU



export USERNAME="jose"
USERHOME="$( home.sh "${USERNAME}" )"; export USERHOME
export PASSWD_PATH="${USERHOME}/.passwd"
export BASHRC_FILE="bashrc"
export PROJECT_BASHRC="${USERHOME}/bashrc"
export GITHUB_USERNAME="j5pu"
export GITHUB_EMAIL="${GITHUB_USERNAME}@github.com"
export GITHUB_URL="https://github.com/${GITHUB_USERNAME}"
export GITHUB_ORGANIZATION="lumenbiomics"
export GITHUB_ORGANIZATION_ID="org-4379404"
export GITHUB_ORGANIZATION_CLONE_PREFIX_HTTP="https://github.com/${GITHUB_ORGANIZATION}"
export GITHUB_ORGANIZATION_ID_CLONE_PREFIX_SSH="${GITHUB_ORGANIZATION_ID}@github.com:"
export GITHUB_ORGANIZATION_CLONE_PREFIX_SSH="${GITHUB_ORGANIZATION_ID_CLONE_PREFIX_SSH}${GITHUB_ORGANIZATION}"
export GITHUB_SECRETS_PATH="${USERHOME}/.ssh"
export GIT_STORE="${GITHUB_SECRETS_PATH}/gitcredentials"
export ATHENS_GONOSUM_PATTERNS="github.com/${GITHUB_ORGANIZATION}/*"
export GONOSUMDB="github.com/${GITHUB_ORGANIZATION}/*,github.com/secret/*"
export NFERX_GITHUB_USERNAME="jose-nferx"
export SECRETS_REPO="secrets"
export SECRETS_PATH="${GITHUB_SECRETS_PATH}/secrets"
export PEN_BASENAME="pen"
export ICLOUD_BASENAME="iCloud"
export MACDEV_BASENAME="macdev"
export ICLOUD="${USERHOME}/${ICLOUD_BASENAME}"
export GOHOME="${USERHOME}/.go"

PATH="/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin"
INFOPATH="${BREW}/../share/info"
MANPATH="${BREW}/../share/man"
if test -n "${DARWIN}"; then
  MACDEV="$( defaults read "${USERHOME}/Library/Preferences/com.google.GoogleDrive.plist" NSNavLastRootDirectory | sed "s|~|${USERHOME}|" )"; export MACDEV
  export FILES="${MACDEV}/files"
  export REQUESTS_CA_BUNDLE="${FILES}/ssl/ca-bundle.crt"
  export DEFAULT_CA_BUNDLE_PATH="${REQUESTS_CA_BUNDLE}"
  export SSL_CERT_FILE="${REQUESTS_CA_BUNDLE}"
  PEN="${USERHOME}/${PEN_BASENAME}"
  BREW="/usr/local/bin"
  BREW_S="/usr/local/sbin"
  PATH="${PEN}:${PEN}/bin:${PEN}/scripts:${MACDEV}/scripts:${MACDEV}/bin:${ICLOUD}/bin:${USERHOME}/bin:/Applications/PyCharm.app/Contents/MacOS:/usr/local/opt/ruby/bin:/usr/local/opt/python@3.8/bin:/Library/Developer/CommandLineTools/usr/bin:/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/bin:${PATH}"
  MANPATH="${MACDEV}/man:${ICLOUD}/man:${MANPATH}"
elif test -n "${KALI}"; then
  export CURL_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
  PEN="/${PEN_BASENAME}"
  BREW="/home/linuxbrew/.linuxbrew/bin"
  BREW_S="/home/linuxbrew/.linuxbrew/sbin"
  PATH="${PEN}:${PEN}/bin:${PEN}/scripts:${BREW}:${BREW_S}:${PATH}"
fi
MANPATH="${MACDEV}/man:${ICLOUD}/man:${BREW}/../share/man"
test -n "${GOPATH}" || PATH="${GOPATH//://bin:}/bin:${PATH}"
export PATH PEN BREW INFOPATH MANPATH

REALNAME="$(test -n "${DARWIN}" && dscl . -read /Users/"${USERNAME}" RealName RealName | sed -n 's/^ //g;2p' || echo)"
export REALNAME

export AMARILLO="\[\033[1;33m\]"

export ANSIBLE_SUDO_PASSWORD="${INTERNET}"

export AZUL="\[\033[1;34m\]"
export AZULCLARO="\[\033[1;36m\]"

export BASH_D_BASENAME=".bashrc.d"
export REBASH_BASENAME=".bashrc"
export BASH_INSTALL=".bash_profile ${REBASH_BASENAME} ${BASH_D_BASENAME} .hushlogin .inputrc .profile"

export CLICOLOR=1
export CLT="/Library/Developer/CommandLineTools"

export CONFLUENCE_SERVER_PASS='wjxsthIKDJYHYjnEl6Xr37B9'

export DEFAULT_KALI_USER='kali'

export DOCKER_HOST=ssh://kali.com

export EDITOR=vi

export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

export GIT_COMMAND="git"
export GIT_PREFIX="git@github.com:"
export GITHUB_DESKTOP_PROCESS="GitHub Desktop"
export GITHUB_DESKTOP="/Applications/${GITHUB_DESKTOP_PROCESS}.app"

export GO111MODULE=on

export GREP_COLORS='ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36'
export HISTSIZE=10000
export HISTFILESIZE=20000

export ICLOUD_NICK="i"

export INTERNET_HASH="$(! command -v openssl >/dev/null 2>&1 || openssl passwd -1 -salt xyz "${INTERNET}")"
export INTERNET_ENCODED='1Zaragoza%24%2E'

export INVERSO="\[\033[00m\]"
export KALI_IP="35.153.66.76"
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LIBRARY_NICK="l"

export LSCOLORS=ExGxBxDxCxEgEdxbxgxcxd

export LUMEN_BASENAME="lumen"

export MACDEV_NICK="m"

export MACKUP_ENGINE="file_system" # dropbox, google_drive, icloud and file_system

export MACROOT="/System/Volumes/Data"
export MORADO="\[\033[1;35m\]"

export NFERX_DEFAULT_GROUP="DevOps"
export NFERENCE='nference.net'
export NFERX_EMAIL="${USERNAME}@nference.net"
export NFERX_SERVER="$([[ "$(id -gn)" == "${NFERX_DEFAULT_GROUP}" ]] && echo "yes" || echo "no")"
export NFERX_SERVERS="nferx.com"

export PACKAGES_BASENAME="packages"

export PEN_NICK="p"

export PS1_SSH_THE_SAME="yes"
export PS4="$(tty -s && tput setaf 5)+\$(echo \${BASH_SOURCE[0]}:\${LINENO}) $(tty -s && tput setaf 3)\$(echo \${LINENO} | sed 's/\$/@/g')\$(echo \${BASH_LINENO[*]} | awk '{\$NF=\"\"; print \$0}' | sed 's/ \$//g'| sed 's/ /@/g')$(tty -s && tput sgr0):$(tty -s && tput setaf 5)\$(echo \${FUNCNAME[*]} | sed 's/ /\//g')$(tty -s && tput sgr0)$ "

export PYCHARM_VERSION="2020.2"

export PYTHON38="/usr/local/opt/python@3.8"
export PYTHONDONTWRITEBYTECODE=1
export PYTHONUNBUFFERED=1
export PYTHONASYNCIODEBUG=0

export REPO_DEFAULT_ADMIN_USERNAME="admin"
export REPO_DEFAULT_ADMIN_PASSWORD="1Aragon$."
export REPO_DEFAULT_USERNAME="upload"
export REPO_DEFAULT_PASSWORD="${REPO_DEFAULT_USERNAME}"
export REPO_DEFAULT_HOSTNAME="repo"
export REPO_DEFAULT_SCHEME="https"
export REPO_DEFAULT_API_VERSION="v1"
export REPO_DEFAULT_HOST="${REPO_DEFAULT_HOSTNAME}.${NFERX_SERVERS}"
export REPO_DEFAULT_URL="${REPO_DEFAULT_SCHEME}://${REPO_DEFAULT_HOST}"
export REPO_DEFAULT_API_URL="${REPO_DEFAULT_URL}/service/rest/${REPO_DEFAULT_API_VERSION}"
export GOPROXY="${REPO_DEFAULT_URL}/Repository/go-all/,direct"

export ROJO="\[\033[1;31m\]"

export SCRIPTS_BASENAME="scripts"

export SETENV="no"
export SHELLCHECK_OPTS='--shell=bash'
export SSH_ARGS='-o ControlMaster=auto -o CheckHostIP=no -o BatchMode=yes -o ControlPersist=20m -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o IdentitiesOnly=yes'
export TERM="xterm-256color"
export TERM_PROGRAM='iTerm.app'
export VERDE="\[\033[1;32m\]"
export VISUAL=vi

! test -e "${PASSWD_PATH}" || source "${PASSWD_PATH}"
echo "${PASSWORD}" | sudo -S true > /dev/null 2>&1
! test -e "${SECRETS_PATH}" || source "${SECRETS_PATH}"

if isuserdarwin.sh; then
  launchctl setenv PATH "${PATH}"
  sudo launchctl setenv PATH "${PATH}"
  sudo launchctl config system path "${PATH}" >/dev/null 2>&1
  sudo launchctl config user path "${PATH}" >/dev/null 2>&1
fi

for var in USERNAME USERHOME PASSWD_PATH BASHRC_FILE PROJECT_BASHRC GITHUB_USERNAME NFERX_GITHUB_USERNAME \
           SECRETS_REPO GITHUB_SECRETS_PATH SECRETS_PATH PASSWORD INTERNET GITHUB_PRIVATE_URL \
           GITHUB_SECRETS_URL NFERX_GITHUB_PASSWORD; do
  debug.sh "${var}"
done

unset starting var
