#!/bin/sh # # o # _|_ _ _ _ _ _ # | | / |/ | | | |/ / |/ | | |_ # |_/|_/ | |_/ \_/|/ |__/ | |_/ \/ # /| # \| # # tiny env # scraps system and user's configuration, # providing unified env. variables accross exotic setup. # # ~ rgoncalves.se log() { echo [] "${@}" } usage() { cat <<-EOF usage: tinyenv [-d] EOF } get_os_distribution() { # tmp os=$(uname | tr "[:upper:]" "[:lower:]") distribution=$(uname -r) # logic case "${os}" in linux) distribution=$(uname -r) ;; esac # return export _OS_DISTRIBUTION="${os}_${distribution}" unset -v os distribution } get_display() { # tmp list="wayland Xorg" # logic for display in ${list}; do # search display and skip export if not found pgrep "${display}" >/dev/null [ "${?}" -ne 0 ] && display="none" && continue # found display server break done # return export _DISPLAY_SERVER=$(echo "${display}" | tr "[:upper:]" "[:lower:]") unset -v list display } get_screens() { # tmp screens="1" # logic [ "${_DISPLAY_SERVER}" = "xorg" ] && \ screens=$(xrandr | grep " connected" | wc -l | tr -d " ") # return export _SCREENS="${screens}" unset screens } show_env() { list=$(env | grep "^_.*" | sort -n) for el in ${list}; do log "${el}" done unset -v list el } main() { # must be first get_os_distribution # alpha/numeric ordered get_display get_screens [ -n "${DEBUG}" ] && show_env } main $@