Skip to content

Instantly share code, notes, and snippets.

@drazulay
Last active April 2, 2022 08:59
Show Gist options
  • Select an option

  • Save drazulay/918f80a98841cb4959c39e4a6c701ee6 to your computer and use it in GitHub Desktop.

Select an option

Save drazulay/918f80a98841cb4959c39e4a6c701ee6 to your computer and use it in GitHub Desktop.

Revisions

  1. drazulay revised this gist Apr 2, 2022. 1 changed file with 23 additions and 23 deletions.
    46 changes: 23 additions & 23 deletions install.sh
    Original file line number Diff line number Diff line change
    @@ -83,19 +83,19 @@ brew upgrade

    brew install $FORCE composer
    brew install $FORCE eslint
    brew install $FORCE hex-fiend
    brew install $FORCE homebrew/cask-versions/firefox-developer-edition
    brew install $FORCE iterm2
    brew install $FORCE lulu
    brew install $FORCE macdown
    brew install $FORCE microsoft-teams
    brew install $FORCE --cask hex-fiend
    brew install $FORCE --cask firefox-developer-edition
    brew install $FORCE --cask iterm2
    brew install $FORCE --cask lulu
    brew install $FORCE --cask macdown
    brew install $FORCE --cask microsoft-teams
    brew install $FORCE node
    brew install $FORCE npm
    brew install $FORCE phpstorm
    brew install $FORCE sequel-pro
    brew install $FORCE --cask phpstorm
    brew install $FORCE --cask sequel-pro
    brew install $FORCE tree
    brew install $FORCE wget
    brew install $FORCE slack
    brew install $FORCE --cask slack
    brew install $FORCE yarn
    brew install $FORCE zsh

    @@ -171,21 +171,21 @@ if [[ "$EXTRA" == "1" ]]; then
    set_installer_step "Homebrew: install extra applications"

    sudo -v
    brew install $FORCE clion
    brew install $FORCE discord
    brew install $FORCE gimp
    brew install $FORCE keybase
    brew install $FORCE ledger-live
    brew install $FORCE protonmail-bridge
    brew install $FORCE protonvpn
    brew install $FORCE pycharm-ce
    brew install $FORCE qbittorrent
    brew install $FORCE rectangle
    brew install $FORCE --cask clion
    brew install $FORCE --cask discord
    brew install $FORCE --cask gimp
    brew install $FORCE --cask keybase
    brew install $FORCE --cask ledger-live
    brew install $FORCE --cask protonmail-bridge
    brew install $FORCE --cask protonvpn
    brew install $FORCE --cask pycharm-ce
    brew install $FORCE --cask qbittorrent
    brew install $FORCE --cask rectangle
    brew install $FORCE rustup-init
    brew install $FORCE signal
    brew install $FORCE skype
    brew install $FORCE spotify
    brew install $FORCE telegram-desktop
    brew install $FORCE --cask signal
    brew install $FORCE --cask skype
    brew install $FORCE --cask spotify
    brew install $FORCE --cask telegram-desktop

    set_installer_step "Yubico: install yubikey-manager"

  2. drazulay revised this gist Apr 2, 2022. 1 changed file with 33 additions and 36 deletions.
    69 changes: 33 additions & 36 deletions install.sh
    Original file line number Diff line number Diff line change
    @@ -21,7 +21,7 @@ set -o pipefail

    function err_handler
    {
    echo "Something went wrong during step '${STEP}', process exited with code '$?'".
    echo "Unexpected interruption at step '${STEP}', process exited with code: $?".
    }
    trap 'err_handler' ERR

    @@ -81,24 +81,23 @@ brew tap henkrehorst/homebrew-php
    brew update
    brew upgrade

    brew install $FORCE \
    composer \
    eslint \
    hex-fiend \
    homebrew/cask-versions/firefox-developer-edition \
    iterm2 \
    lulu \
    macdown \
    microsoft-teams \
    node \
    npm \
    phpstorm \
    sequel-pro \
    tree \
    wget \
    slack \
    yarn \
    zsh
    brew install $FORCE composer
    brew install $FORCE eslint
    brew install $FORCE hex-fiend
    brew install $FORCE homebrew/cask-versions/firefox-developer-edition
    brew install $FORCE iterm2
    brew install $FORCE lulu
    brew install $FORCE macdown
    brew install $FORCE microsoft-teams
    brew install $FORCE node
    brew install $FORCE npm
    brew install $FORCE phpstorm
    brew install $FORCE sequel-pro
    brew install $FORCE tree
    brew install $FORCE wget
    brew install $FORCE slack
    brew install $FORCE yarn
    brew install $FORCE zsh

    # valet-php is problematic -- might even need to have it's formula edited to install 7.4.28
    # instead of failing 7.4.16
    @@ -172,23 +171,21 @@ if [[ "$EXTRA" == "1" ]]; then
    set_installer_step "Homebrew: install extra applications"

    sudo -v
    brew install $FORCE clion \
    discord \
    gimp \
    keybase \
    ledger-live

    # Sometimes ledger can fail the rest of the brew process if it's already installed
    brew install $FORCE protonmail-bridge \
    protonvpn \
    pycharm-ce \
    qbittorrent \
    rectangle \
    rustup-init \
    signal \
    skype \
    spotify \
    telegram-desktop
    brew install $FORCE clion
    brew install $FORCE discord
    brew install $FORCE gimp
    brew install $FORCE keybase
    brew install $FORCE ledger-live
    brew install $FORCE protonmail-bridge
    brew install $FORCE protonvpn
    brew install $FORCE pycharm-ce
    brew install $FORCE qbittorrent
    brew install $FORCE rectangle
    brew install $FORCE rustup-init
    brew install $FORCE signal
    brew install $FORCE skype
    brew install $FORCE spotify
    brew install $FORCE telegram-desktop

    set_installer_step "Yubico: install yubikey-manager"

  3. drazulay revised this gist Apr 2, 2022. 1 changed file with 4 additions and 2 deletions.
    6 changes: 4 additions & 2 deletions install.sh
    Original file line number Diff line number Diff line change
    @@ -176,8 +176,10 @@ if [[ "$EXTRA" == "1" ]]; then
    discord \
    gimp \
    keybase \
    ledger-live \
    protonmail-bridge \
    ledger-live

    # Sometimes ledger can fail the rest of the brew process if it's already installed
    brew install $FORCE protonmail-bridge \
    protonvpn \
    pycharm-ce \
    qbittorrent \
  4. drazulay revised this gist Apr 2, 2022. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion install.sh
    Original file line number Diff line number Diff line change
    @@ -96,7 +96,7 @@ brew install $FORCE \
    sequel-pro \
    tree \
    wget \
    slack \
    slack \
    yarn \
    zsh

  5. drazulay revised this gist Apr 2, 2022. 1 changed file with 15 additions and 12 deletions.
    27 changes: 15 additions & 12 deletions install.sh
    Original file line number Diff line number Diff line change
    @@ -21,7 +21,7 @@ set -o pipefail

    function err_handler
    {
    echo "Something went wrong during step \'${STEP}\', process exited with code \'$?\'".
    echo "Something went wrong during step '${STEP}', process exited with code '$?'".
    }
    trap 'err_handler' ERR

    @@ -33,7 +33,7 @@ sudo -v
    # Declare functions
    ################################

    function show_installer_step
    function set_installer_step
    {
    echo -e "\nExecuting step: ${1}..."
    export STEP="${1}"
    @@ -52,7 +52,7 @@ function add_bin_dirs_to_path
    # Update required Apple software
    ################################

    show_installer_step "Apple: Software Update"
    set_installer_step "Apple: Software Update"

    sudo -v
    softwareupdate --all --install --force
    @@ -62,7 +62,7 @@ softwareupdate --all --install --force
    # Install homebrew
    ################################

    show_installer_step "Install Homebrew"
    set_installer_step "Install Homebrew"

    sudo -v
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    @@ -72,7 +72,7 @@ sudo -v
    ## Install base set of software
    ################################

    show_installer_step "Brew: Install Basic Applications"
    set_installer_step "Brew: Install Basic Applications"

    sudo -v
    brew tap homebrew/cask
    @@ -111,7 +111,7 @@ brew link [email protected] --force --overwrite
    # grml.org zshrc's
    ################################

    show_installer_step "Zsh: install rc scripts from grml.org"
    set_installer_step "Zsh: install rc scripts from grml.org"

    sudo -v
    cd ~
    @@ -124,7 +124,7 @@ touch .zshrc.pre
    ## Path entries
    ################################

    show_installer_step "Shell: set \$PATH variable"
    set_installer_step "Shell: set \$PATH variable"

    sudo -v

    @@ -133,11 +133,14 @@ add_bin_dirs_to_path "${HOME}/.bin" \
    "/Users/daniel/.composer/vendor/bin" \
    "/Users/daniel/.cargo/bin"

    echo "$PATH is now:"
    echo $PATH
    echo "This will be added to ~/.zshrc.pre"
    echo "export PATH=\"${PATH}\"" >> .zshrc.pre

    ## Composer global requirements

    show_installer_step "Composer: install global requirements"
    set_installer_step "Composer: install global requirements"

    sudo -v
    composer global require weprovide/valet-plus
    @@ -149,7 +152,7 @@ composer global require n98/magerun2-dist
    # Set sane OS X defaults
    ################################

    show_installer_step "Apple: set OS X defaults"
    set_installer_step "Apple: set OS X defaults"

    sudo -v
    defaults write NSGlobalDomain AppleShowScrollBars -string "Always" # Always show scrollbar
    @@ -166,7 +169,7 @@ defaults write NSGlobalDomain com.apple.swipescrolldirection -bool false # No mo

    if [[ "$EXTRA" == "1" ]]; then

    show_installer_step "Homebrew: install extra applications"
    set_installer_step "Homebrew: install extra applications"

    sudo -v
    brew install $FORCE clion \
    @@ -185,7 +188,7 @@ if [[ "$EXTRA" == "1" ]]; then
    spotify \
    telegram-desktop

    show_installer_step "Yubico: install yubikey-manager"
    set_installer_step "Yubico: install yubikey-manager"

    mkdir -p /tmp/drazulay/software
    cd /tmp/drazulay/software
    @@ -197,7 +200,6 @@ if [[ "$EXTRA" == "1" ]]; then
    wget "https://developers.yubico.com/yubikey-manager-qt/Releases/yubikey-manager-qt-latest-mac.pkg" "yubikey-manager-qt-latest-mac.pkg"
    sudo installer -pkg yubikey-manager-qt-latest-mac.pkg -target /

    rm -rf /tmp/drazulay/software
    fi


    @@ -206,6 +208,7 @@ fi
    ################################

    brew cleanup
    rm -rf /tmp/drazulay/software

    echo -e "################################\n"
    echo "Done."
  6. drazulay revised this gist Apr 2, 2022. 1 changed file with 15 additions and 4 deletions.
    19 changes: 15 additions & 4 deletions install.sh
    Original file line number Diff line number Diff line change
    @@ -12,8 +12,6 @@
    # Copy & tweak this file
    ################################

    EXTRA_APPS=("clion discord gimp keybase ledger-live protonmail-bridge protonvpn pycharm-ce qbittorrent rectangle rustup-init signal skype spotify telegram-desktop")

    [[ "$1" == "--extra" ]] && EXTRA=1 || EXTRA=0
    STEP=""

    @@ -171,8 +169,21 @@ if [[ "$EXTRA" == "1" ]]; then
    show_installer_step "Homebrew: install extra applications"

    sudo -v

    brew install $FORCE "${EXTRA_APPS}"
    brew install $FORCE clion \
    discord \
    gimp \
    keybase \
    ledger-live \
    protonmail-bridge \
    protonvpn \
    pycharm-ce \
    qbittorrent \
    rectangle \
    rustup-init \
    signal \
    skype \
    spotify \
    telegram-desktop

    show_installer_step "Yubico: install yubikey-manager"

  7. drazulay revised this gist Apr 2, 2022. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion install.sh
    Original file line number Diff line number Diff line change
    @@ -23,7 +23,7 @@ set -o pipefail

    function err_handler
    {
    echo "Something went wrong during step \'${STEP}\', process exited with code "$?".
    echo "Something went wrong during step \'${STEP}\', process exited with code \'$?\'".
    }
    trap 'err_handler' ERR

  8. drazulay revised this gist Apr 2, 2022. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion install.sh
    Original file line number Diff line number Diff line change
    @@ -198,4 +198,4 @@ brew cleanup
    echo -e "################################\n"
    echo "Done."
    echo "You should now have a workable system for development in Rust & PHP."
    echo "You should now have a workable system."
  9. drazulay revised this gist Apr 2, 2022. 1 changed file with 3 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion install.sh
    Original file line number Diff line number Diff line change
    @@ -5,7 +5,9 @@
    # Installs a bunch of software,
    # and optionally an extra bunch
    # of other software - yay, more
    # bytezz!
    # bytezz! Also does some config-
    # foo like a small zsh and os x
    # polish.
    #
    # Copy & tweak this file
    ################################
  10. drazulay revised this gist Apr 2, 2022. 1 changed file with 9 additions and 0 deletions.
    9 changes: 9 additions & 0 deletions install.sh
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,14 @@
    #! /usr/bin/env bash

    ################################
    # Onboarding script for OS X
    # Installs a bunch of software,
    # and optionally an extra bunch
    # of other software - yay, more
    # bytezz!
    #
    # Copy & tweak this file
    ################################

    EXTRA_APPS=("clion discord gimp keybase ledger-live protonmail-bridge protonvpn pycharm-ce qbittorrent rectangle rustup-init signal skype spotify telegram-desktop")

  11. drazulay revised this gist Apr 2, 2022. 1 changed file with 3 additions and 2 deletions.
    5 changes: 3 additions & 2 deletions install.sh
    Original file line number Diff line number Diff line change
    @@ -87,13 +87,14 @@ brew install $FORCE \
    sequel-pro \
    tree \
    wget \
    [email protected] \
    slack \
    yarn \
    zsh
    # valet-php
    # valet-php is problematic -- might even need to have it's formula edited to install 7.4.28
    # instead of failing 7.4.16
    sudo -v
    brew install [email protected]
    brew link [email protected] --force --overwrite
  12. drazulay revised this gist Apr 2, 2022. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion install.sh
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,7 @@
    #! /usr/bin/env bash


    EXTRA_APPS=(clion discord gimp keybase ledger-live protonmail-bridge protonvpn pycharm-ce qbittorrent rectangle rustup-init signal skype spotify telegram-desktop)
    EXTRA_APPS=("clion discord gimp keybase ledger-live protonmail-bridge protonvpn pycharm-ce qbittorrent rectangle rustup-init signal skype spotify telegram-desktop")

    [[ "$1" == "--extra" ]] && EXTRA=1 || EXTRA=0
    STEP=""
  13. drazulay revised this gist Apr 2, 2022. 1 changed file with 3 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion install.sh
    Original file line number Diff line number Diff line change
    @@ -4,14 +4,15 @@
    EXTRA_APPS=(clion discord gimp keybase ledger-live protonmail-bridge protonvpn pycharm-ce qbittorrent rectangle rustup-init signal skype spotify telegram-desktop)

    [[ "$1" == "--extra" ]] && EXTRA=1 || EXTRA=0
    STEP=""

    # I don't use the 'unofficial bash strict mode' but opt for using
    # a trap function on ERR instead
    set -o pipefail

    function err_handler
    {
    echo "An error occurred, please see the output above"
    echo "Something went wrong during step \'${STEP}\', process exited with code "$?".
    }
    trap 'err_handler' ERR
    @@ -26,6 +27,7 @@ sudo -v
    function show_installer_step
    {
    echo -e "\nExecuting step: ${1}..."
    export STEP="${1}"
    }
    function add_bin_dirs_to_path
  14. drazulay revised this gist Apr 2, 2022. 1 changed file with 3 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion install.sh
    Original file line number Diff line number Diff line change
    @@ -5,7 +5,9 @@ EXTRA_APPS=(clion discord gimp keybase ledger-live protonmail-bridge protonvpn p

    [[ "$1" == "--extra" ]] && EXTRA=1 || EXTRA=0

    set -iE
    # I don't use the 'unofficial bash strict mode' but opt for using
    # a trap function on ERR instead
    set -o pipefail

    function err_handler
    {
  15. drazulay created this gist Apr 2, 2022.
    185 changes: 185 additions & 0 deletions install.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,185 @@
    #! /usr/bin/env bash


    EXTRA_APPS=(clion discord gimp keybase ledger-live protonmail-bridge protonvpn pycharm-ce qbittorrent rectangle rustup-init signal skype spotify telegram-desktop)

    [[ "$1" == "--extra" ]] && EXTRA=1 || EXTRA=0

    set -iE

    function err_handler
    {
    echo "An error occurred, please see the output above"
    }
    trap 'err_handler' ERR

    echo -e "\nStarting..."
    sudo -v


    ################################
    # Declare functions
    ################################

    function show_installer_step
    {
    echo -e "\nExecuting step: ${1}..."
    }

    function add_bin_dirs_to_path
    {
    local p
    for ELEM in "$@"; do
    export PATH="${ELEM}:${PATH}"
    done
    }


    ################################
    # Update required Apple software
    ################################

    show_installer_step "Apple: Software Update"

    sudo -v
    softwareupdate --all --install --force


    ################################
    # Install homebrew
    ################################

    show_installer_step "Install Homebrew"

    sudo -v
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"


    ################################
    ## Install base set of software
    ################################

    show_installer_step "Brew: Install Basic Applications"

    sudo -v
    brew tap homebrew/cask
    brew tap homebrew/cask-versions
    brew tap henkrehorst/homebrew-php
    brew update
    brew upgrade

    brew install $FORCE \
    composer \
    eslint \
    hex-fiend \
    homebrew/cask-versions/firefox-developer-edition \
    iterm2 \
    lulu \
    macdown \
    microsoft-teams \
    node \
    npm \
    phpstorm \
    sequel-pro \
    tree \
    wget \
    [email protected] \
    slack \
    yarn \
    zsh

    # valet-php
    sudo -v
    brew link [email protected] --force --overwrite


    ################################
    # grml.org zshrc's
    ################################

    show_installer_step "Zsh: install rc scripts from grml.org"

    sudo -v
    cd ~
    wget -O .zshrc.local https://git.grml.org/f/grml-etc-core/etc/skel/.zshrc
    wget -O .zshrc https://git.grml.org/f/grml-etc-core/etc/zsh/zshrc
    touch .zshrc.pre


    ################################
    ## Path entries
    ################################

    show_installer_step "Shell: set \$PATH variable"

    sudo -v

    add_bin_dirs_to_path "${HOME}/.bin" \
    "/usr/local/sbin" \
    "/Users/daniel/.composer/vendor/bin" \
    "/Users/daniel/.cargo/bin"

    echo "export PATH=\"${PATH}\"" >> .zshrc.pre

    ## Composer global requirements

    show_installer_step "Composer: install global requirements"

    sudo -v
    composer global require weprovide/valet-plus
    composer global require phpmd/phpmd
    composer global require n98/magerun2-dist


    ################################
    # Set sane OS X defaults
    ################################

    show_installer_step "Apple: set OS X defaults"

    sudo -v
    defaults write NSGlobalDomain AppleShowScrollBars -string "Always" # Always show scrollbar
    defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode -bool true # Show full save panel by default
    defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode2 -bool true
    defaults write NSGlobalDomain PMPrintingExpandedStateForPrint -bool true # Show full print panel by default
    defaults write NSGlobalDomain PMPrintingExpandedStateForPrint2 -bool true
    defaults write NSGlobalDomain com.apple.swipescrolldirection -bool false # No more unnatural backwards scrolling


    ################################
    # Install extra apps if requested
    ################################

    if [[ "$EXTRA" == "1" ]]; then

    show_installer_step "Homebrew: install extra applications"

    sudo -v

    brew install $FORCE "${EXTRA_APPS}"

    show_installer_step "Yubico: install yubikey-manager"

    mkdir -p /tmp/drazulay/software
    cd /tmp/drazulay/software

    # yubico

    sudo -v

    wget "https://developers.yubico.com/yubikey-manager-qt/Releases/yubikey-manager-qt-latest-mac.pkg" "yubikey-manager-qt-latest-mac.pkg"
    sudo installer -pkg yubikey-manager-qt-latest-mac.pkg -target /

    rm -rf /tmp/drazulay/software
    fi


    ################################
    # Done, define trap & cleanup
    ################################

    brew cleanup

    echo -e "################################\n"
    echo "Done."
    echo "You should now have a workable system for development in Rust & PHP."