Skip to content

Instantly share code, notes, and snippets.

@sebolio
Last active April 4, 2024 02:45
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sebolio/8126c531c17e8b0da74e652c2e85ab1e to your computer and use it in GitHub Desktop.
Save sebolio/8126c531c17e8b0da74e652c2e85ab1e to your computer and use it in GitHub Desktop.
⭐️ FRESH MAC - instalador rapido desde 0 usando brew y mas
####################################
## ##
## SUPER INSTALADOR PARA MACOS ##
## POR SEBASTIAN FINDLING ##
## ##
####################################
# PAQUETES POSIBLES
paquetes="google-chrome spotify iterm2 evernote notion visual-studio-code nano gh nvm whatsapp slack scroll-reverser firefox transmission telegram macs-fan-control vlc setapp adobe-creative-cloud qlvideo oracle-jdk"
########################################################################################################################################
# BIENVENIDA
sudo osascript -e 'display dialog "𝘽𝙄𝙀𝙉𝙑𝙀𝙉𝙄𝘿𝙊 𝘼𝙇 𝙎𝙐𝙋𝙀𝙍 𝙄𝙉𝙎𝙏𝘼𝙇𝘼𝘿𝙊𝙍\n\nA continuación podrás elegir qué paquetes de Brew necesitas, y se instalarán con sus respectivas dependencias." buttons {"Continuar", "Cancelar"} default button "Continuar" with title "Seb Installer ❤️"' &>/dev/null || exit
# UTILS
log()( printf "\e[42;30m$1\e[m\n" )
listaPaquetes="{\"${paquetes// /\",\"}\"}"
# SELECTOR MANUAL DE PAQUETES
elegidosTmp=`osascript -e "tell application (path to frontmost application as text) to choose from list $listaPaquetes with multiple selections allowed with title \"Seb Installer ❤️\" with prompt \"Selecciona los paquetes de Brew a instalar:\n(⌘ + click para quitar)\" default items $listaPaquetes OK button name \"Instalar\" cancel button name \"Cancelar\""`
[[ $elegidosTmp != 'false' ]] || exit
elegidos="${elegidosTmp//, / }"
echo Instalando: $elegidos ...
########################################################################################################################################
log "[1/8] INSTALANDO BREW..."
[[ ! -e `which brew` ]] && /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/$USER/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
brew tap homebrew/cask-versions
log "[2/8] INSTALANDO APLICACIONES..."
brew install $elegidos
brew install --cask docker
brew install --cask webstorm
log "[3/8] NO INSTALANDO PYTHON 2..."
#py2=$(pyenv install -l | grep -v - | tr -d ' ' | grep '^2' | tail -1)
#pyenv install $py2
#pyenv global $py2
log "[4/8] INSTALANDO OHMYZSH Y POWERLEVEL10K..."
touch ~/.hushlogin
curl https://gist.githubusercontent.com/sebolio/b38f7ef6db673fd32b5f5366f0d97e86/raw/3d2d9802708bb276a5360dd8356bc1bebea2074a/z-p10k.zsh -o .p10k.zsh
osascript -e 'display dialog "Ahora deberás presionar Control+D para salir de ZSH y que continúe la instalación." buttons {"OK"} default button "OK"' &>/dev/null
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
#brew install romkatv/powerlevel10k/powerlevel10k
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
#fix permisos
#chmod g-w /usr/local/share/zsh/site-functions
#chmod g-w /usr/local/share/zsh
log "[5/8] INSTALANDO DE APP STORE..."
brew install mas
#goodnotes
mas install 1444383602
#onedrive
#mas install 823766827
#daisydisk
mas install 411643860
#slack
#mas install 803453959
#onenote
#mas install 784801555
#word
mas install 462054704
#powerpoint
#mas install 462062816
#excel
#mas install 462058435
#mindnode
#mas install 1289197285
log "[6/8] CONFIGURANDO PERFIL DE ZSH..."
echo "
###### SEB SETUP ######
ZSH_THEME=\"powerlevel10k/powerlevel10k\"
source ~/.oh-my-zsh/custom/themes/powerlevel10k/powerlevel10k.zsh-theme
export NVM_DIR=\"\$HOME/.nvm\"
unalias gp
unalias gg
function gg { git clone git@github.com:sebolio/$1 }
function gp { git add -A; git commit -m \"\$*\"; git push }
export PNPM_HOME=\"/Users/\$USER/Library/pnpm\"
export PATH=\"\$PNPM_HOME:\$PATH\"
export icloud=\"/Users/\$USER/Library/Mobile Documents/com~apple~CloudDocs\"
alias ros=\"arch -x86_64 zsh\"
alias ross=\"arch -x86_64\"
alias d=\"npm run dev\"
alias dev=\"([ -f bun.lockb ] && echo bun && bun run dev) || ([ -f pnpm-lock.yaml ] && echo pnpm && pnpm run dev) || npm run dev\"
alias doc=\"npm run storybook\"
alias json=\"npm run stub\"
alias stub=\"npm run stub\"
alias pu=\"git pull\"
export PATH=/Users/\$USER/.meteor:\$PATH
export ANDROID_SDK_ROOT=/Users/\$USER/Library/Android/sdk
export ANDROID_HOME=/Users/\$USER/Library/Android/sdk
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-15.0.2.jdk/Contents/Home
export PATH=/Users/\$USER/Library/Android/sdk/platform-tools:\$PATH
export PATH=/Users/\$USER/.pyenv/shims:$PATH
[ -s \"/opt/homebrew/opt/nvm/nvm.sh\" ] && . \"/opt/homebrew/opt/nvm/nvm.sh\" # This loads nvm
[ -s \"/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm\" ] && . \"/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm\" # This loads nvm bash_completion
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
#######################
" >> ~/.zshrc
log "[7/8] INSTALANDO NODE.JS..."
export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"
nvm install --lts
log "[8/8] CONFIGURANDO NANO Y MICRO..."
echo "
set titlecolor brightwhite,blue
set statuscolor brightwhite,green
set errorcolor brightwhite,red
set selectedcolor brightwhite,magenta
set numbercolor cyan
set keycolor cyan
set functioncolor green
include /opt/homebrew/share/nano/*.nanorc" > ~/.nanorc
mkdir -p ~/.config/micro &>/dev/null
echo "{
\"Alt-/\": \"lua:comment.comment\",
\"CtrlX\": \"Quit\",
\"CtrlK\": \"Cut\",
\"CtrlU\": \"Paste\",
\"CtrlX\": \"Quit\"}" > ~/.config/micro/bindings.json
osascript -e 'display dialog "𝙇𝙄𝙎𝙏𝙊" buttons {"Adios 🙃"} with title "Seb Installer ❤️"' &>/dev/null
echo;echo Adios 🙃
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment