{ pkgs }: let casks = pkgs.brewCasks; # the override to replace the package’s source fetch itself rather than just changing a downstream hash field overrideCaskWithHash = name: hash: casks.${name}.overrideAttrs (oldAttrs: { src = pkgs.fetchurl { url = builtins.head oldAttrs.src.urls; hash = hash; }; }); overriddenCasks = { "box-tools" = overrideCaskWithHash "box-tools" "sha256-e7QZ/mWye86d7GDSgD+CtHDLCp/odiFwDcdg7/qxqKc="; daisydisk = overrideCaskWithHash "daisydisk" "sha256-Re9GOfK03Gogb4Ep1itUJm60L94qvGfXgjqpLg8GQlc="; keybase = overrideCaskWithHash "keybase" "sha256-CnFlLeU/BIhiUYebtRpUjJWE0QrsdZsiiZGzRUi31zg="; }; in [ # Development tools casks.arduino-ide casks."docker-desktop" casks.iterm2 casks.oracle-jdk casks."visual-studio-code" # Creative tools casks.blender casks.gimp casks.inkscape casks."vcv-rack" # Communication tools casks.adium casks.discord casks.signal casks.webex casks.whatsapp casks.zoom # Utility tools # These casks currently fail during Homebrew download/build in this environment. # casks."blackhole-16ch" # casks."blackhole-2ch" casks."box-drive" # box-tools currently fails during unpack/install in this environment. # overriddenCasks."box-tools" # daisydisk currently fails with an upstream hash mismatch in this environment. # overriddenCasks.daisydisk # casks."karabiner-elements" overriddenCasks.keybase (overrideCaskWithHash "smartsheet" "sha256-ShCJAKDWMWy++3IC00YdyABvsmLW6DrpvJABAkFQXOA=") casks.spamsieve casks."syncthing-app" casks."synology-drive" # Entertainment tools casks.qobuz casks.steam casks."handbrake-app" casks."jellyfin-media-player" casks.mediaelch casks.obs casks."vimediamanager" casks.vlc # Productivity tools casks."1password" casks.bitwarden casks.calibre casks."dbeaver-community" casks.element casks."gpg-suite" casks."macdown-3000" casks.mailmate casks.orcaslicer casks.remanager casks."qmk-toolbox" casks.smartsheet casks."copilot-cli" # Browsers casks."brave-browser" casks.firefox casks."google-chrome" # X11 casks.xquartz ]