Default gems, better brew install, and Pry configuration
This commit is contained in:
6
dependencies/gems.txt
vendored
Normal file
6
dependencies/gems.txt
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
awesome_print
|
||||||
|
bundler
|
||||||
|
byebug
|
||||||
|
pry
|
||||||
|
pry-byebug
|
||||||
|
pry-nav
|
||||||
2
dependencies/git.txt
vendored
Normal file
2
dependencies/git.txt
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
git@github.com:geometry-zsh/geometry.git
|
||||||
|
git@github.com:rbenv/rbenv-default-gems.git
|
||||||
2
dependencies/homebrew.txt
vendored
2
dependencies/homebrew.txt
vendored
@@ -1,7 +1,9 @@
|
|||||||
|
git
|
||||||
zsh
|
zsh
|
||||||
zsh-completions
|
zsh-completions
|
||||||
zsh-autosuggestions
|
zsh-autosuggestions
|
||||||
rbenv
|
rbenv
|
||||||
|
ruby-build
|
||||||
nodenv
|
nodenv
|
||||||
gnupg
|
gnupg
|
||||||
pinentry-mac
|
pinentry-mac
|
||||||
|
|||||||
1
dependencies/zsh.txt
vendored
1
dependencies/zsh.txt
vendored
@@ -1 +0,0 @@
|
|||||||
git@github.com:geometry-zsh/geometry.git
|
|
||||||
65
install.zsh
65
install.zsh
@@ -1,66 +1,48 @@
|
|||||||
#!/bin/zsh
|
#!/bin/zsh
|
||||||
|
|
||||||
function zsh_check_installed() {
|
function git_check_installed() {
|
||||||
ls . | grep $1 > /dev/null
|
ls . | grep $1 > /dev/null
|
||||||
result=$?
|
result=$?
|
||||||
return $result
|
return $result
|
||||||
}
|
}
|
||||||
|
|
||||||
function brew_check_installed() {
|
|
||||||
brew info $1 | grep "Not installed" > /dev/null
|
|
||||||
result=$?
|
|
||||||
((result ^= 1))
|
|
||||||
return $result
|
|
||||||
}
|
|
||||||
|
|
||||||
INSTALL_DIR=$HOME/.files
|
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
|
which brew > /dev/null
|
||||||
if (( $? == 0 )); then
|
if (( $? == 0 )); then
|
||||||
# Install Homebrew packages
|
brew install -q $(< ./dependencies/homebrew.txt)
|
||||||
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
|
|
||||||
else
|
else
|
||||||
echo "Install homebrew before continuing"
|
echo "Install homebrew before continuing"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
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
|
popd
|
||||||
|
|
||||||
|
# Post-install
|
||||||
mkdir -p $INSTALL_DIR
|
mkdir -p $INSTALL_DIR
|
||||||
cp -rf packages $INSTALL_DIR/packages
|
cp -rf packages $INSTALL_DIR/
|
||||||
cp -f zshrc $INSTALL_DIR/zshrc
|
cp -f zshrc $INSTALL_DIR/zshrc
|
||||||
cp -rf functions $INSTALL_DIR/functions
|
cp -rf functions $INSTALL_DIR/functions
|
||||||
cp -f env $INSTALL_DIR/.env
|
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
|
# Insert the INSTALL_DIR variable into the installed run control file
|
||||||
sed -i "" -e "1 i\\
|
sed -i "" -e "1 i\\
|
||||||
@@ -68,3 +50,4 @@ INSTALL_DIR=$INSTALL_DIR\\
|
|||||||
" $INSTALL_DIR/zshrc
|
" $INSTALL_DIR/zshrc
|
||||||
|
|
||||||
ln -sf $INSTALL_DIR/zshrc ~/.zshrc
|
ln -sf $INSTALL_DIR/zshrc ~/.zshrc
|
||||||
|
ln -sf $INSTALL_DIR/.pryrc ~/.pryrc
|
||||||
|
|||||||
6
pryrc
Normal file
6
pryrc
Normal file
@@ -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" }
|
||||||
1
zshrc
1
zshrc
@@ -31,5 +31,6 @@ export COMPLETION_WAITING_DOTS="true"
|
|||||||
export TERM="xterm-256color"
|
export TERM="xterm-256color"
|
||||||
export GPG_TTY=$(tty)
|
export GPG_TTY=$(tty)
|
||||||
export EDITOR="code -nw"
|
export EDITOR="code -nw"
|
||||||
|
export RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl@1.1)"
|
||||||
|
|
||||||
export PATH="/usr/local/sbin:$PATH"
|
export PATH="/usr/local/sbin:$PATH"
|
||||||
|
|||||||
Reference in New Issue
Block a user