Compare commits
No commits in common. "bcdaa091eb6b3b610bf0d5777c423556b107f108" and "78210642c073b96642f095dc424e2e5f1b32a2f4" have entirely different histories.
bcdaa091eb
...
78210642c0
3 changed files with 20 additions and 23 deletions
|
|
@ -33,10 +33,9 @@ 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 = {
|
||||
|
|
@ -104,25 +103,21 @@ 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}
|
||||
'';
|
||||
};
|
||||
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";
|
||||
scriptArgs = "%I";
|
||||
};
|
||||
})
|
||||
]);
|
||||
|
|
|
|||
|
|
@ -4,10 +4,9 @@ final: prev: {
|
|||
gemini-cli
|
||||
opencode
|
||||
tailscale
|
||||
claude-code
|
||||
#claude-code
|
||||
qwen-code
|
||||
llama-cpp-rocm
|
||||
direnv
|
||||
# open-webui
|
||||
# vscode
|
||||
# nodejs_20
|
||||
|
|
@ -22,7 +21,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 { }; };
|
||||
|
|
|
|||
|
|
@ -36,10 +36,13 @@ with lib.metacfg;
|
|||
environment.systemPackages = with pkgs; [
|
||||
attic-client
|
||||
claude-code
|
||||
dnsmasq
|
||||
gh
|
||||
imagemagick
|
||||
libvirt
|
||||
nodejs
|
||||
qemu
|
||||
virt-manager
|
||||
sox
|
||||
];
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue