moved the generation of local environment variables to its own generator script

This commit is contained in:
Tobias Schmidl 2023-01-24 15:33:08 +01:00
parent fa32f1be82
commit ef6d56b2a8
4 changed files with 25 additions and 17 deletions

View file

@ -1,5 +1,4 @@
#! /bin/sh #! /bin/sh
[ -r $HOME/.fehbg ] && . $HOME/.fehbg
start-pulseaudio-x11 start-pulseaudio-x11
compton -b compton -b
echo "Started on `date -Iseconds`" > $HOME/log [ -r "$HOME"/.fehbg ] && . "$HOME"/.fehbg

21
.local/bin/generate-env Executable file
View file

@ -0,0 +1,21 @@
#! /bin/sh
if [ -d /usr/lib/systemd/system-environment-generators ];
then
run-parts /usr/lib/systemd/user-environment-generators
else
cat "$HOME"/.config/environment.d/*
fi | grep -v '#' | grep -v '^[[:space:]]*$' | while read -r cur_env; do export "${cur_env?}"; done
command -v ip >/dev/null 2>&1 &&
{
LOCAL_IP="$(ip route | sed -En '/.*linkdown/! s/.*src\s+([^ ]+)\s*/\1/p')"
export LOCAL_IP
TARGET_FILE="$(readlink -f "${XDG_RUNTIME_DIR:-${TMPDIR:-$HOME}}")/local_ip"
[ ! -r "$TARGET_FILE" ] && echo "$LOCAL_IP" > "$TARGET_FILE"
}
# Make sure we include this part only once
[ -n "$USER_ENVIRONMENT_GENERATORS" ] && return
export USER_ENVIRONMENT_GENERATORS=1
PATH="$HOME/.local/bin:$PATH"

View file

@ -1,8 +1 @@
# Make sure we include this file only once . $HOME/.local/bin/generate-env
if [ -z $LOCAL_BIN_ALREADY_SET ];
then
export LOCAL_BIN_ALREADY_SET=1
# set PATH so it includes user's private bin if it exists
[ -d "$HOME/.local/bin" ] && PATH="$HOME/.local/bin:$PATH"
[ -d "$HOME/bin" ] && PATH="$HOME/bin:$PATH"
fi

9
.zshrc
View file

@ -1,10 +1,3 @@
if [ -d /usr/lib/systemd/system-environment-generators ];
then
run-parts /usr/lib/systemd/user-environment-generators | grep -v '#' | grep -v '^ $' | while read cur_env; do export ${cur_env}; done
else
cat $HOME/.config/environment.d/* | grep -v '#' | grep -v '^$' | while read cur_env; do export "${cur_env}"; done
fi
setopt HIST_EXPIRE_DUPS_FIRST setopt HIST_EXPIRE_DUPS_FIRST
setopt HIST_IGNORE_DUPS setopt HIST_IGNORE_DUPS
setopt HIST_IGNORE_ALL_DUPS setopt HIST_IGNORE_ALL_DUPS
@ -41,6 +34,8 @@ EOBUNDLES
antigen theme gallifrey antigen theme gallifrey
antigen apply antigen apply
source "$HOME/.local/bin/generate-env"
hash direnv &> /dev/null && eval "$(direnv hook zsh)" hash direnv &> /dev/null && eval "$(direnv hook zsh)"
chpwd() { exa } chpwd() { exa }
ZSH_AUTOSUGGEST_STRATEGY=match_prev_cmd ZSH_AUTOSUGGEST_STRATEGY=match_prev_cmd