From 67fbc7aa24cf0f4b5322b6f99fb3856bb9a1ab08 Mon Sep 17 00:00:00 2001 From: Ameya Shenoy Date: Fri, 31 May 2024 15:52:23 +0530 Subject: [PATCH] checks: add check to ensure Homebrew is installed Co-Authored-By: Michael Hoang --- modules/system/checks.nix | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/modules/system/checks.nix b/modules/system/checks.nix index ec6e3b5..ab6ea19 100644 --- a/modules/system/checks.nix +++ b/modules/system/checks.nix @@ -28,6 +28,7 @@ let fi ''; + oldBuildUsers = '' if dscl . -list /Users | grep -q '^nixbld'; then echo "error: Detected old style nixbld users, aborting activation" >&2 @@ -283,6 +284,19 @@ let exit 2 fi ''; + + homebrewInstalled = '' + if [[ ! -f ${escapeShellArg config.homebrew.brewPrefix}/brew ]]; then + echo "error: Using the homebrew module requires homebrew installed, aborting activation" >&2 + echo "Homebrew doesn't seem to be installed. Please install homebrew separately." >&2 + echo "You can install homebrew using the following command:" >&2 + echo >&2 + # shellcheck disable=SC2016 + echo ' /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"' >&2 + echo >&2 + exit 2 + fi + ''; in { @@ -331,6 +345,7 @@ in nixInstaller (mkIf cfg.verifyNixPath nixPath) oldSshAuthorizedKeysDirectory + (mkIf config.homebrew.enable homebrewInstalled) ]; system.activationScripts.checks.text = ''