44 lines
967 B
Nix
44 lines
967 B
Nix
{
|
|
lib,
|
|
config,
|
|
homebrew-core,
|
|
homebrew-cask,
|
|
...
|
|
}:
|
|
let
|
|
cfg = config.os.homebrew;
|
|
in
|
|
{
|
|
options.os.homebrew = {
|
|
enable = lib.mkEnableOption "Homebrew options";
|
|
};
|
|
config = lib.mkIf cfg.enable {
|
|
|
|
nix-homebrew = {
|
|
# User owning the Homebrew prefix
|
|
user = "alistreaza";
|
|
|
|
# Install Homebrew under the default prefix
|
|
enable = true;
|
|
|
|
# Apple Silicon Only: Also install Homebrew under the default Intel prefix for Rosetta 2
|
|
enableRosetta = false;
|
|
|
|
# Optional: Declarative tap management
|
|
taps = {
|
|
"homebrew/homebrew-core" = homebrew-core;
|
|
"homebrew/homebrew-cask" = homebrew-cask;
|
|
};
|
|
|
|
# Optional: Enable fully-declarative tap management
|
|
#
|
|
# With mutableTaps disabled, taps can no longer be added imperatively with `brew tap`.
|
|
mutableTaps = false;
|
|
};
|
|
|
|
homebrew.enable = true;
|
|
homebrew.taps = builtins.attrNames config.nix-homebrew.taps;
|
|
|
|
};
|
|
}
|