{ config, lib, pkgs, user, inputs, ... }: { options.custom.brew = with lib; { zen-browser = mkEnableOption "Enable Zen Browser"; webex = mkEnableOption "Enable Webe"; zoom = mkEnableOption "Enable Zoom"; slack = mkEnableOption "Enable Slack"; ghostty = mkEnableOption "Enable Ghostty"; ms-office = mkEnableOption "Enable MS Office"; ms-teams = mkEnableOption "Enable MS Teams"; spotify = mkEnableOption "Enable Spotify"; raycast = mkEnableOption "Enable Raycast"; whatsapp = mkEnableOption "Enable Whatsapp"; vscode = mkEnableOption "Enable VSCode"; firefox = mkEnableOption "Enable Firefox"; chromium = mkEnableOption "Enable Chromium"; aldente = mkEnableOption "Enable AlDente"; }; config = lib.mkMerge [ { nix-homebrew = { inherit user; enable = true; enableRosetta = true; taps = { "homebrew/homebrew-core" = inputs.homebrew-core; "homebrew/homebrew-cask" = inputs.homebrew-cask; "homebrew/homebrew-createzap" = inputs.homebrew-createzap; }; mutableTaps = false; }; homebrew = { enable = true; onActivation = { # autoUpdate = true; # cleanup = "zap"; }; global = { brewfile = true; }; }; } (lib.mkIf config.custom.brew.zen-browser { homebrew.casks = [ "zen-browser" ]; }) (lib.mkIf config.custom.brew.webex { homebrew.casks = [ "webex" ]; }) (lib.mkIf config.custom.brew.slack { homebrew.casks = [ "slack" ]; }) (lib.mkIf config.custom.brew.zoom { homebrew.casks = [ "zoom" ]; }) (lib.mkIf config.custom.brew.spotify { homebrew.casks = [ "spotify" ]; }) (lib.mkIf config.custom.brew.ghostty { homebrew.casks = [ "ghostty" ]; }) (lib.mkIf config.custom.brew.ms-office { homebrew.casks = [ "microsoft-office" ]; }) (lib.mkIf config.custom.brew.ms-teams { homebrew.casks = [ "microsoft-teams" ]; }) (lib.mkIf config.custom.brew.raycast { homebrew.casks = [ "raycast" ]; }) (lib.mkIf config.custom.brew.whatsapp { homebrew.casks = [ "whatsapp" ]; }) (lib.mkIf config.custom.brew.vscode { homebrew.casks = [ "visual-studio-code" ]; }) (lib.mkIf config.custom.brew.firefox { homebrew.casks = [ "firefox" ]; }) (lib.mkIf config.custom.brew.chromium { homebrew.casks = [ "chromium" ]; }) (lib.mkIf config.custom.brew.aldente { homebrew.casks = [ "aldente" ]; }) ]; }