feat!(macos): Clean up apps & use herd
This commit is contained in:
parent
413d0bce85
commit
d4acb95e36
2 changed files with 59 additions and 81 deletions
|
@ -19,35 +19,32 @@ brew update
|
||||||
# Install all our dependencies with bundle (See Brewfile)
|
# Install all our dependencies with bundle (See Brewfile)
|
||||||
brew tap homebrew/bundle
|
brew tap homebrew/bundle
|
||||||
|
|
||||||
# Rosetta is required for microsoft teams
|
|
||||||
softwareupdate --install-rosetta
|
|
||||||
|
|
||||||
brew bundle --file ${DOTFILES}/macos/Brewfile
|
brew bundle --file ${DOTFILES}/macos/Brewfile
|
||||||
|
|
||||||
# Fix for https://github.com/Homebrew/homebrew-core/issues/74447
|
# Fix for https://github.com/Homebrew/homebrew-core/issues/74447
|
||||||
# gnupg is not really needed but marked as a dependency for pass
|
# gnupg is not really needed but marked as a dependency for pass
|
||||||
brew unlink gnupg
|
brew unlink gnupg
|
||||||
|
|
||||||
|
# Activate asimov to automatically exclude node_modules from TM backup
|
||||||
|
sudo brew services start asimov
|
||||||
|
|
||||||
# Enable corepack
|
# Enable corepack
|
||||||
corepack enable
|
corepack enable
|
||||||
|
|
||||||
# Install global Composer packages
|
# Herd setup
|
||||||
${HOMEBREW_PREFIX}/bin/composer global require laravel/installer laravel/valet tightenco/takeout
|
herd -n tld localhost
|
||||||
|
|
||||||
# Install Laravel Valet
|
|
||||||
$HOME/.config/composer/vendor/bin/valet install
|
|
||||||
|
|
||||||
# Create a Sites directory
|
# Create a Sites directory
|
||||||
mkdir -p $HOME/git/clickbar
|
mkdir -p $HOME/git/clickbar
|
||||||
mkdir -p $HOME/git/konaktiva
|
mkdir -p $HOME/git/konaktiva
|
||||||
mkdir -p $HOME/git/private
|
mkdir -p $HOME/git/private
|
||||||
|
|
||||||
# Mark directories for valet
|
# Mark directories for herd
|
||||||
valet park $HOME/git/clickbar
|
herd park $HOME/git/clickbar
|
||||||
valet park $HOME/git/private
|
herd park $HOME/git/private
|
||||||
|
|
||||||
# Activate asimov to automatically exclude node_modules from TM backup
|
# Install global Composer packages
|
||||||
sudo brew services start asimov
|
composer global require tightenco/takeout
|
||||||
|
|
||||||
read -p "Enter a name for your MacBook, typically 'MacBook YOURNAME' [default: MacBook cb.]: " computername
|
read -p "Enter a name for your MacBook, typically 'MacBook YOURNAME' [default: MacBook cb.]: " computername
|
||||||
computername=${computername:-MacBook cb.}
|
computername=${computername:-MacBook cb.}
|
||||||
|
|
117
macos/Brewfile
117
macos/Brewfile
|
@ -11,38 +11,30 @@ brew 'mas' # Mac App Store manager to install appstore apps
|
||||||
brew 'svn' # Needed to install fonts
|
brew 'svn' # Needed to install fonts
|
||||||
|
|
||||||
# Essentials
|
# Essentials
|
||||||
brew 'bash'
|
brew 'bash' # Latest Bash version
|
||||||
brew 'coreutils' # Those that come with macOS are outdated
|
brew 'coreutils' # Those that come with macOS are outdated
|
||||||
brew 'git'
|
brew 'git'
|
||||||
brew 'gnupg' # Dependency for pass etc but slightly conflicts with gpg-suite see https://github.com/Homebrew/homebrew-core/issues/74447
|
brew 'gnupg' # Dependency for pass etc but slightly conflicts with gpg-suite see https://github.com/Homebrew/homebrew-core/issues/74447
|
||||||
brew 'grep'
|
brew 'grep'
|
||||||
brew 'pkg-config' # https://github.com/driesvints/dotfiles/issues/20
|
brew 'pkg-config' # https://github.com/driesvints/dotfiles/issues/20
|
||||||
brew 'imagemagick' # Needed for PHP imagick extension
|
brew 'imagemagick' # Needed for PHP imagick extension
|
||||||
brew 'nginx' # Needed for Valet
|
|
||||||
brew 'jq'
|
brew 'jq'
|
||||||
brew 'graphviz'
|
|
||||||
brew 'ffmpeg'
|
brew 'ffmpeg'
|
||||||
brew 'httpie'
|
|
||||||
brew "openjdk"
|
brew "openjdk"
|
||||||
brew 'openvpn'
|
|
||||||
brew 'asimov' # Exclude node_modules etc from TM backup
|
brew 'asimov' # Exclude node_modules etc from TM backup
|
||||||
brew 'scrcpy' # View screen of an android device
|
brew 'scrcpy' # View screen of an android device
|
||||||
brew 'poppler' # PDF manipulation
|
brew 'poppler' # PDF manipulation (needed for some projects)
|
||||||
brew 'qpdf' # PDF manipulation
|
brew 'qpdf' # PDF manipulation (needed for some projects)
|
||||||
brew 'rename'
|
brew 'rename'
|
||||||
brew 'jordanbaird-ice'
|
|
||||||
|
|
||||||
# Service tools
|
|
||||||
brew 'awscli'
|
|
||||||
brew 'b2-tools'
|
|
||||||
brew 'gh' # GitHub CLI
|
brew 'gh' # GitHub CLI
|
||||||
|
|
||||||
# Infrastructure tools
|
# Infrastructure tools
|
||||||
|
brew 'awscli'
|
||||||
|
brew 'b2-tools'
|
||||||
brew 'just' # Better than makefiles
|
brew 'just' # Better than makefiles
|
||||||
brew 'ansible'
|
brew 'ansible'
|
||||||
brew 'ansible-lint'
|
brew 'ansible-lint'
|
||||||
brew 'dive' # Inspect container images
|
brew 'dive' # Inspect container images
|
||||||
cask 'tailscale'
|
|
||||||
|
|
||||||
# Git tools
|
# Git tools
|
||||||
brew 'git-delta' # Nice diff viewer
|
brew 'git-delta' # Nice diff viewer
|
||||||
|
@ -50,11 +42,9 @@ brew 'git-absorb' # amazing tool for better git fixup
|
||||||
brew 'git-town' # Simple git stacking tool
|
brew 'git-town' # Simple git stacking tool
|
||||||
brew 'withgraphite/tap/graphite' # Advanced stacking tool with web app
|
brew 'withgraphite/tap/graphite' # Advanced stacking tool with web app
|
||||||
|
|
||||||
# Other tools (not necessary for work)
|
# Quicklook extensions
|
||||||
brew 'starship' # fancy shell prompt
|
cask 'qlmarkdown'
|
||||||
brew 'pass' # GPG-based PW manager
|
cask 'quicklook-json'
|
||||||
brew 'openjdk@17' # older jdk for minecraft
|
|
||||||
brew 'wakeonlan' # waking bob
|
|
||||||
|
|
||||||
# Nvim & various dependencies
|
# Nvim & various dependencies
|
||||||
brew 'neovim'
|
brew 'neovim'
|
||||||
|
@ -68,75 +58,53 @@ brew 'pngquant'
|
||||||
brew 'svgo'
|
brew 'svgo'
|
||||||
brew 'gifsicle'
|
brew 'gifsicle'
|
||||||
|
|
||||||
# Development
|
# Runtimes & package managers
|
||||||
brew 'php@8.4'
|
brew 'herd' # Laravel Herd - PHP environment manager
|
||||||
brew 'shivammathur/extensions/xdebug@8.4'
|
|
||||||
brew 'shivammathur/extensions/redis@8.4'
|
|
||||||
brew 'shivammathur/extensions/imagick@8.4'
|
|
||||||
brew 'shivammathur/extensions/swoole@8.4'
|
|
||||||
|
|
||||||
brew 'php@8.3'
|
|
||||||
brew 'shivammathur/extensions/xdebug@8.3'
|
|
||||||
brew 'shivammathur/extensions/redis@8.3'
|
|
||||||
brew 'shivammathur/extensions/imagick@8.3'
|
|
||||||
brew 'shivammathur/extensions/swoole@8.3'
|
|
||||||
|
|
||||||
brew 'php@8.2'
|
|
||||||
brew 'shivammathur/extensions/xdebug@8.2'
|
|
||||||
brew 'shivammathur/extensions/redis@8.2'
|
|
||||||
brew 'shivammathur/extensions/imagick@8.2'
|
|
||||||
brew 'shivammathur/extensions/swoole@8.2'
|
|
||||||
|
|
||||||
brew 'uv' # python dependency manager
|
brew 'uv' # python dependency manager
|
||||||
brew 'composer'
|
brew 'composer'
|
||||||
brew 'node'
|
brew 'node'
|
||||||
|
brew 'corepack'
|
||||||
brew 'deno'
|
brew 'deno'
|
||||||
brew 'oven-sh/bun/bun'
|
brew 'oven-sh/bun/bun'
|
||||||
brew 'corepack'
|
|
||||||
brew 'go'
|
brew 'go'
|
||||||
brew 'rustup'
|
brew 'rustup'
|
||||||
brew 'cargo-make'
|
brew 'cargo-make'
|
||||||
|
|
||||||
# Apps
|
# Apps
|
||||||
cask '1password'
|
cask 'setapp' # Paid App Store for Cleanshot, TablePlus etc.
|
||||||
|
cask '1password' # Password Manager
|
||||||
cask '1password-cli'
|
cask '1password-cli'
|
||||||
cask 'around'
|
cask 'arq' # Backup solution
|
||||||
cask 'docker'
|
cask 'docker'
|
||||||
cask 'caffeine'
|
|
||||||
cask 'chromium', args: { no_quarantine: true }
|
cask 'chromium', args: { no_quarantine: true }
|
||||||
cask 'figma'
|
|
||||||
cask 'firefox'
|
cask 'firefox'
|
||||||
cask 'gpg-suite'
|
cask 'tunnelblick' # OpenVPN Application to access the company VPN
|
||||||
cask 'imageoptim'
|
|
||||||
cask 'iterm2'
|
# Other tools (not necessary for work)
|
||||||
cask 'microsoft-office'
|
cask 'gpg-suite' # GPG handling for signing commits and email (SSH signing can also be used instead)
|
||||||
cask 'microsoft-teams' # requires rosetta
|
cask 'imageoptim' # Tool to optimize images / svgs
|
||||||
cask 'notion'
|
cask 'jordanbaird-ice' # Bartender replacement for cleaner menubar
|
||||||
cask 'rectangle'
|
brew 'starship' # fancy shell prompt
|
||||||
cask 'ray'
|
cask 'iterm2' # Better terminal
|
||||||
|
cask 'rectangle' # Better snap to edge behavior than native
|
||||||
|
cask 'raycast' # Better spotlight search
|
||||||
|
|
||||||
|
# Office / Communication
|
||||||
cask 'signal'
|
cask 'signal'
|
||||||
cask 'dbeaver-community'
|
|
||||||
cask 'the-unarchiver'
|
|
||||||
cask 'tinkerwell'
|
cask 'tinkerwell'
|
||||||
|
cask 'microsoft-office'
|
||||||
|
cask 'microsoft-teams'
|
||||||
|
cask 'notion'
|
||||||
|
cask 'figma'
|
||||||
|
cask 'around'
|
||||||
|
|
||||||
|
# IDEs
|
||||||
cask 'visual-studio-code'
|
cask 'visual-studio-code'
|
||||||
cask 'basecamp'
|
cask 'jetbrains-toolbox'
|
||||||
cask 'setapp'
|
cask 'phpstorm'
|
||||||
|
cask 'intellij-idea-ce'
|
||||||
cask 'android-studio'
|
cask 'android-studio'
|
||||||
cask 'android-platform-tools'
|
cask 'android-platform-tools'
|
||||||
cask 'tunnelblick'
|
|
||||||
cask 'raycast'
|
|
||||||
cask 'phpstorm'
|
|
||||||
cask 'jetbrains-toolbox'
|
|
||||||
cask 'arq'
|
|
||||||
|
|
||||||
# Other non-work stuff
|
|
||||||
cask 'prismlauncher'
|
|
||||||
cask 'spotify'
|
|
||||||
cask 'mactex'
|
|
||||||
cask 'element'
|
|
||||||
cask 'discord'
|
|
||||||
cask 'obs'
|
|
||||||
cask 'obsidian'
|
|
||||||
|
|
||||||
# Fonts
|
# Fonts
|
||||||
cask 'font-fira-code'
|
cask 'font-fira-code'
|
||||||
|
@ -158,5 +126,18 @@ cask 'font-reenie-beanie'
|
||||||
mas 'Keynote', id: 409183694
|
mas 'Keynote', id: 409183694
|
||||||
mas 'Numbers', id: 409203825
|
mas 'Numbers', id: 409203825
|
||||||
mas 'Microsoft Remote Desktop', id: 1295203466
|
mas 'Microsoft Remote Desktop', id: 1295203466
|
||||||
|
|
||||||
|
# Personal
|
||||||
|
brew 'pass' # GPG-based PW manager
|
||||||
|
cask 'tailscale'
|
||||||
|
|
||||||
|
cask 'spotify'
|
||||||
|
cask 'element'
|
||||||
|
cask 'discord'
|
||||||
|
cask 'obs'
|
||||||
|
cask 'obsidian'
|
||||||
|
|
||||||
mas 'Strongbox - KeePass & PwSafe', id: 897283731
|
mas 'Strongbox - KeePass & PwSafe', id: 897283731
|
||||||
mas 'Things', id: 904280696
|
mas 'Things', id: 904280696
|
||||||
|
mas 'Menu Bar Controller for Sonos', id: 1357379892
|
||||||
|
mas 'Goodnotes', id: 1444383602
|
||||||
|
|
Loading…
Add table
Reference in a new issue