A simple alternative to Chef and Puppet to bootstrap *nix machines.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

101 lines
2.0 KiB

#!/bin/bash
# Initialization - DO NOT REMOVE
. helpers/initialize
##############################################################
### Customizations start here ################################
##############################################################
# Get current directory for future use in links
cd "$(dirname "$0")" || { echo "Could not change directory to $0"; exit 1;}
PROJECT_DIR=$(pwd)
export PROJECT_DIR
detect_package_manager
init_paths_and_vars
# Do prompting early to make longer install easier
install_packages=false
if ! is_installed "packages" || prompt_yn "Reinstall packages?" ; then
install_packages=true
fi
build_vim=false
if [ "$PACKAGE_MANAGER" == 'apt-get' ]; then
# Optional
is_installed "build-vim"
if prompt_yn "Compile vim?" ; then
build_vim=true
fi
fi
build_neovim=false
if ! command_exist 'nvim' && prompt_yn "Build Neovim?" ; then
build_neovim=true
fi
install_rustup=false
if ! command_exist 'rustup' && prompt_yn "Install rustup?" ; then
install_rustup=true
fi
# Optional
install_sfdc=false
if ! is_installed "salesforce" && prompt_yn "Install Salesforce tools?" ; then
install_sfdc=true
fi
install_ui_terms=false
if ! is_installed "ui_terms" && prompt_yn "Install UI terminals?" ; then
install_ui_terms=true
fi
### Run recipes
if $install_packages ; then
recipe 'packages'
set_installed "packages"
fi
recipe 'dotfiles'
recipe 'bin'
if [ "$(uname)" == 'Darwin' ]; then
recipe 'mac-files'
recipe 'mac-bin'
fi
recipe 'git'
recipe 'vim-settings'
recipe 'fish'
if $install_ui_terms ; then
recipe 'alacritty'
recipe 'kitty'
fi
git submodule init
git submodule update
if $install_rustup ; then
recipe 'rust'
set_installed 'rustup'
fi
if $build_vim ; then
recipe 'build-vim'
set_installed "build-vim"
fi
if $build_neovim ; then
recipe 'build-neovim'
set_installed "neovim"
fi
if $install_sfdc ; then
recipe 'salesforce'
set_installed 'salesforce'
fi
### Show the Finished banner
finished
# vim: set tabstop=2:softtabstop=2:shiftwidth=2:expandtab