Compare commits

...

2 commits

Author SHA1 Message Date
Felix Buehler
7e5d13ac3d treewide: fmt
Some checks failed
/ Build Nix targets (push) Has been cancelled
2025-07-27 19:36:43 +02:00
Felix Buehler
1a890597ff flake: update 2025-07-27 18:40:08 +02:00
7 changed files with 50 additions and 45 deletions

30
flake.lock generated
View file

@ -7,11 +7,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1752718651, "lastModified": 1753140376,
"narHash": "sha256-PkaR0qmyP9q/MDN3uYa+RLeBA0PjvEQiM0rTDDBXkL8=", "narHash": "sha256-7lrVrE0jSvZHrxEzvnfHFE/Wkk9DDqb+mYCodI5uuB8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "d5ad4485e6f2edcc06751df65c5e16572877db88", "rev": "545aba02960caa78a31bd9a8709a0ad4b6320a5c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -41,11 +41,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1751413152, "lastModified": 1753121425,
"narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", "narHash": "sha256-TVcTNvOeWWk1DXljFxVRp+E0tzG1LhrVjOGGoMHuXio=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", "rev": "644e0fc48951a860279da645ba77fe4a6e814c5e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -222,11 +222,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1752666637, "lastModified": 1753122741,
"narHash": "sha256-P8J72psdc/rWliIvp8jUpoQ6qRDlVzgSDDlgkaXQ0Fw=", "narHash": "sha256-nFxE8lk9JvGelxClCmwuJYftbHqwnc01dRN4DVLUroM=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "d1bfa8f6ccfb5c383e1eba609c1eb67ca24ed153", "rev": "cc66fddc6cb04ab479a1bb062f4d4da27c936a22",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -237,11 +237,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1752620740, "lastModified": 1753345091,
"narHash": "sha256-f3pO+9lg66mV7IMmmIqG4PL3223TYMlnlw+pnpelbss=", "narHash": "sha256-CdX2Rtvp5I8HGu9swBmYuq+ILwRxpXdJwlpg8jvN4tU=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "32a4e87942101f1c9f9865e04dc3ddb175f5f32e", "rev": "3ff0e34b1383648053bba8ed03f201d3466f90c9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -294,11 +294,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1752687322, "lastModified": 1753429684,
"narHash": "sha256-RKwfXA4OZROjBTQAl9WOZQFm7L8Bo93FQwSJpAiSRvo=", "narHash": "sha256-9h7+4/53cSfQ/uA3pSvCaBepmZaz/dLlLVJnbQ+SJjk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "6e987485eb2c77e5dcc5af4e3c70843711ef9251", "rev": "7fd36ee82c0275fb545775cc5e4d30542899511d",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -126,7 +126,8 @@ in
"/data/todo" "/data/todo"
"/home/*/tmp" "/home/*/tmp"
"/home/*/todo" "/home/*/todo"
] ++ cfg.exclude; ]
++ cfg.exclude;
extraCreateArgs = [ extraCreateArgs = [
"--exclude-caches" "--exclude-caches"
@ -145,31 +146,30 @@ in
inherit (cfg) doInit; inherit (cfg) doInit;
compression = "auto,zstd"; compression = "auto,zstd";
postHook = postHook = ''
'' if (( $exitStatus > 1 )); then
if (( $exitStatus > 1 )); then ''
'' + lib.optionalString cfg.OnFailureNotification ''
+ lib.optionalString cfg.OnFailureNotification '' # iterate over all logged in users
# iterate over all logged in users for user in $(users); do
for user in $(users); do sway_pid=$(${pkgs.procps}/bin/pgrep -x "sway" -u "$user")
sway_pid=$(${pkgs.procps}/bin/pgrep -x "sway" -u "$user") if [ -n "$sway_pid" ]; then
if [ -n "$sway_pid" ]; then # set environment variables
# set environment variables export $(cat /proc/$sway_pid/environ | grep -z '^DBUS_SESSION_BUS_ADDRESS=' | tr -d '\0')
export $(cat /proc/$sway_pid/environ | grep -z '^DBUS_SESSION_BUS_ADDRESS=' | tr -d '\0') export DISPLAY=:0
export DISPLAY=:0 # send notification via dbus: https://wiki.archlinux.org/title/Desktop_notifications#Bash
# send notification via dbus: https://wiki.archlinux.org/title/Desktop_notifications#Bash ${lib.getExe pkgs.sudo} --preserve-env=DBUS_SESSION_BUS_ADDRESS,DISPLAY -u $user ${lib.getExe pkgs.libnotify} -u critical "BorgBackup Failed!" "Run journalctl -u borgbackup-job* for more details."
${lib.getExe pkgs.sudo} --preserve-env=DBUS_SESSION_BUS_ADDRESS,DISPLAY -u $user ${lib.getExe pkgs.libnotify} -u critical "BorgBackup Failed!" "Run journalctl -u borgbackup-job* for more details." echo "sent notification"
echo "sent notification"
fi
done
''
+ lib.optionalString (cfg.OnFailureMail != null) ''
journalctl -u borgbackup-job-hetzner.service --since "5 days ago" | ${pkgs.mailutils}/bin/mail -r "Administrator<root@buehler.rocks>" -s "Backup Error" server@buehler.rocks
echo "sent mail"
''
+ ''
fi fi
''; done
''
+ lib.optionalString (cfg.OnFailureMail != null) ''
journalctl -u borgbackup-job-hetzner.service --since "5 days ago" | ${pkgs.mailutils}/bin/mail -r "Administrator<root@buehler.rocks>" -s "Backup Error" server@buehler.rocks
echo "sent mail"
''
+ ''
fi
'';
# for mail sending # for mail sending
readWritePaths = lib.optional (cfg.OnFailureMail != null) "/var/lib/postfix/queue/maildrop/"; readWritePaths = lib.optional (cfg.OnFailureMail != null) "/var/lib/postfix/queue/maildrop/";

View file

@ -49,7 +49,8 @@ in
]; ];
}; };
prometheus.enable = config.services.prometheus.enable; prometheus.enable = config.services.prometheus.enable;
} // cfg.settings; }
// cfg.settings;
}; };
prometheus.scrapeConfigs = [ prometheus.scrapeConfigs = [

View file

@ -41,7 +41,8 @@ in
dialect = "sqlite"; dialect = "sqlite";
storage = "/var/lib/hedgedoc/hedgedoc.sqlite"; storage = "/var/lib/hedgedoc/hedgedoc.sqlite";
}; };
} // cfg.settings; }
// cfg.settings;
}; };
prometheus = { prometheus = {

View file

@ -108,7 +108,8 @@ in
"esphome" "esphome"
"shelly" "shelly"
"prometheus" "prometheus"
] ++ cfg.extraComponents; ]
++ cfg.extraComponents;
}; };
prometheus.scrapeConfigs = [ prometheus.scrapeConfigs = [

View file

@ -33,7 +33,8 @@ in
inherit (cfg) mediaDir passwordFile; inherit (cfg) mediaDir passwordFile;
settings = { settings = {
PAPERLESS_OCR_LANGUAGE = "deu+eng"; PAPERLESS_OCR_LANGUAGE = "deu+eng";
} // cfg.settings; }
// cfg.settings;
}; };
# monitoring is not really useful, because it only contains the http-worker infos -> skipped for now # monitoring is not really useful, because it only contains the http-worker infos -> skipped for now

View file

@ -43,7 +43,8 @@ in
settings = { settings = {
ffmpeg.transcode = "disabled"; ffmpeg.transcode = "disabled";
server.externalDomain = "https://photos.${domain}"; server.externalDomain = "https://photos.${domain}";
} // cfg.settings; }
// cfg.settings;
environment = { environment = {
IMMICH_TELEMETRY_INCLUDE = "all"; IMMICH_TELEMETRY_INCLUDE = "all";
IMMICH_API_METRICS_PORT = toString (port + 1); IMMICH_API_METRICS_PORT = toString (port + 1);