New macOS setup

Uncommented list of all the packages, configs and applications which I call essential for a new macOS setup.

New macOS setup

This is an uncommented list of all the packages, configs and applications which I call essential.

In the near future this script should be completely automatic and dynamic, however, it isn't at the moment. (I'm simply not buying enough macs.)

Script

The mentioned packages are installed by the attached setup_mac.sh bash script.

Homebrew packages

  • git
  • go
  • youtube-dl
  • zsh
  • zsh-autosuggestions
  • zsh-syntax-highlighting
  • hugo
  • python
  • nmap
  • make
  • thefuck
  • lsd
  • speedtest-cli
  • ytop (brew tap cjbassi/ytop)

Homebrew casks

Some of this software is paid software where an activation is necessary. See 1Password for registration keys.

  • firefox
  • google-chrome
  • iterm2
  • adapter
  • iina
  • vlc
  • sublime-text
  • texshop
  • the-unarchiver
  • veracrypt
  • zoom
  • little-snitch
  • istat-menus
  • daisydisk
  • alfred
  • 1password
  • spotify
  • pocket-casts
  • owncloud
  • whatsapp
  • toggl
  • slack
  • riot
  • zulip
  • zotero
  • netron
  • google-backup-and-sync
  • jdownloader
  • bettertouchtool
  • skype
  • appcleaner
  • hiddenbar
  • arduino
  • imageoptim
  • skim
  • flux
  • calibre
  • karabiner-elements
  • alfred
  • battle-net
  • borgbackup
  • airtool
  • handbrake
  • little-snitch
  • rectangle

Homebrew fonts

Tap the font repo before installing: brew tap homebrew/cask-fonts.

  • font-awesome-terminal-fonts
  • font-source-code-pro
  • font-fira-sans
  • font-hack-nerd-font

Homebrew quick look plugins

Quicklook allows you to preview files by pressing space in the Finder. Those plugins allow the preview of different filetypes and enable syntax highlighting.

  • qlstephen
  • qlcolorcode
  • qlmarkdown
  • quicklook-json
  • qlimagesize
  • qlvideo

GitHub - sindresorhus/quick-look-plugins: List of useful Quick Look plugins for developers

Manual installation

The following steps are not automatized yet and need to be done manually.

ownCloud

  • set ignored files
  • set folders to sync

Terminal

Using iTerm2 as a terminal.

macOS AppStore

The packages are maintained are installed by the macOS AppStore:

  • Bear
  • xCode
  • MoneyMoney
  • Microsoft Office, PowerPoint, Excel
  • Notability
  • Pocket

Zotero Plugins

  • Better Bibtex

Manual download and installation

  • Logitech G Hub

Configs

  • copy ~/.ssh/ and ~/.gnupg/keys by using Airdrop.

  • export and share S/MIME certificates from keychain

  • autohide Dock instantly: defaults write com.apple.dock autohide-time-modifier -int 0;killall Dock

    • to restore: defaults delete com.apple.dock autohide-time-modifier;killall Dock
  • hide macOS updates, like macOS Catalina

    • sudo softwareupdate --ignore "macOS Catalina"
    • to restore: sudo softwareupdate —-reset-ignored
  • ...

Sublime Text Packages

  • LatexTools
  • MarkdownPreview
  • Nord

Network configuration

  • Little Snitch needs to be manually installed (installer is available via brew casks)

  • setup VPNs

  • set network locations

    • proxy, DNS, etc.
#!/bin/bash

# install homebew
echo "Installing Homebrew ..."
sh -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
echo "Done installing Homebrew.\n\n"


# command line tools
echo "Install xcode command line tools ..."
xcode-select --install
echo "Done installing xcode command line tools.\n\n"


# brew packages
echo "Install Homebrew packages ..."
brew update && brew upgrade
brew install \
	git \
	go \
	youtube-dl \
	zsh \
	zsh-autosuggestions \
	zsh-syntax-highlighting \
	hugo \
	python \
	nmap \
	make \
	thefuck \
	lsd \
	speedtest-cli \
	rmtrash \
	platformio

brew tap cjbassi/ytop
brew install ytop
echo "Done installing homebrew packages.\n\n"


echo "Installing oh-my-zsh and spaceship-prompt ..."
# ohmyzsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# spaceship prompt
git clone https://github.com/denysdovhan/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt"
ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"
echo "Done installing oh-my-zsh and spaceship-promptn \n\n"



echo "Install homebrew casks ..."
# brew casks
brew install \
	firefox \
	google-chrome \
	iterm2 \
	adapter \
	iina \
	vlc \
	sublime-text \
	texshop \
	the-unarchiver \
	veracrypt \
	zoomus \
	little-snitch \
	istat-menus \
	daisydisk \
	alfred \
	1password \
	spotify \
	pocket-casts \
	owncloud \
    ferdi \
    toggl \
	slack \
	zotero \
	netron \
	google-backup-and-sync \
	jdownloader \
	bettertouchtool \
	skype \
	appcleaner \
	hiddenbar \
	arduino \
	imageoptim \
	skim \
	flux \
	calibre \
	karabiner-elements \
	alfred \
	battle-net \
	borgbackup \
	airtool \
	handbrake \
	sensiblesidebuttons


# quick Look plugins
brew install qlstephen \
	qlcolorcode \
	qlmarkdown \
	quicklook-json \
	qlimagesize \
	qlvideo

echo "Done install homebrew casks.\n\n"


echo "Autohiding dock instantly ..."
# autohide Dock instantly
defaults write com.apple.dock autohide-time-modifier -int 0
killall Dock


echo "Installing fonts ..."
# Fonts
brew tap homebrew/cask-fonts
brew install \
	font-awesome-terminal-fonts \
	font-source-code-pro \
	font-fira-sans \
	font-hack-nerd-font
echo "Done installing fonts.\n\n"

echo "Setting symlinks for dotfiles ...\n make sure that owncloud is installed and synced."
git clone https://github.com/peterhurford/up.zsh ~/.oh-my-zsh/custom/plugins/up

# symlinks after installing owncloud
mkdir ~/.ssh

ln -s ~/ownCloud/dotfiles/vimrc ~/.vimrc
ln -s ~/ownCloud/dotfiles/zshrc ~/.zshrc
ln -s ~/ownCloud/dotfiles/ssh-config ~/.ssh/config
ln -s ~/ownCloud/dotfiles/gitconfig ~/.gitconfig
ln -s ~/ownCloud/dotfiles/gitignore_global ~/.gitignore_global

echo "Fin.\n\n"