feat!(macos): Clean up apps & use herd

This commit is contained in:
Saibotk 2024-12-02 23:16:21 +01:00
parent 413d0bce85
commit d4acb95e36
Signed by: saibotk
GPG key ID: 67585F0065E261D5
2 changed files with 59 additions and 81 deletions

View file

@ -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.}

View file

@ -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