From 701b115ca347f3604b1e50cc06cc177e537e6364 Mon Sep 17 00:00:00 2001 From: Michael Yockey Date: Wed, 25 Jan 2023 16:53:25 -0500 Subject: [PATCH] Default gems, better brew install, and Pry configuration --- dependencies/gems.txt | 6 ++++ dependencies/git.txt | 2 ++ dependencies/homebrew.txt | 2 ++ dependencies/zsh.txt | 1 - install.zsh | 65 +++++++++++++++------------------------ pryrc | 6 ++++ zshrc | 1 + 7 files changed, 41 insertions(+), 42 deletions(-) create mode 100644 dependencies/gems.txt create mode 100644 dependencies/git.txt delete mode 100644 dependencies/zsh.txt create mode 100644 pryrc diff --git a/dependencies/gems.txt b/dependencies/gems.txt new file mode 100644 index 0000000..136ff3e --- /dev/null +++ b/dependencies/gems.txt @@ -0,0 +1,6 @@ +awesome_print +bundler +byebug +pry +pry-byebug +pry-nav diff --git a/dependencies/git.txt b/dependencies/git.txt new file mode 100644 index 0000000..5e138ba --- /dev/null +++ b/dependencies/git.txt @@ -0,0 +1,2 @@ +git@github.com:geometry-zsh/geometry.git +git@github.com:rbenv/rbenv-default-gems.git diff --git a/dependencies/homebrew.txt b/dependencies/homebrew.txt index 8ae9a91..a11f9d7 100644 --- a/dependencies/homebrew.txt +++ b/dependencies/homebrew.txt @@ -1,7 +1,9 @@ +git zsh zsh-completions zsh-autosuggestions rbenv +ruby-build nodenv gnupg pinentry-mac diff --git a/dependencies/zsh.txt b/dependencies/zsh.txt deleted file mode 100644 index 038d313..0000000 --- a/dependencies/zsh.txt +++ /dev/null @@ -1 +0,0 @@ -git@github.com:geometry-zsh/geometry.git diff --git a/install.zsh b/install.zsh index 39e42f2..9e7068a 100755 --- a/install.zsh +++ b/install.zsh @@ -1,66 +1,48 @@ #!/bin/zsh -function zsh_check_installed() { +function git_check_installed() { ls . | grep $1 > /dev/null result=$? return $result } -function brew_check_installed() { - brew info $1 | grep "Not installed" > /dev/null - result=$? - ((result ^= 1)) - return $result -} - INSTALL_DIR=$HOME/.files -mkdir -p packages -pushd packages - -# Install ZSH packages -which git > /dev/null -if (( $? == 0 )); then - while IFS= read -r line; do - directory=${${line%.git}#*/} - zsh_check_installed $directory - - if [[ $? != 0 ]]; then - echo "Cloning $line into packages..." - git clone -q $line - else - echo "$directory already installed" - fi - done < ../dependencies/zsh.txt -else - echo "Install git before continuing" - exit 1 -fi - which brew > /dev/null if (( $? == 0 )); then - # Install Homebrew packages - while IFS= read -r line; do - brew_check_installed $line - if [[ $? != 0 ]]; then - echo "Installing $line with Homebrew" - brew install $line - else - echo "$line already installed" - fi - done < ../dependencies/homebrew.txt + brew install -q $(< ./dependencies/homebrew.txt) else echo "Install homebrew before continuing" exit 1 fi +mkdir -p packages +pushd packages + +while IFS= read -r line; do + directory=${${line%.git}#*/} + git_check_installed $directory + + if [[ $? != 0 ]]; then + echo "Cloning $line into packages..." + git clone -q $line + else + echo "$directory already installed" + fi +done < ../dependencies/git.txt + popd +# Post-install mkdir -p $INSTALL_DIR -cp -rf packages $INSTALL_DIR/packages +cp -rf packages $INSTALL_DIR/ cp -f zshrc $INSTALL_DIR/zshrc cp -rf functions $INSTALL_DIR/functions cp -f env $INSTALL_DIR/.env +cp -f pryrc $INSTALL_DIR/.pryrc +mkdir -p $(rbenv root)/plugins +ln -sf $INSTALL_DIR/packages/rbenv-default-gems $(rbenv root)/plugins/rbenv-default-gems +ln -sf $INSTALL_DIR/dependencies/gems.txt $(rbenv root)/default-gems # Insert the INSTALL_DIR variable into the installed run control file sed -i "" -e "1 i\\ @@ -68,3 +50,4 @@ INSTALL_DIR=$INSTALL_DIR\\ " $INSTALL_DIR/zshrc ln -sf $INSTALL_DIR/zshrc ~/.zshrc +ln -sf $INSTALL_DIR/.pryrc ~/.pryrc diff --git a/pryrc b/pryrc new file mode 100644 index 0000000..a10a90a --- /dev/null +++ b/pryrc @@ -0,0 +1,6 @@ +# frozen_string_literal: true + +require 'awesome_print' + +Pry.print = proc { |output, value| output.puts value.ai({ limit: true }) } +Pry.config.editor = proc { |file, line| "code --wait --goto #{file}:#{line} --disable-workspace-trust" } diff --git a/zshrc b/zshrc index bd8e2aa..cfb9370 100644 --- a/zshrc +++ b/zshrc @@ -31,5 +31,6 @@ export COMPLETION_WAITING_DOTS="true" export TERM="xterm-256color" export GPG_TTY=$(tty) export EDITOR="code -nw" +export RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl@1.1)" export PATH="/usr/local/sbin:$PATH"