a better macOS applications experience
ditch the mac app store and gatekeeper

intro

in Michael Bazzell’s book, Extreme Privacy, his guide to setting up a highly secure and private macOS device requires the user to ditch any and all reliance on the mac app store. this means that if you want to use macOS without an apple ID, you can’t use the mac app store to install any of your applications.

Bazzell’s alternative to the mac app store is to use homebrew for sourcing as many of your applications as possible.

i’ve been using brew install --cask for years to install a very few select desktop applications, but it never ocurred to me to…just try and search for all my commonly used applications using brew search {app name}. it turns out there are a whole lot more desktop applications available to be installed through brew install --cask.

brew install --cask brave-browser # installs Brave Browser.app

probably the single biggest convenience of sourcing as many of your applications as you can is to be able to update all of them in just a single command:

brew upgrade --cask --greedy

disable gatekeeper

(pro users are, shockingly, adults who understand how to use our macs responsibly)

this wasn’t necessary pre-macOS-Ventura because we could simply right-click to open a new unsigned application, and confirm with a single prompt, but Ventura and later cranked up the babysitting to 11 by, first, telling us “no you can’t open this unverified application”, then forcing us to go to System Settings -> Privacy and Security, clicking “Open anyway”, confirming yet another prompt and authenticating with a password or Touch ID, before the application will finally open.

when setting up a new mac, this is a big hassle to for every application you want to use that isn’t signed by apple.

# check the status of gatekeeper
$ sudo spctl --status
assessments disabled

# disable gatekeeper with
$ sudo spctl --master-disable
Globally disabling the assessment system needs to be confirmed in System Settings.

then go to System Settings -> Privacy and Security -> Allow applications from: -> Anywhere

screenshot of system settings

and dismiss the babysitter by clicking “Allow From Anywhere”

screenshot of the babysitting prompt

now that we are one setting closer to the good ol’ days of Mac OS X Tiger…

example applications available through homebrew

here are some applications i’ve been using for years but did not know were available through homebrew:

CharlesSoft’s Pacifist!

finding this homebrew was pretty awesome

$ brew info pacifist
==> pacifist: 4.1.1 (auto_updates)
https://www.charlessoft.com/
Installed
/opt/homebrew/Caskroom/pacifist/4.1.1 (56.7MB)
  Installed using the formulae.brew.sh API on 2024-12-10 at 18:10:04
From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/p/pacifist.rb
==> Name
Pacifist
==> Description
Extract files and folders from package files, disk images, and archives
==> Artifacts
Pacifist.app (App)
/Applications/Pacifist.app/Contents/Resources/usr/bin/pacifist (Binary)
==> Analytics
install: 35 (30 days), 123 (90 days), 423 (365 days)

the OG AppCleaner

$ brew info appcleaner
==> appcleaner: 3.6.8 (auto_updates)
https://freemacsoft.net/appcleaner/
Not installed
From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/a/appcleaner.rb
==> Name
FreeMacSoft AppCleaner
==> Description
Application uninstaller
==> Artifacts
AppCleaner.app (App)
==> Analytics
install: 3,160 (30 days), 8,326 (90 days), 31,759 (365 days)

the entire OmniGroup suite (including OmniDiskSweeper!)

$ brew search omni
==> Formulae
omniorb

==> Casks
insomnia              insomnium             omnidb                omnifocus             omnioutliner          omnipresence
insomnia@alpha        omnidazzle            omnidisksweeper       omnigraffle           omniplan

$ brew info omnidisksweeper
==> omnidisksweeper: 1.15.1b (auto_updates)
https://www.omnigroup.com/more/
Not installed
From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/o/omnidisksweeper.rb
==> Name
OmniDiskSweeper
==> Description
Finds large, unwanted files and deletes them
==> Artifacts
OmniDiskSweeper.app (App)
==> Analytics
install: 279 (30 days), 801 (90 days), 2,697 (365 days)

BetterTouchTool

i can’t live without BTT, but for the last…decade?…i’ve been installing it manually through the website. that is no longer necessary!

$ brew info bettertouchtool
==> bettertouchtool: 4.964,2024121009 (auto_updates)
https://folivora.ai/
Not installed
From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/b/bettertouchtool.rb
==> Name
BetterTouchTool
==> Description
Tool to customise input devices and automate computer systems
==> Artifacts
BetterTouchTool.app (App)
==> Analytics
install: 1,518 (30 days), 4,536 (90 days), 15,710 (365 days)

