87 lines
1.9 KiB
Nix
87 lines
1.9 KiB
Nix
{
|
|
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";
|
|
};
|
|
|
|
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"
|
|
];
|
|
})
|
|
];
|
|
}
|