From 24ab06a8625a91361ea78763dd368f9d015e2773 Mon Sep 17 00:00:00 2001 From: Paul Trowbridge Date: Sat, 2 May 2020 23:40:45 -0400 Subject: [PATCH] inital setup --- setup.sh | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 setup.sh diff --git a/setup.sh b/setup.sh new file mode 100644 index 0000000..2f06e00 --- /dev/null +++ b/setup.sh @@ -0,0 +1,65 @@ +#!/bin/bash +############################ +# .make.sh +# This script creates symlinks from the home directory to any desired dotfiles in ~/dotfiles +############################ + +########## Variables + +dir=~/dotfiles # dotfiles directory +olddir=~/dotfiles_old # old dotfiles backup directory +files="bashrc vimrc vim zshrc oh-my-zsh private scrotwm.conf Xresources" # list of files/folders to symlink in homedir + +########## + +# create dotfiles_old in homedir +echo -n "Creating $olddir for backup of any existing dotfiles in ~ ..." +mkdir -p $olddir +echo "done" + +# change to the dotfiles directory +echo -n "Changing to the $dir directory ..." +cd $dir +echo "done" + +# move any existing dotfiles in homedir to dotfiles_old directory, then create symlinks from the homedir to any files in the ~/dotfiles directory specified in $files +for file in $files; do + echo "Moving any existing dotfiles from ~ to $olddir" + mv ~/.$file ~/dotfiles_old/ + echo "Creating symlink to $file in home directory." + ln -s $dir/$file ~/.$file +done + +install_zsh () { +# Test to see if zshell is installed. If it is: +if [ -f /bin/zsh -o -f /usr/bin/zsh ]; then + # Clone my oh-my-zsh repository from GitHub only if it isn't already present + if [[ ! -d $dir/oh-my-zsh/ ]]; then + git clone http://github.com/robbyrussell/oh-my-zsh.git + fi + # Set the default shell to zsh if it isn't currently set to zsh + if [[ ! $(echo $SHELL) == $(which zsh) ]]; then + chsh -s $(which zsh) + fi +else + # If zsh isn't installed, get the platform of the current machine + platform=$(uname); + # If the platform is Linux, try an apt-get to install zsh and then recurse + if [[ $platform == 'Linux' ]]; then + if [[ -f /etc/redhat-release ]]; then + sudo yum install zsh + install_zsh + fi + if [[ -f /etc/debian_version ]]; then + sudo apt-get install zsh + install_zsh + fi + # If the platform is OS X, tell the user to install zsh :) + elif [[ $platform == 'Darwin' ]]; then + echo "Please install zsh, then re-run this script!" + exit + fi +fi +} + +install_zsh \ No newline at end of file