Enable Homebrew for aarch64-darwin

Added configuration to enable Homebrew on aarch64-darwin systems. Created a new module for managing Homebrew settings and added support for declarative tap management.
This commit is contained in:
Harald Hoyer 2024-11-25 15:41:54 +01:00
parent cbe03d1060
commit a8acb0900b
2 changed files with 45 additions and 0 deletions

View file

@ -0,0 +1,38 @@
{ lib, config, inputs, ... }:
with lib;
with lib.metacfg;
let
cfg = config.metacfg.system.fonts;
in
{
imports = [ inputs.nix-homebrew.darwinModules.nix-homebrew ];
options.metacfg.system.homebrew = with types; {
enable = mkBoolOpt false "Whether or not to enable homebrew";
};
config = mkIf cfg.enable {
nix-homebrew = {
# Install Homebrew under the default prefix
enable = true;
# Apple Silicon Only: Also install Homebrew under the default Intel prefix for Rosetta 2
enableRosetta = false;
# User owning the Homebrew prefix
user = "harald";
# Optional: Declarative tap management
taps = {
"homebrew/homebrew-core" = inputs.homebrew-core;
"homebrew/homebrew-cask" = inputs.homebrew-cask;
"homebrew/homebrew-bundle" = inputs.homebrew-bundle;
};
# Optional: Enable fully-declarative tap management
#
# With mutableTaps disabled, taps can no longer be added imperatively with `brew tap`.
mutableTaps = false;
};
};
}

View file

@ -2,7 +2,14 @@
with lib.metacfg; with lib.metacfg;
{ {
homebrew = {
enable = true;
brews = [ "libusb"];
};
metacfg = { metacfg = {
system.homebrew = enabled;
suites = { suites = {
common = enabled; common = enabled;
}; };