Rework profile/env for shells

This commit is contained in:
2025-11-14 18:05:39 -06:00
parent 52610e056a
commit f1700e1d3d
13 changed files with 72 additions and 62 deletions

3
.tmux-session-hydrate Normal file
View File

@@ -0,0 +1,3 @@
source "$XDG_CONFIG_HOME/tmux/.tmux-session-hydrate-default"
tmux rename-window -t procs nv-kickstart
tmux send-keys -t :nv-kickstart "cd $DIR_GIT_PROJECTS/other/kickstart.nvim" c-M

View File

@@ -49,13 +49,12 @@ export BOX_SETUP_UPDATE_PKG_MANAGER_AND_DEFS_CMD="$update_pkg_manager_and_defs_c
export BOX_SETUP_UPDATE_PKGS_CMD="$update_pkgs_cmd" export BOX_SETUP_UPDATE_PKGS_CMD="$update_pkgs_cmd"
# make dirs and copy configs/dotfiles # make dirs and copy configs/dotfiles
source ./src_files/.config/zsh/.zshenv . ./src_files/shell/profile
./make_dirs.sh ./make_dirs.sh
./copy_dotfiles.sh $1 ./copy_dotfiles.sh $1
# install programs # install programs
source $ZDOTDIR/.zshenv . $ZDOTDIR/.zshrc
source $ZDOTDIR/.zshrc
./install_programs.sh $1 ./install_programs.sh $1
echo "setting the default theme: $DEFAULT_THEME_NAME" echo "setting the default theme: $DEFAULT_THEME_NAME"

View File

@@ -34,11 +34,14 @@ sym_link() {
} }
echo "---- copying dotfiles ------------------" echo "---- copying dotfiles ------------------"
source src_files/.config/zsh/.zshenv . ./src_files/shell/profile
copy_file src_files/.config/zsh/.zshenv $HOME # copy first, ensure $ZDOTDIR set
# copy_file src_files/.config/ksh/.profile $HOME # TODO: if using oksh, get it working
# configs/executables/scripts from .config and .local # copy over env/profile files used by shell(s)
copy_file src_files/shell/profile $XDG_CONFIG_HOME
copy_file src_files/shell/.profile $HOME
copy_file src_files/.config/zsh/.zshenv $HOME
# copy over configs, executables, and scripts
copy_dir src_files/.config $XDG_CONFIG_HOME copy_dir src_files/.config $XDG_CONFIG_HOME
copy_dir src_files/.local/bin $DIR_BIN copy_dir src_files/.local/bin $DIR_BIN
copy_dir src_files/.local/scripts $DIR_SCRIPTS copy_dir src_files/.local/scripts $DIR_SCRIPTS

View File

@@ -1,7 +1,7 @@
#!/bin/zsh #!/bin/zsh
echo "---- making system dirs ----------------" echo "---- making system dirs ----------------"
source ./src_files/.config/zsh/.zshenv # ensure env vars set for use below . ./src_files/shell/profile # ensure env vars set for use below
# some standard/common directories, some overlap/use in XDG directories # some standard/common directories, some overlap/use in XDG directories
[[ ! -d "$DIR_LOCAL" ]] && mkdir -p "$DIR_LOCAL" [[ ! -d "$DIR_LOCAL" ]] && mkdir -p "$DIR_LOCAL"

View File

