From 3d80e34988bb05562fe4906c34055ff886114b5c Mon Sep 17 00:00:00 2001 From: Shun Kakinoki Date: Fri, 21 Nov 2025 03:03:13 -0300 Subject: [PATCH 1/2] chore: add automatic brew upgrader service - Add brew-upgrader service module for macOS launchd - Runs brew upgrade every 3 hours with logging - Integrates into home-manager services - Conditional on Darwin (macOS) platform --- home-manager/services/brew-upgrader/default.nix | 17 +++++++++++++++++ home-manager/services/brew-upgrader/upgrade.sh | 5 +++++ home-manager/services/default.nix | 2 ++ 3 files changed, 24 insertions(+) create mode 100644 home-manager/services/brew-upgrader/default.nix create mode 100755 home-manager/services/brew-upgrader/upgrade.sh diff --git a/home-manager/services/brew-upgrader/default.nix b/home-manager/services/brew-upgrader/default.nix new file mode 100644 index 000000000..c36902163 --- /dev/null +++ b/home-manager/services/brew-upgrader/default.nix @@ -0,0 +1,17 @@ +{ pkgs, ... }: +{ + launchd.agents.brew-upgrader = pkgs.lib.mkIf pkgs.stdenv.isDarwin { + enable = true; + config = { + ProgramArguments = [ + "${pkgs.bash}/bin/bash" + "${./upgrade.sh}" + ]; + RunAtLoad = true; + KeepAlive = true; + StartInterval = 10800; + StandardOutPath = "/tmp/brew-upgrader.log"; + StandardErrorPath = "/tmp/brew-upgrader.error.log"; + }; + }; +} diff --git a/home-manager/services/brew-upgrader/upgrade.sh b/home-manager/services/brew-upgrader/upgrade.sh new file mode 100755 index 000000000..da7e83d93 --- /dev/null +++ b/home-manager/services/brew-upgrader/upgrade.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -euo pipefail + +brew upgrade diff --git a/home-manager/services/default.nix b/home-manager/services/default.nix index 9dddf21ec..b79fcd2a0 100644 --- a/home-manager/services/default.nix +++ b/home-manager/services/default.nix @@ -4,8 +4,10 @@ let dotfilesUpdater = import ./dotfiles-updater { inherit pkgs; }; neversslKeepalive = import ./neverssl-keepalive { inherit pkgs; }; # ollama = import ./ollama { inherit pkgs; }; # FIXME: ollama 0.12.11 has build issues with UI assets, uncomment when fixed + brewUpgrader = import ./brew-upgrader { inherit pkgs; }; in [ + brewUpgrade codeSyncer dotfilesUpdater neversslKeepalive From 53e1c4068ee1544d1391fc24e61dd02595326b06 Mon Sep 17 00:00:00 2001 From: Shun Kakinoki Date: Fri, 21 Nov 2025 03:04:10 -0300 Subject: [PATCH 2/2] refactor: rename brewUpgrade to brewUpgrader in home-manager services - Updated the service name for consistency with the newly added brew-upgrader module. - Ensures clarity and alignment with the existing service structure. --- home-manager/services/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-manager/services/default.nix b/home-manager/services/default.nix index b79fcd2a0..492703b0f 100644 --- a/home-manager/services/default.nix +++ b/home-manager/services/default.nix @@ -7,7 +7,7 @@ let brewUpgrader = import ./brew-upgrader { inherit pkgs; }; in [ - brewUpgrade + brewUpgrader codeSyncer dotfilesUpdater neversslKeepalive