Beware: This is not fully reproducible (intentionally), use only for inspiration.
- Preparation
- General utilities
- Utilities
- Communication
- Browsers
- Productivity
- Create
- Media
- Fun
- Other preferences
- Auto-launched items
- Inbox
- Clone this repo
git clone https://github.com/Strajk/setup.git $HOME/Projects/setup
- Link dotfiles
ln -s $HOME/Projects/setup/home/* $HOME
- Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Install everything from
~/Brewfile
brew bundle
Just wait & enter password when prompted. - Launch 1Password
- Let it sync
- Launch Amphetamine
- Enable it to prevent Mac from sleeping during syncing Dropbox in the next step.
- Launch Dropbox
- Let it sync completely before continuing to the next steps.
- Sync Home folder
ln -s ~/Dropbox/Sync/home/.* $HOME
- Repair permission
sudo chmod og-rw ~/.netrc sudo chmod 0400 ~/.ssh/* sudo chmod 0644 ~/.ssh/*.pub
- Accept XCode License
sudo xcodebuild -license accept
- Install Node
nvm install 12 nvm install 14 nvm install 16 nvm install 17 # Make sure nvm list nvm current
Continue with setting up apps, one by one
âčïž Electron-based terminal, easy configuration in one file, plugins in JavaScript.
đŸ Installation: Installed via Homebrew
cask "hyper"
âïž Preferences: ~/.hyper.js
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
rm -f "$HOME/.zshrc" && ln -s "$HOME/Projects/setup/home/.zshrc" $HOME && source $HOME/.zshrc
đŸ Installation: Installed via Homebrew
cask "dropbox"
âïž Preferences: manual
- Do not link work account
- Disable Screenshots
- Disable Photos
đŸ Installation: Installed via Homebrew
cask "keyboard-maestro"
âïž Preferences: `~/Dropbox/Sync/apps/Keyboard Maestro Macros.kmsync`
- Enable Launch at login
- Enable "Include Conflict Palette in Touch Bar"
TODO: Share some generally useful macros
đŸ Installation: Installed via Homebrew
cask "docker"
đŸ Installation: Installed via Homebrew
cask "ngrok"
đŸ Installation: Installed via Homebrew
cask "keybase"
âïž Preferences: Manual
- Enable Keybase in Finder
đŸ Installation: Installed via Homebrew
cask "1password"
âïž Preferences
- Security: Disable all auto-locking {>> I believe in OS security :) <<}
- Security: Enable automatic unlock
- Browsers: Install Browsers Extensions (Safari, Chrome, Firefox)
- Logins: Disable automatically submitting after filling
- Set keyboard shortcut for Showing 1Password mini
- Set keyboard shortcut for Filling login
đŸ Installation: Installed via Homebrew
cask "karabiner-elements"
âïž Preferences: manual
- CapsLock -> f19
- Quit application by pressing command-q twice
đŸ Installation: Installed via Homebrew
mas "NordVPN", id: 1116599239
đŸ Installation: Installed via Homebrew
cask "forticlient"
đŸ Installation: Installed via Homebrew (â requires manual post-install)
cask "hyperswitch"
âïž Preferences
- Run HyperSwitch in the background
- Use Include windows from other spaces
- Use Include windows from other screens
- Use shift to cycle backwards
đŸ Installation
cask "alfred"
âïž Preferences
- Set preferences syncing to
~/Dropbox/Sync/apps/Alfred
- Set main keyboard shortcut to F19 (not synced)
- Set Clipboard history persistence (not synced)
- Airport Search, repo
- Alfred Maestro, repo â Run Keyboard Maestro macros
- Audio Switch, repo â Switch between audio inputs & outputs
- Bit.ly Link - Generate Bit.ly shortlinks, auth supported
- Call or SMS contact, repo
- Colors, repo â Color tools
- Datetime Format Converter
- Encode / Decode
- Faker
- Flush DNS
- GitHub, repo
- GitLab, repo
- Homebrew & Cask for Alfred, repo
- HTTP Status Code, repo
- Install apps
- Kill Process, repo
- Look up Lyrics of Current Song on Rap Genius
- Lorem Ipsum
- newdoc
- NewFile
- NightShift
- Open in Chrome
- Package Managers
- Packal Updater
- Pocket for Alfred
- portkiller
- Recent Items
- RecentDownloads
- Relative Dates
- Resize Image
- Restore Moom snapshot
- Things
- Toggle Wifi
- ToggleRetinaResolution
- Urban Dictionary
- What's My IP
Script to get workflows
for f in ~/Dropbox/Sync/apps/Alfred/Alfred.alfredpreferences/workflows/**/info.plist
do
ff=${f%.*}
name=$(defaults read "$ff" name)
link="https://www.google.cz/search?q=site%3Apackal.org+${name// /+}"
echo "â [$name]($link)"
done
https://gist.github.com/Strajk/f4cb72e318c531a3ee247ccc10681f8f
đŸ Installation: Installed via Homebrew
cask "appcleaner"
âïž Preferences
- Enable SmartDelete
Do not install from cask, cannot transfer license
đŸ Installation: Installed via Homebrew
mas "Moom", id: 419330170
âïž Preferences
ln -s ~/Dropbox/Sync/apps/moom/com.manytricks.Moom.plist ~/Library/Preferences/com.manytricks.Moom.plist
đŸ Installation: Installed via Homebrew
mas "PopClip", id: 445189367
âïž Preferences
- Enable Start at Login
- Disable Cut & Copy & Paste Extensions
Extensions
curl -O "http://pilotmoon.com/popclip/extensions/ext/{Reminders,GoogleTranslate,Alfred}.popclipextz"
TODO: Fix! Open & Install extensions after downloading
đŸ Installation: Installed via Homebrew
mas "Monosnap", id: 540348655
âïž Preferences
- Enable
General: Launch at login
- Enable
Advanced: Autosave to "Pictures" folder
- Enable
Advanced: Shrink Retina snaps
- Disable
Interface: Capture area: Add shadow to window
- Sey
Hotkeys: Capture area
tocontrol + m
- Sey
Hotkeys: Record video
tocontrol + alt + m
- Sey
Hotkeys: Capture previous area
tocontrol + shift + m
- Login to Monosnap account
cask dash
âïž Preferences
General: Launch Dash at login
General: Global search shortcut
General: Disable show dock icon
Integration: Alfred, PopClip, TextMate
Cheat: Axios
Cheat: Chrome Developer Tools
Cheat: Docker
Cheat: Dockerfile
Cheat: Git
Cheat: You Might Not Need jQuery
GitHub: cypress-io/cypress
StackOverflow: JavaScript
StackOverflow: TypeScript
User: date-fns
Docset: Bash
Docset: Bootstrap 4
Docset: Bootstrap 5
Docset: CSS
Docset: Chai
Docset: Express
Docset: Font Awesome
Docset: HTML
Docset: JavaScript
Docset: Less
Docset: Lo-Dash
Docset: Markdown
Docset: Mocha
Docset: MomentJS
Docset: MongoDB
Docset: NodeJS
Docset: Sinon
Docset: Stylus
Docset: TypeScript
Docset: UnderscoreJS
Docset: VueJS
Docset: jQuery
đŸ Installation: Installed via Homebrew
cask "Marked"
đŸ Installation: Installed via Homebrew
mas "Apple Configurator 2", id: 1037126344
đŸ Installation: Installed via Homebrew
mas "Amphetamine", id: 937984704
âïž Preferences
- Menu Bar Image Click: Primary: Start/end session | Secondary: Show menu
- Launch Amphetamine at login: yes
- Appearance: Menu Bar image: Coffee Carafe
- Appearance: Lower icon opacity when there is no active session
đŸ Installation: Installed via Homebrew
cask "bartender"
âïž Preferences
- Launch at login
- Menu bar item spacing: small
- Always show menu bar:
- Trailer
- Itsycal
- Batter
- Intentionally not showing in menu bar:
- Amphetamine â triggered by Alfred
- Wi-Fi - it usually just work, no need to see it all the time
- Volume â controlled by keyboard
- Trip Mode â used occasionally
- Hotkey to Quick search
đŸ Installation: Installed via Homebrew
cask "transmission"
âïž Preferences
# Use `~/Downloads/_INCOMPLETE` to store incomplete downloads
defaults write org.m0k.transmission UseIncompleteDownloadFolder -bool true
defaults write org.m0k.transmission IncompleteDownloadFolder -string "${HOME}/Downloads/_INCOMPLETE"
# Use `~/Downloads` to autoimport .torrent files
defaults write org.m0k.transmission AutoImport -bool true
defaults write org.m0k.transmission AutoImportDirectory -string "${HOME}/Downloads"
# Donât prompt for confirmation before downloading
defaults write org.m0k.transmission DownloadAsk -bool false
defaults write org.m0k.transmission MagnetOpenAsk -bool false
# Trash original torrent files
defaults write org.m0k.transmission DeleteOriginalTorrent -bool true
# Hide the donate message
defaults write org.m0k.transmission WarningDonate -bool false
# Hide the legal disclaimer
defaults write org.m0k.transmission WarningLegal -bool false
# IP block list.
# Source: https://giuliomac.wordpress.com/2014/02/19/best-blocklist-for-transmission/
defaults write org.m0k.transmission BlocklistNew -bool true
defaults write org.m0k.transmission BlocklistURL -string "http://john.bitsurge.net/public/biglist.p2p.gz"
defaults write org.m0k.transmission BlocklistAutoUpdate -bool true
đŸ Installation: Installed via Homebrew
cask "imageoptim"
Open source video transcoder
đŸ Installation: Installed via Homebrew
brew "handbrake"
đŸ Installation: Installed via Homebrew
cask "postman"
đŸ Installation: Installed via Homebrew
cask "aerial"
đŸ Installation: Installed via Homebrew
cask "google-backup-and-sync"
đŸ Installation: Installed via Homebrew
cask "keycastr"
đŸ Installation: Installed via Homebrew
cask "mousepose"
đŸ Installation: Installed via Homebrew
cask "shortcutdetective"
đŸ Installation: Installed via Homebrew
cask "screenflow"
đŸ Installation: Installed via Homebrew
cask "gifox"
brew install heroku && heroku login
đŸ Installation: Installed via Homebrew
cask "slack"
Elegant Facebook Messenger desktop app
đŸ Installation: Installed via Homebrew
cask "caprine"
đŸ Installation: Installed via Homebrew
cask "google-chrome"
- 1Password - password manager
- AngularJS Batarang - Angular dev tools
- Augury - Angular2 dev tools
- Better History
- Check My Links
- Diigo - Highlight & annotate
- Dropmark - collecting inspiration
- Frame by Frame
- Google Dictionary
- Grammarly - Check grammmar
- Imagus - Enlarge thumbnails
- Immutable.js Object Formatter
- IntelliOcto
- JSONView
- Keyboard Shortcuts to Reorder Tabs
- Linkclump
- Multi-highlight
- npmhub
- OctoLinker
- Octotree
- Pesticide for Chrome
- Pinboard Plus
- Postman Interceptor
- Project Naptha - OCR
- React Developer Tools
- React Perf
- Reddit Enhancement Suite
- Redux DevTools
- Refined Trello
- SelectorGadget
- Shortkeys
- Stylish - Custom CSS
- Tampermonkey - Custom JS
- tlda
- uBlock Origin
- Vue.js devtools
- Youtube Playback Speed Control
Script to get extensions
# run at chrome://extensions
output = []
document.querySelectorAll(".extension-details").forEach(el => {
var title = el.querySelector(".extension-title").textContent.trim()
var id = el.querySelector(".extension-id").textContent.trim()
var link = `https://chrome.google.com/webstore/detail/${id}`
output.push(`* [${title}](${link})`)
})
copy(output.join("\n"))
đŸ Installation: Installed via Homebrew
cask "caskroom/versions/google-chrome-canary"
Enable Developer Tools experiments:
* Open DevTools, go to General tab and check Enable source maps
* Open DevTools, go to Experiments tab and check Support for Sass
đŸ Installation: Installed via Homebrew
cask "firefox"
đŸ Installation: Installed via Homebrew
cask "opera"
đŸ Installation: Installed via Homebrew
cask "brave-browser"
đŸ Installation: Installed via Homebrew
cask "tor-browser"
Primary notes app
đŸ Installation
cask "notion"
đŸ Installation: Installed via Homebrew
cask "foldingtext"
đŸ Installation: Installed via Homebrew
cask "skype"
âïž Preferences
- Disable show in menu bar
đŸ Installation: Installed via Homebrew
mas "Table Tool", id: 1122008420
đŸ Installation: Installed via Homebrew
mas "Keynote", id: 409183694
Installation: Manual
âïž Preferences
- Enable
General: Enable Things URLs
- Enable
Things Cloud
- Set shortcut for Quick Entry to
ctrl + n
- Enable Calendar Events
Versatile design app
~/Library/Application Support/com.bohemiancoding.sketch3/Plugins
github.com/sketchplugins/plugin-directory
- Material Design Color Palette â Google material design color palette.
- PaletteStripes â generate palette stripes
- Quick Color â Apply colors from color palettes to a selection of objects.
- Quick Export - Exports selected layers as pngs, to file or clipboard.
- Sketch Palettes â exporting and importing fill presets. It supports colors, gradients, and pattern fills.
- Syntax highlighter
- Align â Group and align your symbols and artboards by name
- Artboard layout settings
- Bootstrap grid
- Icon Drop
- SVG Insert
- Sketch Connection Flow Arrows
- RenameIt
- https://github.com/timuric/content-generator-sketch-plugin â dummy data such as avatars, names, geo location data
đŸ Installation: Installed via Homebrew
cask "sketch"
đŸ Installation: Installed via Homebrew
cask "sourcetree"
đŸ Installation: Installed via Homebrew
cask "gitup"
đŸ Installation: Installed via Homebrew
# cask "jetbrains-toolbox" # nope nope nope, lost patience with this piece of crap
cask "webstorm"
cask "pycharm"
cask "datagrip"
âïž Preferences
All preferences sync with Settings Repository to private GitLab repo.
Some of the main options:
- Appearance
- Theme: Darcula
- Custom font: San Francisco
.SF NS Text
- Window Options: Allow merging buttons on dialogs: Disable
- Editor
- Font: Hack
- AceJump
- Codota â
â ïž not working well yet, but like the idea - Database Navigator
- GitToolBox
- Key Promoter X
- Paste Images into Markdown
- Presentation Assistant
- String Manipulation
- Wallaby
- (plugins installed by default)
đŸ Installation: Installed via Homebrew
cask "visual-studio-code"
TODO Export from Notion
Sync via Gist
ln -s ~/Projects/setup/apps/VSCode/settings.json "$HOME/Library/Application Support/Code/User/"
đŸ Installation: Installed via Homebrew
mas "iMovie", id: 408981434
đŸ Installation: Manually
TODO
đŸ Installation: Manual
TODO
đŸ Installation: Installed via Homebrew
mas "Xcode", id: 497799835
Installation: Installed via Homebrew
cask "virtualBox"
Accept terms, check issue
VBoxManage extpack install /Users/strajk/.ievms/Oracle_VM_VirtualBox_Extension_Pack-5.1.22.vbox-extpack
curl -s https://raw.githubusercontent.com/xdissent/ievms/master/ievms.sh | env IEVMS_VERSIONS="10 11 EDGE" bash
đŸ Installation: Installed via Homebrew
cask "charles"
đŸ Installation: Installed via Homebrew
mas "Movist", id: 461788075
Horrible UI, but haven't found better free video player.
đŸ Installation: Installed via Homebrew
cask "vlc"
đŸ Installation: Installed via Homebrew
cask "caption"
đŸ Installation: Installed via Homebrew
cask "boxer"
# https://superuser.com/a/1092184
duti -s $(osascript -e 'id of app "The Unarchiver"') .rar all
duti -s $(osascript -e 'id of app "The Unarchiver"') .zip all
duti -s $(osascript -e 'id of app "Preview"') .pdf all
duti -s $(osascript -e 'id of app "Movist"') .mp3 all
duti -s $(osascript -e 'id of app "Movist"') .m4b all
duti -s $(osascript -e 'id of app "Movist"') .flac all
duti -s $(osascript -e 'id of app "Movist"') .mp4 all
duti -s $(osascript -e 'id of app "Movist"') .mkv all
duti -s $(osascript -e 'id of app "Movist"') .avi all
duti -s $(osascript -e 'id of app "FoldingText"') .md all
duti -s $(osascript -e 'id of app "Visual Studio Code"') .json all
duti -s $(osascript -e 'id of app "Visual Studio Code"') .nfo all
duti -s $(osascript -e 'id of app "Visual Studio Code"') .txt all
duti -s $(osascript -e 'id of app "Visual Studio Code"') .srt all
duti -s $(osascript -e 'id of app "Table Tool"') .csv all
defaults write com.apple.dock persistent-apps -array
for app in \
"/System/Library/CoreServices/Finder.app" \
"/Applications/Calendar.app" \
"spacer" \
"/Applications/Google Chrome.app" \
"/Applications/Safari.app" \
"spacer" \
"/Applications/Things3.app" \
"/Applications/Reminders.app" \
"spacer" \
"/Applications/iTunes.app" \
"spacer" \
"/Applications/Slack.app" \
"/Applications/Caprine.app" \
"spacer" \
"/Applications/Sketch.app" \
"spacer" \
"/Applications/WebStorm.app" \
"/Applications/PyCharm.app" \
"/Applications/SourceTree.app" \
"/Applications/Hyper.app" \
"spacer" \
"/Applications/App Store.app" \
"/Applications/System Preferences.app" \
"spacer" \
; do
if [ "$app" "==" "spacer" ]; then
defaults write com.apple.dock persistent-apps -array-add '{tile-data={}; tile-type="small-spacer-tile";}'
else
defaults write com.apple.dock persistent-apps -array-add "<dict><key>tile-data</key><dict><key>file-data</key><dict><key>_CFURLString</key><string>$app</string><key>_CFURLStringType</key><integer>0</integer></dict></dict></dict>"
fi
done
killall Dock
- System Preferences â Keyboard â Shortcuts
- Display: Disable both
Decrease & Increase display brightness
- Mission control: Disable
Show Desktop
- Screenshots: Disable everything (as I use Monosnap)
- Services: Disable
Open man Page in Terminal
&Search man Page Index in Terminal
- Spotlight:
- Remap
Show Spotlight search
->ââ„âSpace
- Disable
Show Finder search window
- Remap
- Accessibility: Disable everything
- Display: Disable both
# Close any open System Preferences panes, to prevent them from overriding settings weâre about to change
osascript -e 'tell application "System Preferences" to quit'
# Use scroll gesture with the Ctrl (^) modifier key to zoom
defaults write com.apple.universalaccess closeViewScrollWheelToggle -bool true
defaults write com.apple.universalaccess HIDScrollZoomModifierMask -int 262144
# Follow the keyboard focus while zoomed in
defaults write com.apple.universalaccess closeViewZoomFollowsFocus -bool true
# Disable the âAre you sure you want to open this application?â dialog
defaults write com.apple.LaunchServices LSQuarantine -bool false
# Menu bar: disable transparency
defaults write NSGlobalDomain AppleEnableMenuBarTransparency -bool false
# Expand save panel by default
defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode -bool true
defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode2 -bool true
# Expand print panel by default
defaults write NSGlobalDomain PMPrintingExpandedStateForPrint -bool true
defaults write NSGlobalDomain PMPrintingExpandedStateForPrint2 -bool true
# Save to disk (not to iCloud) by default
defaults write NSGlobalDomain NSDocumentSaveNewDocumentsToCloud -bool false
# Disable Resume system-wide
defaults write NSGlobalDomain NSQuitAlwaysKeepsWindows -bool false
# Disable auto-correct
defaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool false
# Enable full keyboard access for all controls
defaults write NSGlobalDomain AppleKeyboardUIMode -int 3
# Save screenshots to the desktop
defaults write com.apple.screencapture location -string "$HOME/Desktop"
# Disable shadow in screenshots
defaults write com.apple.screencapture disable-shadow -bool true
# Speedup animations
# More: https://www.defaults-write.com/increase-the-speed-of-os-x-dialogs-boxes/
defaults write NSGlobalDomain NSWindowResizeTime .1
defaults write NSGlobalDomain NSAutomaticWindowAnimationsEnabled -bool false
# Finder
# ---
# Default folder to $HOME
# TODO: strajk -> dynamic
defaults write com.apple.finder NewWindowTarget -string "PfHm"
defaults write com.apple.finder NewWindowTargetPath -string "file://${HOME}"
# Use column view in all Finder windows by default
defaults write com.apple.Finder FXPreferredViewStyle -string "clmv"
# Show the ~/Library folder.
chflags nohidden ~/Library
# Allow quitting Finder via â + Q; doing so will also hide desktop icons
defaults write com.apple.finder QuitMenuItem -bool true
# Show status bar in Finder
defaults write com.apple.finder ShowStatusBar -bool true
# Show hidden files by default
defaults write com.apple.Finder AppleShowAllFiles -bool true
# Show all filename extensions
defaults write NSGlobalDomain AppleShowAllExtensions -bool true
# Disable the warning when changing a file extension
defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false
# Allow text selection in Quick Look
defaults write com.apple.finder QLEnableTextSelection -bool true
# When performing a search, search the current folder by default
defaults write com.apple.finder FXDefaultSearchScope -string "SCcf"
# Avoid creating .DS_Store files on network & USB volumes
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true
# Disable disk image verification
defaults write com.apple.frameworks.diskimages skip-verify -bool true
defaults write com.apple.frameworks.diskimages skip-verify-locked -bool true
defaults write com.apple.frameworks.diskimages skip-verify-remote -bool true
# Disable the warning before emptying the Trash
defaults write com.apple.finder WarnOnEmptyTrash -bool false
# Expand the following File Info panes:
# âGeneralâ, âOpen withâ, and âSharing & Permissionsâ
defaults write com.apple.finder FXInfoPanesExpanded -dict \
General -bool true \
OpenWith -bool true \
Privileges -bool true
# Other
# ---
# Set the icon size of Dock items to 36 pixels
defaults write com.apple.dock tilesize -int 36
# Trackpad: enable tap to click for this user and for the login screen
defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad Clicking -bool true
defaults -currentHost write NSGlobalDomain com.apple.mouse.tapBehavior -int 1
defaults write NSGlobalDomain com.apple.mouse.tapBehavior -int 1
# Disable dashboard
defaults write com.apple.dashboard mcx-disabled -boolean true
# Disable the crash reporter
defaults write com.apple.CrashReporter DialogType -string "none"
TODO:
- Dock: Lock Dock Content
- Dock: Lock icon size
- Disable CapsLock
- Tap to click
# launchctl list | egrep -v "com\.apple\."
- 1Password
- Alfred
- Amphetamine
- AppCleaner-SmartDelete
- Docker
- Dropbox
- FortiClient VPN
- Gifox
- Google Drive
- HyperSwitch
- Karabiner
- Keybase
- KeyboardMaestro
- Monosnap
- Moom
- PopClip
- RescueTime
- Things
- WebAlert
ln -s $HOME/Projects/setup/snippets "$HOME/Library/Application Support/Code/User/"
TODO
# Vill Q
# TeamViewer
# Paparazzi!
# zoom.us
# Marked 2
# Insomnia
Run regularly
brewup
nvm install node --reinstall-packages-from=node
Clone all my repos
curl -u strajk -s https://api.github.com/users/strajk/repos?per_page=200 | ruby -rubygems -e 'require "json"; JSON.load(STDIN.read).each { |repo| %x[git clone #{repo["ssh_url"]} ]}'
đŸ Installation
cask "caskroom/fonts/font-open-sans"
cask "caskroom/fonts/font-roboto"
cask "caskroom/fonts/font-hack"
cask "caskroom/fonts/font-roboto-mono"
cask "caskroom/fonts/font-source-code-pro"