MacTracker

(though this one should have been obvious over a decade ago…)

$ brew info mactracker
==> mactracker: 7.13 (auto_updates)
https://mactracker.ca/
Installed
/opt/homebrew/Caskroom/mactracker/7.13 (280.5MB)
  Installed using the formulae.brew.sh API on 2024-12-04 at 19:58:41
From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/m/mactracker.rb
==> Name
Mactracker
==> Description
Detailed information on every Apple product ever made
==> Artifacts
Mactracker.app (App)
==> Analytics
install: 125 (30 days), 266 (90 days), 1,067 (365 days)

网易云音乐 (Netease Music) and 微信 (WeChat)

these two i never expected to be available through homebrew

$ brew info neteasemusic
==> neteasemusic: 2.3.21_1077 (auto_updates)
https://music.163.com/
Not installed
From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/n/neteasemusic.rb
==> Names
NetEase cloud music
网易云音乐
==> Description
Music streaming platform
==> Artifacts
NeteaseMusic.app (App)
==> Analytics
install: 228 (30 days), 641 (90 days), 2,849 (365 days)

$ brew info wechat
==> wechat: 3.8.9.17 (auto_updates)
https://mac.weixin.qq.com/
Not installed
From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/w/wechat.rb
==> Names
WeChat for Mac
微信 Mac 
==> Description
Free messaging and calling application
==> Artifacts
WeChat.app (App)
==> Analytics
install: 811 (30 days), 2,377 (90 days), 9,029 (365 days)

Lulu (open-source firewall)

brew info lulu
==> lulu: 2.9.6
https://objective-see.com/products/lulu.html
Installed
/opt/homebrew/Caskroom/lulu/2.9.6 (7.3MB)
  Installed using the formulae.brew.sh API on 2024-12-10 at 18:08:37
From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/l/lulu.rb
==> Name
LuLu
==> Description
Open-source firewall to block unknown outgoing connections
==> Artifacts
LuLu.app (App)
==> Analytics
install: 804 (30 days), 2,558 (90 days), 11,246 (365 days)

Caffeine

the one that keeps your mac from sleeping with one click in the menu bar!

$ brew info caffeine
==> caffeine: 1.1.3
https://intelliscapesolutions.com/apps/caffeine
Not installed
From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/c/caffeine.rb
==> Name
Caffeine
==> Description
Utility that prevents the system from going to sleep
==> Artifacts
Caffeine.app (App)
==> Caveats
caffeine is built for Intel macOS and so requires Rosetta 2 to be installed.
You can install Rosetta 2 with:
  softwareupdate --install-rosetta --agree-to-license
Note that it is very difficult to remove Rosetta 2 once it is installed.

==> Analytics
install: 1,526 (30 days), 4,136 (90 days), 16,276 (365 days)

and a whole host of others more, including:

vlc # yep—VLC.app!
standard-notes
onyx
knockknock
taskexplorer
xnviewmp
telegram-desktop
bruno
iterm2
utm # UTM.app, the VM manager!
betterdisplay # as in BetterDisplay.pro

search, info, install, upgrade

you can always do a search for your favorite application with brew search:

$ brew search pacifist
==> Formulae
pachi

==> Casks
pacifist ✔

and confirm it’s exactly what you’re looking for with brew info:

$ brew info pacifist
==> pacifist: 4.1.1 (auto_updates)
https://www.charlessoft.com/
Installed
/opt/homebrew/Caskroom/pacifist/4.1.1 (56.7MB)
  Installed using the formulae.brew.sh API on 2024-12-10 at 18:10:04
From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/p/pacifist.rb
==> Name
Pacifist
==> Description
Extract files and folders from package files, disk images, and archives
==> Artifacts
Pacifist.app (App)
/Applications/Pacifist.app/Contents/Resources/usr/bin/pacifist (Binary)
==> Analytics
install: 35 (30 days), 123 (90 days), 423 (365 days)

install with brew install --cask:

$ brew install --cask pacifist
==> Downloading https://formulae.brew.sh/api/cask.jws.json
########################################################################################################################################## 100.0%
Warning: Not upgrading pacifist, the latest version is already installed

check for installed applications with brew list --cask, and upgrade them all with brew upgrade --cask --greedy


Last modified on 2024-12-11

Comments Disabled.