From 301d0f7807b8d2c60abb29c366bc7824aea1bea8 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Tue, 7 Apr 2026 09:53:50 +0200 Subject: [PATCH 1/3] refactor(rialo): remove unused packages from systemPackages - Removed `dnsmasq`, `libvirt`, and `virt-manager` for cleanup. --- systems/aarch64-darwin/rialo/default.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/systems/aarch64-darwin/rialo/default.nix b/systems/aarch64-darwin/rialo/default.nix index 54bead8..ef683f2 100644 --- a/systems/aarch64-darwin/rialo/default.nix +++ b/systems/aarch64-darwin/rialo/default.nix @@ -36,13 +36,10 @@ with lib.metacfg; environment.systemPackages = with pkgs; [ attic-client claude-code - dnsmasq gh imagemagick - libvirt nodejs qemu - virt-manager sox ]; From e9bce3fd6aaa7fc6a176b9cdc795e7dced0bdc72 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Tue, 7 Apr 2026 10:01:50 +0200 Subject: [PATCH 2/3] feat(nix): add `direnv` and enable `claude-code` in unstable overlay --- overlays/unstable/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/overlays/unstable/default.nix b/overlays/unstable/default.nix index 7a12bb9..c152d11 100644 --- a/overlays/unstable/default.nix +++ b/overlays/unstable/default.nix @@ -4,9 +4,10 @@ final: prev: { gemini-cli opencode tailscale - #claude-code + claude-code qwen-code llama-cpp-rocm + direnv # open-webui # vscode # nodejs_20 @@ -21,7 +22,7 @@ final: prev: { */ # goose-cli = channels.unstable.callPackage ./goose.nix { }; - claude-code = channels.unstable.callPackage ./claude-code/package.nix { }; + # claude-code = channels.unstable.callPackage ./claude-code/package.nix { }; # gemini-cli = channels.unstable.callPackage ./gemini-cli/package.nix { }; # vscode-extensions = channels.unstable.vscode-extensions // { # rooveterinaryinc = { roo-cline = channels.unstable.callPackage ./roo-code.nix { }; }; From bcdaa091eb6b3b610bf0d5777c423556b107f108 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Tue, 7 Apr 2026 10:38:16 +0200 Subject: [PATCH 3/3] feat(nix): enhance `systemd-email-notify` service configuration - Added `StartLimitIntervalSec` and `StartLimitBurst` for `ntfy-failure@` unit. - Refactored `ExecStart` into `script` for improved readability. - Adjusted `scriptArgs` from `%I` to `%i`. --- .../services/systemd-email-notify/default.nix | 35 +++++++++++-------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/modules/nixos/services/systemd-email-notify/default.nix b/modules/nixos/services/systemd-email-notify/default.nix index 874d0be..cfa26c3 100644 --- a/modules/nixos/services/systemd-email-notify/default.nix +++ b/modules/nixos/services/systemd-email-notify/default.nix @@ -33,9 +33,10 @@ let ERRMAIL ''; - onFailureUnits = - [ "email@%n.service" ] - ++ optionals (cfg.ntfy.tokenFile != null) [ "ntfy-failure@%n.service" ]; + onFailureUnits = [ + "email@%n.service" + ] + ++ optionals (cfg.ntfy.tokenFile != null) [ "ntfy-failure@%n.service" ]; in { options = { @@ -103,21 +104,25 @@ in systemd.services."ntfy-failure@" = { description = "Send ntfy notification on service failure"; onFailure = mkForce [ ]; + unitConfig = { + StartLimitIntervalSec = "5m"; + StartLimitBurst = 1; + }; serviceConfig = { Type = "oneshot"; - ExecStart = pkgs.writeShellScript "ntfy-failure-notify" '' - TOKEN=$(cat ${cfg.ntfy.tokenFile}) - UNIT="$1" - ${pkgs.curl}/bin/curl -s \ - -H "Authorization: Bearer $TOKEN" \ - -H "Title: Service failed: $UNIT" \ - -H "Priority: urgent" \ - -H "Tags: rotating_light" \ - -d "$(systemctl status --full "$UNIT" 2>&1 | head -40)" \ - ${cfg.ntfy.url}/${cfg.ntfy.topic} - ''; }; - scriptArgs = "%I"; + script = '' + TOKEN=$(cat ${cfg.ntfy.tokenFile}) + UNIT="$1" + ${pkgs.curl}/bin/curl -s \ + -H "Authorization: Bearer $TOKEN" \ + -H "Title: Service failed: $UNIT" \ + -H "Priority: urgent" \ + -H "Tags: rotating_light" \ + -d "$(systemctl status --full "$UNIT" 2>&1 | head -40)" \ + ${cfg.ntfy.url}/${cfg.ntfy.topic} + ''; + scriptArgs = "%i"; }; }) ]);