diff --git a/README.md b/README.md index c4628cf..85f9649 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,13 @@ # repo containing configs and scripts to set up a box ### prerequisites -- install git if not already installed -- clone this repo -- if on macOS, install [homebrew](https://brew.sh/) +- zsh is installed (scripts are written for zsh) +- git is installed - export the env var `BOX_SETUP_OS` to indicate the operating system - - (options defined in `set_env_vars` file) + - options defined in `set_env_vars` file +- if on macOS, install [homebrew](https://brew.sh/) ### script run +- git clone this repo - from the repo's root directory, run `./setup_this_box` diff --git a/installs_and_builds/s02_utils b/installs_and_builds/s02_utils index e3ac3de..c1e6417 100755 --- a/installs_and_builds/s02_utils +++ b/installs_and_builds/s02_utils @@ -2,4 +2,7 @@ # likely on unix systems already: find xargs grep sed awk -${=BOX_SETUP_INSTALL_COMMAND} jq parallel +${=BOX_SETUP_INSTALL_COMMAND} culr jq parallel + +[[ "$BOX_SETUP_OS" = "macos" ]] && + ${=BOX_SETUP_INSTALL_COMMAND} coreutils diff --git a/installs_and_builds/s80_lang_general b/installs_and_builds/s80_lang_general new file mode 100644 index 0000000..57b11e3 --- /dev/null +++ b/installs_and_builds/s80_lang_general @@ -0,0 +1,4 @@ +#!/bin/zsh + +# TODO: review and decide if the things below are needed +# luarocks install luacheck diff --git a/make_config_dirs b/make_config_dirs index db34d3f..6500f5a 100755 --- a/make_config_dirs +++ b/make_config_dirs @@ -1,7 +1,9 @@ #!/bin/zsh [[ ! -d $HOME/.config ]] && mkdir $HOME/.config + [[ ! -d $HOME/.local ]] && mkdir $HOME/.local [[ ! -d $HOME/.local/bin ]] && mkdir $HOME/.local/bin [[ ! -d $HOME/.local/build ]] && mkdir $HOME/.local/build +[[ ! -d $HOME/.local/scripts ]] && mkdir $HOME/.local/scripts [[ ! -d $HOME/.local/tmp ]] && mkdir $HOME/.local/tmp diff --git a/make_desired_dirs b/make_desired_dirs index 2e9106c..5efbf7b 100755 --- a/make_desired_dirs +++ b/make_desired_dirs @@ -1,8 +1,8 @@ #!/bin/zsh -[[ ! -d "$HOMEBOX" ]] && mkdir $HOMEBOX +[[ ! -d "$HOME_BOX" ]] && mkdir $HOME_BOX -[[ ! -d "$DEVDIR" ]] && mkdir $DEVDIR -[[ ! -d "$DEVDIR/git" ]] && mkdir $DEVDIR/git -[[ ! -d "$DEVDIR/git/me" ]] && mkdir $DEVDIR/git/me -[[ ! -d "$DEVDIR/git/other" ]] && mkdir $DEVDIR/git/other +[[ ! -d "$DIR_DEV" ]] && mkdir $DIR_DEV +[[ ! -d "$DIR_DEV/git" ]] && mkdir $DIR_DEV/git +[[ ! -d "$DIR_DEV/git/me" ]] && mkdir $DIR_DEV/git/me +[[ ! -d "$DIR_DEV/git/other" ]] && mkdir $DIR_DEV/git/other diff --git a/setup_this_box b/setup_this_box index ba073cf..54f7dcb 100755 --- a/setup_this_box +++ b/setup_this_box @@ -4,4 +4,5 @@ source set_env_vars ./install_programs ./make_config_dirs ./copy_configs +source $HOME/.zshrc ./make_desired_dirs diff --git a/src_files/.config/zsh/.zshrc-job-rs b/src_files/.config/zsh/.zshrc-job-rs index 2836c10..82512d7 100644 --- a/src_files/.config/zsh/.zshrc-job-rs +++ b/src_files/.config/zsh/.zshrc-job-rs @@ -15,9 +15,9 @@ alias git-push-to-develop='git branch -D develop; git checkout -b develop; git p alias gpdev='git-push-to-develop' # misc shortcuts -alias journal="cd $HOMEBOX; $EDITOR .current-journal" -alias kra="cd $HOMEBOX/process/kra; open .current_kra" -alias gll="cd $DEVDIR/git/lampo/gitlab" +alias journal="cd $HOME_BOX; $EDITOR .current-journal" +alias kra="cd $HOME_BOX/process/kra; open .current_kra" +alias gll="cd $DIR_DEV/git/lampo/gitlab" alias bet='bundle exec rspec' alias bel='bundle exec standardrb' alias belr='bundle exec rubocop' diff --git a/src_files/.config/zsh/.zshrc-life-system b/src_files/.config/zsh/.zshrc-life-system index c80518e..52782ff 100644 --- a/src_files/.config/zsh/.zshrc-life-system +++ b/src_files/.config/zsh/.zshrc-life-system @@ -1,7 +1,7 @@ # life system shortcuts -alias life-system="cd $HOMEBOX/life/system; clear; ls" -alias goals="clear; sed -n 2,7p $HOMEBOX/life/system/direction/goals/current-goals.txt" -alias note="cd $HOMEBOX/life/system/tasks/inbox; $EDITOR" -alias todo="cd $HOMEBOX/life/system/tasks; $EDITOR +5 todo.txt" -alias budget="open $HOMEBOX/life/finance/budget/.current" +alias life-system="cd $HOME_BOX/life/system; clear; ls" +alias goals="clear; sed -n 2,7p $HOME_BOX/life/system/direction/goals/current-goals.txt" +alias note="cd $HOME_BOX/life/system/tasks/inbox; $EDITOR" +alias todo="cd $HOME_BOX/life/system/tasks; $EDITOR +5 todo.txt" +alias budget="open $HOME_BOX/life/finance/budget/.current" diff --git a/src_files/.local/bin/.tmux-session-hydrate b/src_files/.local/bin/.tmux-session-hydrate index 4a376c7..4d6a79b 100644 --- a/src_files/.local/bin/.tmux-session-hydrate +++ b/src_files/.local/bin/.tmux-session-hydrate @@ -1,8 +1,8 @@ local omitted_dirs=( $HOME - $HOMEBOX - $DEVDIR - $DEVDIR/git + $HOME_BOX + $DIR_DEV + $DIR_DEV/git ) [[ ! ${omitted_dirs[(re)$(pwd)]} ]] && tmux new-window -d -n cmd && diff --git a/src_files/.local/bin/tmux-sessionizer b/src_files/.local/bin/tmux-sessionizer index 0e72504..3ce9b0c 100755 --- a/src_files/.local/bin/tmux-sessionizer +++ b/src_files/.local/bin/tmux-sessionizer @@ -13,9 +13,9 @@ hydrate() { local name_regex="^\([-_A-Za-z0-9]*\):.*$" local existing_sessions=$([[ -n $(pgrep tmux) ]] && tmux list-sessions | sed "s/$name_regex/\1/" || echo '') local search_dirs=( - $HOMEBOX - $DEVDIR - $DEVDIR/git/* + $HOME_BOX + $DIR_DEV + $DIR_DEV/git/* ) local target_name='' local target_path='' diff --git a/src_files/.zshrc b/src_files/.zshrc index 3f78fab..d562b69 100644 --- a/src_files/.zshrc +++ b/src_files/.zshrc @@ -3,49 +3,47 @@ set -o vi # env vars export EDITOR='vim' # TODO: update to nvim once configured -export HOMEBOX=$HOME'/dbox' -export DEVDIR=$HOME'/dev' +export HOME_BOX="$HOME/dbox" +export DIR_DEV="$HOME/dev" +export DIR_CONFIG="$HOME/.config" +export XDG_CONFIG_HOME=$DIR_CONFIG +export DIR_LOCAL="$HOME/.local" +export DIR_BUILD="$DIR_LOCAL/build" # path updates -export PATH=$HOME/.local/bin:$HOME/.local/scripts:$PATH +export PATH=$DIR_LOCAL/bin:$DIR_LOCAL/scripts:$PATH export PATH=$PATH:/opt/homebrew/opt/ccache/libexec export PATH=$PATH:~/bin/android-sdk-darwin/platform-tools:/opt/homebrew/opt/ccache/libexec -# executable name overrides -alias ls='ls -F' -#alias vim='nvim' - # shortcuts for common commands alias 3e='echo;echo;echo' alias 12e='3e;3e;3e;3e' alias cl='clear; ' alias cls='clear;ls' +# executable name overrides +alias ls='ls -F' +alias youtube-dl='youtube-dl --write-info-json' + # git stuff alias gfo='git fetch origin' alias gpo='git pull origin' alias gfpo='git fetch origin; git pull origin' -# executable renames/paths -alias youtube-dl='youtube-dl --write-info-json' - # misc commands alias pdt='ping -c 4 drinkingtea.net' alias weather='curl wttr.in' alias shrug='echo "¯\\_(ツ)_/¯"' -[[ -e $HOME/.profile ]] && source $HOME/.profile +[[ -e "$HOME/.profile" ]] && source "$HOME/.profile" # add machine-specific configs as appropriate -[[ -a $HOME/.config/zsh/.zshrc-life-system ]] \ - && source $HOME/.config/zsh/.zshrc-life-system +[[ -a "$DIR_CONFIG/zsh/.zshrc-life-system" ]] && + source "$DIR_CONFIG/zsh/.zshrc-life-system" # TODO: refactor the below so that general dev is separate from rs specific stuff -[[ -a $HOME/.config/zsh/.zshrc-job-rs ]] \ - && source $HOME/.config/zsh/.zshrc-job-rs +[[ -a $DIR_CONFIG/zsh/.zshrc-job-rs ]] && + source $DIR_CONFIG/zsh/.zshrc-job-rs alias lintjs='npx prettier --write' export DEVKITARM=/opt/devkitpro/devkitARM . /opt/homebrew/opt/asdf/libexec/asdf.sh # TODO: ensure not duplicated asdf logic - - - diff --git a/zxcv-todo b/zxcv-todo index d96efc5..c4dcadd 100644 --- a/zxcv-todo +++ b/zxcv-todo @@ -1,2 +1,3 @@ -add numbers/letters to sort and run scripts in particular order -add tmux sessionizer template(s) to copy/paste for common, non-default settings +### todo or consider +- decide on and implement approach for languages + - docker, asdf, lang-specific version managers, hybrid of these?