mirror of
				https://github.com/Stunkymonkey/nixos.git
				synced 2025-10-31 01:32:11 +01:00 
			
		
		
		
	Compare commits
	
		
			2 commits
		
	
	
		
			c49a17ad88
			...
			7e5d13ac3d
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 7e5d13ac3d | ||
|   | 1a890597ff | 
					 7 changed files with 50 additions and 45 deletions
				
			
		
							
								
								
									
										30
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										30
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							|  | @ -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": { | ||||||
|  |  | ||||||
|  | @ -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/"; | ||||||
|  |  | ||||||
|  | @ -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 = [ | ||||||
|  |  | ||||||
|  | @ -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 = { | ||||||
|  |  | ||||||
|  | @ -108,7 +108,8 @@ in | ||||||
|           "esphome" |           "esphome" | ||||||
|           "shelly" |           "shelly" | ||||||
|           "prometheus" |           "prometheus" | ||||||
|         ] ++ cfg.extraComponents; |         ] | ||||||
|  |         ++ cfg.extraComponents; | ||||||
|       }; |       }; | ||||||
| 
 | 
 | ||||||
|       prometheus.scrapeConfigs = [ |       prometheus.scrapeConfigs = [ | ||||||
|  |  | ||||||
|  | @ -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 | ||||||
|  |  | ||||||
|  | @ -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); | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue