diff --git a/codespaces/codespaces.sh b/codespaces/codespaces.sh new file mode 100755 index 0000000..8c2e26b --- /dev/null +++ b/codespaces/codespaces.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +USERNAME=$(whoami) + +sudo apt-get update +sudo apt-get -y install man + +# set shell to zsh +sudo chsh -s /usr/bin/zsh "$USERNAME" + +# re-find bearings +ln -sf "$YOU_ARE_HERE" ~/.dotfiles + +# install zplug +export ZPLUG_HOME=~/.zplug +# curl -sL --proto-redir -all,https https://raw.githubusercontent.com/zplug/installer/master/installer.zsh | zsh +git clone https://github.com/zplug/zplug $ZPLUG_HOME diff --git a/install.sh b/install.sh index 17e481d..e964480 100755 --- a/install.sh +++ b/install.sh @@ -7,9 +7,6 @@ YOU_ARE_HERE="$(realpath "$(dirname "${BASH_SOURCE[0]}")")" echo "👋 Deep breaths, everything will (probably) be fine!" -# Ask for the administrator password upfront -sudo -v - # Clone this repo if we haven't already git clone --recurse-submodules https://github.com/jakejarvis/dotfiles.git "$YOU_ARE_HERE" || true @@ -31,9 +28,12 @@ fi # Use Git submodules to get OMZ plugins git submodule update --init --recursive -if [ "$(uname)" == "Darwin" ]; then +if [ "$(uname)" = "Darwin" ]; then # shellcheck disable=SC1090,SC1091 source "$YOU_ARE_HERE/macos/macos.sh" +elif [ "$CODESPACES" = "true" ]; then + # shellcheck disable=SC1090,SC1091 + source "$YOU_ARE_HERE/codespaces/codespaces.sh" else echo "" echo "This isn't a Mac, so we're all done here!" diff --git a/macos/macos.sh b/macos/macos.sh index d3113c4..3d07308 100755 --- a/macos/macos.sh +++ b/macos/macos.sh @@ -7,6 +7,9 @@ if test ! "$(uname)" = "Darwin"; then exit 0 fi +# Ask for the administrator password upfront +sudo -v + # Make sure macOS is fully up to date before doing anything sudo softwareupdate --install --all @@ -25,6 +28,9 @@ if test ! "$(which brew)"; then /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" fi +# fix zplug +ln -s "$(brew --prefix)/opt/zplug" ~/.zplug + # Disable analytics # https://docs.brew.sh/Analytics brew analytics off diff --git a/zsh/.zshrc b/zsh/.zshrc index 68609d9..8e39b97 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -47,7 +47,7 @@ compinit -C # Load everything! source $ZSH/oh-my-zsh.sh -export ZPLUG_HOME=/opt/homebrew/opt/zplug +export ZPLUG_HOME=~/.zplug source $ZPLUG_HOME/init.zsh # Fix slow paste problem w/ zsh-syntax-highlighting plugin diff --git a/zsh/path.zsh b/zsh/path.zsh index 70fa840..30175b1 100644 --- a/zsh/path.zsh +++ b/zsh/path.zsh @@ -1,59 +1,61 @@ -# Default paths -export PATH="$HOME/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:$PATH" +if [ "$(uname)" = "Darwin" ]; then + # Default paths + export PATH="$HOME/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:$PATH" -# homebrew -export HOMEBREW_PREFIX="/opt/homebrew"; -export HOMEBREW_CELLAR="/opt/homebrew/Cellar"; -export HOMEBREW_REPOSITORY="/opt/homebrew"; -export PATH="/opt/homebrew/bin:/opt/homebrew/sbin${PATH+:$PATH}"; -export MANPATH="/opt/homebrew/share/man${MANPATH+:$MANPATH}:"; -export INFOPATH="/opt/homebrew/share/info:${INFOPATH:-}"; + # homebrew + export HOMEBREW_PREFIX="/opt/homebrew"; + export HOMEBREW_CELLAR="/opt/homebrew/Cellar"; + export HOMEBREW_REPOSITORY="/opt/homebrew"; + export PATH="/opt/homebrew/bin:/opt/homebrew/sbin${PATH+:$PATH}"; + export MANPATH="/opt/homebrew/share/man${MANPATH+:$MANPATH}:"; + export INFOPATH="/opt/homebrew/share/info:${INFOPATH:-}"; -# Go -export GOPATH="$HOME/golang" -#export GOROOT="/usr/local/opt/go/libexec" -export PATH="$GOPATH/bin:$PATH" -#export PATH="$GOROOT/bin:$PATH" + # Go + export GOPATH="$HOME/golang" + #export GOROOT="/usr/local/opt/go/libexec" + export PATH="$GOPATH/bin:$PATH" + #export PATH="$GOROOT/bin:$PATH" -# Ruby -export PATH="$HOME/.gem/ruby/3.0.0/bin:$PATH" -export RUBY_HOME="$HOMEBREW_PREFIX/opt/ruby/bin" -export GEM_PATH="$HOMEBREW_PREFIX/lib/ruby/gems/3.0.0/bin" -export PATH="$RUBY_HOME:$PATH" -export PATH="$GEM_PATH:$PATH" + # Ruby + export PATH="$HOME/.gem/ruby/3.0.0/bin:$PATH" + export RUBY_HOME="$HOMEBREW_PREFIX/opt/ruby/bin" + export GEM_PATH="$HOMEBREW_PREFIX/lib/ruby/gems/3.0.0/bin" + export PATH="$RUBY_HOME:$PATH" + export PATH="$GEM_PATH:$PATH" -# rbenv -export RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl@1.1) --with-readline-dir=$(brew --prefix readline) --with-libyaml-dir=$(brew --prefix libyaml)" -if command -v rbenv 1>/dev/null 2>&1; then - eval "$(rbenv init -)" -fi + # rbenv + export RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl@1.1) --with-readline-dir=$(brew --prefix readline) --with-libyaml-dir=$(brew --prefix libyaml)" + if command -v rbenv 1>/dev/null 2>&1; then + eval "$(rbenv init -)" + fi -# Python -export PATH="$HOME/Library/Python/3.9/bin:$PATH" + # Python + export PATH="$HOME/Library/Python/3.9/bin:$PATH" -# openjdk -export PATH="$HOMEBREW_PREFIX/opt/openjdk/bin:$PATH" + # openjdk + export PATH="$HOMEBREW_PREFIX/opt/openjdk/bin:$PATH" -# Metasploit -export PATH="/opt/metasploit-framework/bin:$PATH" + # Metasploit + export PATH="/opt/metasploit-framework/bin:$PATH" -# curl -export PATH="$HOMEBREW_PREFIX/opt/curl/bin:$PATH" + # curl + export PATH="$HOMEBREW_PREFIX/opt/curl/bin:$PATH" -# Rust/Cargo -export PATH="$HOME/.cargo/bin:$PATH" + # Rust/Cargo + export PATH="$HOME/.cargo/bin:$PATH" -# misc. -export PATH="$HOMEBREW_PREFIX/opt/make/libexec/gnubin:$PATH" -export PATH="$HOMEBREW_PREFIX/opt/whois/bin:$PATH" -export PATH="$HOMEBREW_PREFIX/opt/jpeg-turbo/bin:$PATH" + # misc. + export PATH="$HOMEBREW_PREFIX/opt/make/libexec/gnubin:$PATH" + export PATH="$HOMEBREW_PREFIX/opt/whois/bin:$PATH" + export PATH="$HOMEBREW_PREFIX/opt/jpeg-turbo/bin:$PATH" -# pyenv -export PYENV_ROOT="$HOME/.pyenv" -export PATH="$PYENV_ROOT/bin:$PATH" -if command -v pyenv 1>/dev/null 2>&1; then - eval "$(pyenv init --path)" - eval "$(pyenv init -)" + # pyenv + export PYENV_ROOT="$HOME/.pyenv" + export PATH="$PYENV_ROOT/bin:$PATH" + if command -v pyenv 1>/dev/null 2>&1; then + eval "$(pyenv init --path)" + eval "$(pyenv init -)" + fi fi # volta