@@ -1,48 +1 @@
# default programs [ -r "$HOME/.config/profile" ] && . $HOME/.config/profile
export BROWSER='brave'
export EDITOR='nvim'
export TERMINAL='kitty'
# env vars used for my organization structure
export DIR_HOME_BOX="$HOME/dbox"
export DIR_NOTES="$DIR_HOME_BOX/notes"
export DIR_MUSIC="$DIR_HOME_BOX/music/listen"
export DIR_DEV="$HOME/dev"
export DIR_GIT_PROJECTS="$DIR_DEV/git"
# util dirs; do not change without checking impact on xdg base dirs
export DIR_LOCAL="$HOME/.local"
export DIR_BIN="$DIR_LOCAL/bin"
export DIR_SCRIPTS="$DIR_LOCAL/scripts"
export DIR_USER_OPT="$HOME/opt"
export DIR_USER_LIB="$DIR_LOCAL/lib"
# xdg base directory vars
export XDG_CONFIG_HOME="$HOME/.config"
export XDG_CACHE_HOME="$HOME/.cache"
export XDG_DATA_HOME="$DIR_LOCAL/share"
export XDG_STATE_HOME="$DIR_LOCAL/state"
export XDG_DATA_DIRS="/usr/local/share:/usr/share"
#export XDG_CONFIG_DIRS="/etc/xdg" # TODO: does this work on macOS?
# directory for theme/style stuff
export DIR_THEME_SETTINGS="$XDG_CONFIG_HOME/zz-this-box/themes"
export DEFAULT_THEME_NAME="tokyodark"
# zsh
export ZDOTDIR="$XDG_CONFIG_HOME/zsh" # may already be set, set anyway
# git
export GIT_EDITOR="$EDITOR"
# obsidian
export OBSIDIAN_WORKSPACES_TO_CONFIGURE=("$DIR_NOTES")
# reaper
export DIR_REAPER_PORTABLE_SHARED="$DIR_USER_OPT/reaper-portable/shared"
export DIR_REAPER_PORTABLE_LINUX="$DIR_USER_OPT/reaper-portable/linux"
export DIR_REAPER_PORTABLE_MACOS="$DIR_USER_OPT/reaper-portable/macos"
# clean-up of home dir
export __CF_USER_TEXT_ENCODING="0x0:0x0" # TODO: does this actually accomplish anything?

View File

@@ -35,7 +35,7 @@ alias weather='curl "wttr.in/dfw?2&F"'
alias shrug='echo "¯\\_(ツ)_/¯"' alias shrug='echo "¯\\_(ツ)_/¯"'
# source extensions and system-specific files # source extensions and system-specific files
[[ -a "$ZDOTDIR/zsh-general-dev" ]] && source "$ZDOTDIR/zsh-general-dev" [[ -a "$ZDOTDIR/zsh-general-dev" ]] && . "$ZDOTDIR/zsh-general-dev"
# programming and language setup # programming and language setup
[[ -n $(command -v mise) ]] && eval "$(mise activate zsh)" [[ -n $(command -v mise) ]] && eval "$(mise activate zsh)"

View File

@@ -1,5 +1,5 @@
# set env vars, path updates, etc # set env vars, path updates, etc
[[ -a $HOME/.local-box-vars ]] && source $HOME/.local-box-vars [[ -a $HOME/.local-box-vars ]] && . $HOME/.local-box-vars
# login shortcuts # login shortcuts
alias assume="source assume" alias assume="source assume"

View File

@@ -1,7 +1,7 @@
#!/bin/sh #!/bin/sh
# trying the "portable install" option; using this launch script to point to that # trying the "portable install" option; using this launch script to point to that
source "$XDG_CONFIG_HOME/zsh/.zshenv" . $XDG_CONFIG_HOME/profile
reaper_portable_exec_linux="$DIR_REAPER_PORTABLE_LINUX/REAPER/reaper" reaper_portable_exec_linux="$DIR_REAPER_PORTABLE_LINUX/REAPER/reaper"
[[ ! -x "$reaper_portable_exec_linux" ]] && { [[ ! -x "$reaper_portable_exec_linux" ]] && {

View File

@@ -7,7 +7,7 @@ tmux_switch_to() {
tmux_hydrate() { tmux_hydrate() {
local tmux_hydrate_path="$XDG_CONFIG_HOME/tmux/.tmux-session-hydrate-default" local tmux_hydrate_path="$XDG_CONFIG_HOME/tmux/.tmux-session-hydrate-default"
[[ -f $2/.tmux-session-hydrate ]] && tmux_hydrate_path="$2/.tmux-session-hydrate" [[ -f $2/.tmux-session-hydrate ]] && tmux_hydrate_path="$2/.tmux-session-hydrate"
[[ -f $tmux_hydrate_path ]] && tmux send-keys -t $1 "source $tmux_hydrate_path" c-M [[ -f $tmux_hydrate_path ]] && tmux send-keys -t $1 ". $tmux_hydrate_path" c-M
} }
tmux_existing_sessions=$(tmux list-sessions 2> /dev/null || echo '') tmux_existing_sessions=$(tmux list-sessions 2> /dev/null || echo '')

View File

@@ -1,7 +1,7 @@
#!/bin/sh #!/bin/sh
# trying the "portable install" option; using this launch script to point to that # trying the "portable install" option; using this launch script to point to that
source "$XDG_CONFIG_HOME/zsh/.zshenv" . $XDG_CONFIG_HOME/profile
reaper_portable_exec_macos="$DIR_REAPER_PORTABLE_MACOS/REAPER.app/Contents/MacOS/REAPER" reaper_portable_exec_macos="$DIR_REAPER_PORTABLE_MACOS/REAPER.app/Contents/MacOS/REAPER"
[[ ! -x "$reaper_portable_exec_macos" ]] && { [[ ! -x "$reaper_portable_exec_macos" ]] && {

1
src_files/shell/.profile Normal file
View File

@@ -0,0 +1 @@
[ -r "$HOME/.config/profile" ] && . $HOME/.config/profile

51
src_files/shell/profile Normal file
View File

@@ -0,0 +1,51 @@
# default programs
export BROWSER='brave'
export EDITOR='nvim'
export TERMINAL='kitty'
# set ENV for ksh/oksh (should be ignored by zsh and bash)
export ENV="$HOME/.config/ksh/kshrc"
# env vars used for my organization structure
export DIR_HOME_BOX="$HOME/dbox"
export DIR_NOTES="$DIR_HOME_BOX/notes"
export DIR_MUSIC="$DIR_HOME_BOX/music/listen"
export DIR_DEV="$HOME/dev"
export DIR_GIT_PROJECTS="$DIR_DEV/git"
# util dirs; do not change without checking impact on xdg base dirs
export DIR_LOCAL="$HOME/.local"
export DIR_BIN="$DIR_LOCAL/bin"
export DIR_SCRIPTS="$DIR_LOCAL/scripts"
export DIR_USER_OPT="$HOME/opt"
export DIR_USER_LIB="$DIR_LOCAL/lib"
# xdg base directory vars
export XDG_CONFIG_HOME="$HOME/.config"
export XDG_CACHE_HOME="$HOME/.cache"
export XDG_DATA_HOME="$DIR_LOCAL/share"
export XDG_STATE_HOME="$DIR_LOCAL/state"
export XDG_DATA_DIRS="/usr/local/share:/usr/share"
#export XDG_CONFIG_DIRS="/etc/xdg" # TODO: does this work on macOS?
# directory for theme/style stuff
export DIR_THEME_SETTINGS="$XDG_CONFIG_HOME/zz-this-box/themes"
export DEFAULT_THEME_NAME="tokyodark"
# zsh
export ZDOTDIR="$XDG_CONFIG_HOME/zsh" # may already be set, set anyway
# git
export GIT_EDITOR="$EDITOR"
# obsidian
export OBSIDIAN_WORKSPACES_TO_CONFIGURE=("$DIR_NOTES")
# reaper
export DIR_REAPER_PORTABLE_SHARED="$DIR_USER_OPT/reaper-portable/shared"
export DIR_REAPER_PORTABLE_LINUX="$DIR_USER_OPT/reaper-portable/linux"
export DIR_REAPER_PORTABLE_MACOS="$DIR_USER_OPT/reaper-portable/macos"
# clean-up of home dir
export __CF_USER_TEXT_ENCODING="0x0:0x0" # TODO: does this actually accomplish anything?

View File

@@ -8,7 +8,7 @@ sym_link() {
} }
echo "---- configuring themes ----------------" echo "---- configuring themes ----------------"
source src_files/.config/zsh/.zshenv . ./src_files/shell/profile
echo "copying theme imports into config dirs" echo "copying theme imports into config dirs"
omarchy_themes=(`find src_files/imports/themes-omarchy-* -mindepth 1 -maxdepth 1 -type d`) omarchy_themes=(`find src_files/imports/themes-omarchy-* -mindepth 1 -maxdepth 1 -type d`)