summaryrefslogtreecommitdiff
path: root/modules/homebrew.nix
diff options
context:
space:
mode:
authorMike Vink <59492084+ivi-vink@users.noreply.github.com>2025-01-16 22:22:34 +0100
committerGitHub <noreply@github.com>2025-01-16 22:22:34 +0100
commit8e7bd91f353caacc0bc4105f573eb3e17f09e03a (patch)
treec5059edcbebd9644290cad7c653c49a36d593021 /modules/homebrew.nix
parent6bd39d420578aacf7c0bab7de3e7027b952115ae (diff)
parentbd921223ba7cdac346477d7ea5204d6f4736fcc6 (diff)
Merge branch 'LnL7:master' into masterHEADmaster
Diffstat (limited to 'modules/homebrew.nix')
-rw-r--r--modules/homebrew.nix103
1 files changed, 53 insertions, 50 deletions
diff --git a/modules/homebrew.nix b/modules/homebrew.nix
index fa6f1cd..d975170 100644
--- a/modules/homebrew.nix
+++ b/modules/homebrew.nix
@@ -65,7 +65,7 @@ let
type = types.enum [ "none" "uninstall" "zap" ];
default = "none";
example = "uninstall";
- description = lib.mdDoc ''
+ description = ''
This option manages what happens to formulae installed by Homebrew, that aren't present in
the Brewfile generated by this module, during {command}`nix-darwin` system
activation.
@@ -92,7 +92,7 @@ let
autoUpdate = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Whether to enable Homebrew to auto-update itself and all formulae during
{command}`nix-darwin` system activation. The default is `false`
so that repeated invocations of {command}`darwin-rebuild switch` are idempotent.
@@ -111,7 +111,7 @@ let
upgrade = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Whether to enable Homebrew to upgrade outdated formulae and Mac App Store apps during
{command}`nix-darwin` system activation. The default is `false`
so that repeated invocations of {command}`darwin-rebuild switch` are idempotent.
@@ -125,7 +125,7 @@ let
type = types.listOf types.str;
default = [ ];
example = [ "--verbose" ];
- description = lib.mdDoc ''
+ description = ''
Extra flags to pass to {command}`brew bundle [install]` during {command}`nix-darwin`
system activation.
'';
@@ -151,7 +151,7 @@ let
brewfile = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Whether to enable Homebrew to automatically use the Brewfile that this module generates in
the Nix store, when you manually invoke {command}`brew bundle`.
@@ -172,7 +172,7 @@ let
autoUpdate = mkOption {
type = types.bool;
default = true;
- description = lib.mdDoc ''
+ description = ''
Whether to enable Homebrew to auto-update itself and all formulae when you manually invoke
commands like {command}`brew install`, {command}`brew upgrade`,
{command}`brew tap`, and {command}`brew bundle [install]`.
@@ -195,7 +195,7 @@ let
type = types.bool;
default = !config.brewfile;
defaultText = literalExpression "!config.homebrew.global.brewfile";
- description = lib.mdDoc ''
+ description = ''
Whether to enable Homebrew to generate lockfiles when you manually invoke
{command}`brew bundle [install]`.
@@ -235,14 +235,14 @@ let
name = mkOption {
type = types.str;
example = "homebrew/cask-fonts";
- description = lib.mdDoc ''
+ description = ''
When {option}`clone_target` is unspecified, this is the name of a formula
repository to tap from GitHub using HTTPS. For example, `"user/repo"`
will tap https://github.com/user/homebrew-repo.
'';
};
clone_target = mkNullOrStrOption {
- description = lib.mdDoc ''
+ description = ''
Use this option to tap a formula repository from anywhere, using any transport protocol
that {command}`git` handles. When {option}`clone_target` is specified, taps
can be cloned from places other than GitHub and using protocols other than HTTPS, e.g.,
@@ -250,7 +250,7 @@ let
'';
};
force_auto_update = mkNullOrBoolOption {
- description = lib.mdDoc ''
+ description = ''
Whether to auto-update the tap even if it is not hosted on GitHub. By default, only taps
hosted on GitHub are auto-updated (for performance reasons).
'';
@@ -277,77 +277,77 @@ let
caskArgsOptions = { config, ... }: {
options = {
appdir = mkNullOrStrOption {
- description = lib.mdDoc ''
+ description = ''
Target location for Applications.
Homebrew's default is {file}`/Applications`.
'';
};
colorpickerdir = mkNullOrStrOption {
- description = lib.mdDoc ''
+ description = ''
Target location for Color Pickers.
Homebrew's default is {file}`~/Library/ColorPickers`.
'';
};
prefpanedir = mkNullOrStrOption {
- description = lib.mdDoc ''
+ description = ''
Target location for Preference Panes.
Homebrew's default is {file}`~/Library/PreferencePanes`.
'';
};
qlplugindir = mkNullOrStrOption {
- description = lib.mdDoc ''
+ description = ''
Target location for QuickLook Plugins.
Homebrew's default is {file}`~/Library/QuickLook`.
'';
};
mdimporterdir = mkNullOrStrOption {
- description = lib.mdDoc ''
+ description = ''
Target location for Spotlight Plugins.
Homebrew's default is {file}`~/Library/Spotlight`.
'';
};
dictionarydir = mkNullOrStrOption {
- description = lib.mdDoc ''
+ description = ''
Target location for Dictionaries.
Homebrew's default is {file}`~/Library/Dictionaries`.
'';
};
fontdir = mkNullOrStrOption {
- description = lib.mdDoc ''
+ description = ''
Target location for Fonts.
Homebrew's default is {file}`~/Library/Fonts`.
'';
};
servicedir = mkNullOrStrOption {
- description = lib.mdDoc ''
+ description = ''
Target location for Services.
Homebrew's default is {file}`~/Library/Services`.
'';
};
input_methoddir = mkNullOrStrOption {
- description = lib.mdDoc ''
+ description = ''
Target location for Input Methods.
Homebrew's default is {file}`~/Library/Input Methods`.
'';
};
internet_plugindir = mkNullOrStrOption {
- description = lib.mdDoc ''
+ description = ''
Target location for Internet Plugins.
Homebrew's default is {file}`~/Library/Internet Plug-Ins`.
'';
};
audio_unit_plugindir = mkNullOrStrOption {
- description = lib.mdDoc ''
+ description = ''
Target location for Audio Unit Plugins.
Homebrew's default is
@@ -355,28 +355,28 @@ let
'';
};
vst_plugindir = mkNullOrStrOption {
- description = lib.mdDoc ''
+ description = ''
Target location for VST Plugins.
Homebrew's default is {file}`~/Library/Audio/Plug-Ins/VST`.
'';
};
vst3_plugindir = mkNullOrStrOption {
- description = lib.mdDoc ''
+ description = ''
Target location for VST3 Plugins.
Homebrew's default is {file}`~/Library/Audio/Plug-Ins/VST3`.
'';
};
screen_saverdir = mkNullOrStrOption {
- description = lib.mdDoc ''
+ description = ''
Target location for Screen Savers.
Homebrew's default is {file}`~/Library/Screen Savers`.
'';
};
language = mkNullOrStrOption {
- description = lib.mdDoc ''
+ description = ''
Comma-separated list of language codes to prefer for cask installation. The first matching
language is used, otherwise it reverts to the cask’s default language. The default value
is the language of your system.
@@ -384,17 +384,20 @@ let
example = "zh-TW";
};
require_sha = mkNullOrBoolOption {
- description = lib.mdDoc ''
+ description = ''
Whether to require cask(s) to have a checksum.
Homebrew's default is `false`.
'';
};
no_quarantine = mkNullOrBoolOption {
- description = lib.mdDoc "Whether to disable quarantining of downloads.";
+ description = "Whether to disable quarantining of downloads.";
};
no_binaries = mkNullOrBoolOption {
- description = lib.mdDoc "Whether to disable linking of helper executables.";
+ description = "Whether to disable linking of helper executables.";
+ };
+ ignore_dependencies = mkNullOrBoolOption {
+ description = "Ignore casks dependencies in case you manage them extrenally";
};
brewfileLine = mkInternalOption { type = types.nullOr types.str; };
@@ -415,12 +418,12 @@ let
options = {
name = mkOption {
type = types.str;
- description = lib.mdDoc "The name of the formula to install.";
+ description = "The name of the formula to install.";
};
args = mkOption {
type = with types; nullOr (listOf str);
default = null;
- description = lib.mdDoc ''
+ description = ''
Arguments flags to pass to {command}`brew install`. Values should not include the
leading `"--"`.
'';
@@ -428,7 +431,7 @@ let
conflicts_with = mkOption {
type = with types; nullOr (listOf str);
default = null;
- description = lib.mdDoc ''
+ description = ''
List of formulae that should be unlinked and their services stopped (if they are
installed).
'';
@@ -436,7 +439,7 @@ let
restart_service = mkOption {
type = with types; nullOr (either bool (enum [ "changed" ]));
default = null;
- description = lib.mdDoc ''
+ description = ''
Whether to run {command}`brew services restart` for the formula and register it to
launch at login (or boot). If set to `"changed"`, the service will only
be restarted on version changes.
@@ -445,7 +448,7 @@ let
'';
};
start_service = mkNullOrBoolOption {
- description = lib.mdDoc ''
+ description = ''
Whether to run {command}`brew services start` for the formula and register it to
launch at login (or boot).
@@ -453,7 +456,7 @@ let
'';
};
link = mkNullOrBoolOption {
- description = lib.mdDoc ''
+ description = ''
Whether to link the formula to the Homebrew prefix. When this option is
`null`, Homebrew will use it's default behavior which is to link the
formula if it's currently unlinked and not keg-only, and to unlink the formula if it's
@@ -488,19 +491,19 @@ let
options = {
name = mkOption {
type = types.str;
- description = lib.mdDoc "The name of the cask to install.";
+ description = "The name of the cask to install.";
};
args = mkOption {
type = types.nullOr (types.submodule caskArgsOptions);
default = null;
visible = "shallow"; # so that options from `homebrew.caskArgs` aren't repeated.
- description = lib.mdDoc ''
+ description = ''
Arguments passed to {command}`brew install --cask` when installing this cask. See
[](#opt-homebrew.caskArgs) for the available options.
'';
};
greedy = mkNullOrBoolOption {
- description = lib.mdDoc ''
+ description = ''
Whether to always upgrade this cask regardless of whether it's unversioned or it updates
itself.
'';
@@ -531,7 +534,7 @@ in
];
options.homebrew = {
- enable = mkEnableOption (lib.mdDoc ''
+ enable = mkEnableOption ''
{command}`nix-darwin` to manage installing/updating/upgrading Homebrew taps, formulae,
and casks, as well as Mac App Store apps and Docker containers, using Homebrew Bundle.
@@ -554,7 +557,7 @@ in
[](#opt-homebrew.onActivation).
This module also provides a few options for modifying how Homebrew commands behave when
- you manually invoke them, under [](#opt-homebrew.global)'');
+ you manually invoke them, under [](#opt-homebrew.global)'';
brewPrefix = mkOption {
type = types.str;
@@ -563,7 +566,7 @@ in
if pkgs.stdenv.hostPlatform.isAarch64 then "/opt/homebrew/bin"
else "/usr/local/bin"
'';
- description = lib.mdDoc ''
+ description = ''
The path prefix where the {command}`brew` executable is located. This will be set to
the correct value based on your system's platform, and should only need to be changed if you
manually installed Homebrew in a non-standard location.
@@ -573,7 +576,7 @@ in
onActivation = mkOption {
type = types.submodule onActivationOptions;
default = { };
- description = lib.mdDoc ''
+ description = ''
Options for configuring the behavior of the {command}`brew bundle` command that
{command}`nix-darwin` runs during system activation.
'';
@@ -582,7 +585,7 @@ in
global = mkOption {
type = types.submodule globalOptions;
default = { };
- description = lib.mdDoc ''
+ description = ''
Options for configuring the behavior of Homebrew commands when you manually invoke them.
'';
};
@@ -604,7 +607,7 @@ in
}
]
'';
- description = lib.mdDoc ''
+ description = ''
List of Homebrew formula repositories to tap.
Taps defined as strings, e.g., `"user/repo"`, are a shorthand for:
@@ -622,7 +625,7 @@ in
require_sha = true;
}
'';
- description = lib.mdDoc ''
+ description = ''
Arguments passed to {command}`brew install --cask` for all casks listed in
[](#opt-homebrew.casks).
'';
@@ -653,7 +656,7 @@ in
}
]
'';
- description = lib.mdDoc ''
+ description = ''
List of Homebrew formulae to install.
Formulae defined as strings, e.g., `"imagemagick"`, are a shorthand for:
@@ -684,7 +687,7 @@ in
}
]
'';
- description = lib.mdDoc ''
+ description = ''
List of Homebrew casks to install.
Casks defined as strings, e.g., `"google-chrome"`, are a shorthand for:
@@ -702,7 +705,7 @@ in
Xcode = 497799835;
}
'';
- description = lib.mdDoc ''
+ description = ''
Applications to install from Mac App Store using {command}`mas`.
When this option is used, `"mas"` is automatically added to
@@ -723,7 +726,7 @@ in
type = with types; listOf str;
default = [ ];
example = [ "whalebrew/wget" ];
- description = lib.mdDoc ''
+ description = ''
List of Docker images to install using {command}`whalebrew`.
When this option is used, `"whalebrew"` is automatically added to
@@ -741,12 +744,12 @@ in
# 'brew cask install' only if '/usr/libexec/java_home --failfast' fails
cask "java" unless system "/usr/libexec/java_home --failfast"
'';
- description = lib.mdDoc "Extra lines to be added verbatim to the bottom of the generated Brewfile.";
+ description = "Extra lines to be added verbatim to the bottom of the generated Brewfile.";
};
brewfile = mkInternalOption {
type = types.str;
- description = lib.mdDoc "String reprensentation of the generated Brewfile useful for debugging.";
+ description = "String reprensentation of the generated Brewfile useful for debugging.";
};
};