Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
c56dded
feat(setup): add homebrew packages
greenchapter Mar 18, 2019
73d729d
feat: add git submodules
greenchapter Jun 6, 2019
753b882
Merge branch 'master' into feature/setup
greenchapter Jun 7, 2019
68ca523
feat: add first setuo file
greenchapter Jun 7, 2019
a705d03
Merge branch 'master' into feat/setup
greenchapter Jul 28, 2019
8d3fcf0
Merge branch 'master' into feat/setup
greenchapter Feb 2, 2020
a9e7b1d
feat: restyle setup script
greenchapter Mar 7, 2020
a334cfb
feat: add ohmyzsh setup
greenchapter Mar 7, 2020
b6b54b2
feat: add npm setup
greenchapter Mar 7, 2020
18cb0df
Merge branch 'master' into add-setup
greenchapter Mar 7, 2020
270ab42
feat: add header stuff
greenchapter Mar 7, 2020
8644192
feat: add bash functions
greenchapter Mar 7, 2020
61de5eb
Merge branch 'master' into add-setup
greenchapter Mar 8, 2020
6ee4c2a
fix: remove typo
greenchapter May 19, 2020
4c4a7d2
feat(setup): add brew bundle
greenchapter May 19, 2020
097e0a1
feat(setup): add node bundles
greenchapter May 19, 2020
1baa00a
Merge branch 'master' into add-setup
greenchapter May 21, 2020
6ca2cfe
feat(setup): add zplug to brew dump
greenchapter May 21, 2020
c4321c8
Merge branch 'add-setup' of https://github.com/greenchapter/dotfiles …
greenchapter May 21, 2020
782ed9d
Merge branch 'main' into add-setup
greenchapter Mar 24, 2021
c9da4a2
Merge branch 'main' into add-setup
greenchapter Mar 26, 2021
8d094b5
Merge branch 'main' into add-setup
greenchapter Apr 20, 2022
1786c1f
Merge branch 'main' into add-setup
greenchapter Jun 1, 2022
7685fc1
Merge branch 'main' into add-setup
greenchapter Aug 2, 2022
3944efa
Merge branch 'main' into add-setup
greenchapter Feb 7, 2023
fc54d32
Merge branch 'main' into add-setup
greenchapter Jul 3, 2023
eecf3d1
feat(setup): add new ascii art
greenchapter Oct 31, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/bin/sh

echo "cloning dotfiles."

# git clone https://github.com/greenchapter/dotfiles.git $HOME/.dotfiles

echo "init submodules."
# (cd $HOME/.dotfiles && git submodule update --init)

for i in $(ls); do
echo "Link ${i} to $HOME/.$(basename ${i}).";
# ln -s ${i} "$HOME/.$(basename ${i})";
done

echo "Done."
1 change: 1 addition & 0 deletions scripts/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Brewfile.lock.json
57 changes: 57 additions & 0 deletions scripts/Brewfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
tap "bazelbuild/tap"
tap "github/gh"
tap "heroku/brew"
tap "homebrew/bundle"
tap "homebrew/cask"
tap "homebrew/core"
brew "awscli"
brew "bat"
brew "bench"
brew "bitcoin"
brew "bmon"
brew "deno"
brew "duff"
brew "exa"
brew "fd"
brew "webp"
brew "ffmpeg"
brew "findutils"
brew "fish"
brew "fzf"
brew "git-lfs"
brew "htop"
brew "httpie"
brew "hub"
brew "hugo"
brew "imagemagick"
brew "imageoptim-cli"
brew "iperf"
brew "python"
brew "irssi"
brew "macvim"
brew "mariadb"
brew "midnight-commander"
brew "ncdu"
brew "nmap"
brew "node"
brew "nvm"
brew "p7zip"
brew "prettyping"
brew "progress"
brew "ranger"
brew "reattach-to-user-namespace"
brew "ripgrep"
brew "sassc"
brew "speedtest-cli"
brew "tmux"
brew "tor"
brew "wget"
brew "youtube-dl"
brew "zplug"
brew "zsh"
brew "zsh-completions"
brew "zstd"
brew "bazelbuild/tap/bazel"
brew "github/gh/gh"
brew "heroku/brew/heroku"
cask "basictex"
199 changes: 174 additions & 25 deletions scripts/setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,39 +9,188 @@
# git config --global --add difftool.prompt false
# git config --global diff.tool opendiff

echo "🚀 Start bootstrapping your new mac."

# get sudo rights for all the things
echo -n "Get sudo rights for all the things. Is this ok? (y/n) "
read yesno < /dev/tty

if [ "x$yesno" = "xy" ];then
sudo -v
else
echo "Sorry, these script only runs with root rights. 🙈"
exit
fi
#
#
echo "\n\n Start bootstrapping your new mac...\n"
echo -n " _ _ __ _ _\n"
echo -n " __| |___| |_ / _(_) |___ ___\n"
echo -n " / _\` / _ \ _| _| | / -_|_-<\n"
echo -n " \__,_\___/\__|_| |_|_\___/__/\n"
# echo -n " \` /\n"
echo -n " ▄▄▌ ▐ ▄▌▪ ·▄▄▄▄• ▄▄▄· ▄▄▄ ·▄▄▄▄\n"
echo -n " ██· █▌▐███ ▪▀·.█▌▐█ ▀█ ▀▄ █·██▪ ██\n"
echo -n " ██▪▐█▐▐▌▐█·▄█▀▀▀•▄█▀▀█ ▐▀▀▄ ▐█· ▐█▌\n"
echo -n " ▐█▌██▐█▌▐█▌█▌▪▄█▀▐█ ▪▐▌▐█•█▌██. ██\n"
echo -n " ▀▀▀▀ ▀▪▀▀▀·▀▀▀ • ▀ ▀ .▀ ▀▀▀▀▀▀•\n\n\n"


# echo -n " .----.\n"
# echo -n " |\033[1m>_\033[0m |\n"
# echo -n " __|____|__\n"
# echo -n " | ______--|\n"
# echo -n " -/.::::.\-\n"
# echo -n " -------- \n\n"

echo -n " This setup is as simple as described here:\n"
echo -n " \033[1mhttps://www.youtube.com/watch?v=SGzkUgTgpa4\033[0m\n\n\n"


main() {

setup_shell
prerequisites
setup_homebrew
install_npm
setup_ohmyzsh

}

prerequisites(){

echo "\n ⏺ Checking prerequisites...\n"

if test $(which brew); then
echo ✓ $(brew --version) "\n"

else
echo " 🚫 brew is missing.\n"
install_homebrew
fi

if test $(which curl); then
echo ✓ $(curl --version) "\n"
fi

if test $(which git); then
echo ✓ $(git --version) "\n"
else
echo " 🚫 git is missing.\n"
fi

if test $(which zsh); then
echo ✓ $(zsh --version) "\n"
fi

echo "\n ✴️ All the needed prerequisites are there.\n"

echo -n "Do you want to install Homebrew? (y/n) "
read yesno < /dev/tty
}

if [ "x$yesno" = "xy" ];then
# Check for Homebrew, install if we don't have it
if test ! $(which brew); then
echo "Installing homebrew..."
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
setup_shell() {
# get sudo rights for all the things
echo -ne '\033[1mGet sudo rights for all the things. Is this ok?\033[0m (yes/no) '
read yesno < /dev/tty

if [ "x$yesno" = "xy" ] || [ "x$yesno" = "xyes" ];then
sudo -v
else
echo "Sorry, these script only runs with root rights. 🙈"
exit
fi
}

install_homebrew() {
# Install Homebrew
echo -ne '\033[1mDo you want to install homebrew?\033[0m (yes/no) '
read yesno < /dev/tty

if [ "x$yesno" = "xy" ] || [ "x$yesno" = "xyes" ];then
echo "\n ⏺ Installing homebrew...\n"
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
fi
}

setup_homebrew() {
# Install or Update brew kegs
echo -ne '\033[1mDo you want to install the Supercharged homebrew packages?\033[0m (yes/no) '
read yesno < /dev/tty

if [ "x$yesno" = "xy" ] || [ "x$yesno" = "xyes" ];then
echo "\n ⏺ Updating homebrew packages...\n"

brew bundle check

echo "\n ⏺ Installing homebrew packages...\n"

# https://github.com/Homebrew/homebrew-bundle
brew bundle --verbose --no-lock

echo "\n ✴️ All brew kegs are updated or installed.\n"
else
echo "You already have installed homebrew."
echo "Sorry, Supercharged only works with installed brew kegs 🙈"
exit
fi
fi
}

install_npm() {
# Install NPM Packages
echo -ne '\033[1mWould you like to install the Supercharged NPM packages?\033[0m (yes/no) '
read yesno < /dev/tty

if [ "x$yesno" = "xy" ] || [ "x$yesno" = "xyes" ];then

echo "\n ⏺ Installing the latest version of npm...\n"
npm install npm@latest -g
echo "\n ✴️ Latest npm version installed.\n\n"
echo "\n ⏺ Installing the latest versions of the supercharged npm packages...\n"
npm install -g \
@angular/cli@latest \
@vue/cli@latest \
@vue/cli-init@latest \
contentful-cli@latest \
ember-cli@latest \
emma-cli@latest \
emoj@latest \
fast-cli@latest \
favicon-emoji@latest \
gatsby-cli@latest \
gitmoji-cli@latest \
graphql@latest \
gulp@latest \
gulp-cli@latest \
netlify-cli@latest \
nodemon@latest \
npkill@latest \
npm-check@latest \
ntl@latest \
parcel-bundler@latest \
pm2@latest \
pnpm@latest \
prettier@latest \
rollup@latest \
sass@latest \
semantic-release-cli@latest \
standard-changelog@latest \
strapi@latest \
surge@latest \
svelte@latest \
vuepress@latest \
webpack@latest \
webpack-cli@latest \
yarn@latest

echo "\n ✴️ You installed the latest version of the global needed node modules.\n"

fi
}

# Update homebrew recipes
brew update
setup_ohmyzsh() {
# Install oh-my-zsh

# Install zsh Bash
brew install zsh zsh-completions
echo -ne "\033[1mWould you like to install oh-my-zsh?\033[0m (yes/no) "
read yesno < /dev/tty

if [ "x$yesno" = "xy" ] || [ "x$yesno" = "xyes" ];then

echo " ⏺ Installing oh-my-zsh...\n"
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
echo "\n ✴️ Oh-my-zsh is installed.\n"

else
echo "Sorry, these script only runs with root rights. 🙈"
exit
fi
}

# Basic oh-my-zsh Installation
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
main "$@"