mirror of
https://github.com/anotherhadi/nixy.git
synced 2026-05-20 05:12:34 +02:00
nevermind
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
This commit is contained in:
@@ -28,7 +28,6 @@
|
||||
../../server-modules/umami.nix
|
||||
../../server-modules/gitea.nix
|
||||
../../server-modules/mealie.nix
|
||||
../../server-modules/auto-upgrade.nix
|
||||
|
||||
# You should let those lines as is
|
||||
./hardware-configuration.nix
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
path = "/home/hadi/.ssh/key.pub";
|
||||
mode = "0600";
|
||||
};
|
||||
signal-sender-number = {};
|
||||
signal-receiver-username = {};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
umami-secret: ENC[AES256_GCM,data:tImpd4sD92Omf/YFB8YE4gxAu+g801wQNR+k5rhY6AbzIIYOzpVmQL4XGjfp9Teky3olii4s3XTcmTyuMoxMWg==,iv:QFAEzYnAnxOOtrHWiM2IkvSs0Aqk3s1T5X7j5WC+tO8=,tag:FIbgHLfRVMJ2qZ6dOJ8zLw==,type:str]
|
||||
sshconfig: ENC[AES256_GCM,data:R54HVxqAyj9yGO/AYL8p6cnXgYxkQKW9XveHlBMTnDXBJ7r/4HgnefdymprnXmdlbNWcWrRqmaLEuzJs/0BfixXfMvmGTUrmJ0ASVuDrz9k6rOLADAKFikQh0dib7NU4JmPgmUzMncXc2WuCd3BCG3kwBQ==,iv:Ro9FA+MzTAp+ERQMT88z8ioCox/dTj2vWcqCDOSLag4=,tag:5XiXIyz5/pjGFOB5ZjdOVg==,type:str]
|
||||
signal-sender-number: ENC[AES256_GCM,data:y5zTe2HgBlPLDzTi,iv:Bx3aoo3BbfdeeJxDcvMYHOAzBTKTKakz5OsLlqIBU9w=,tag:aFGYO8g+gvDtb5X5w1QnLg==,type:str]
|
||||
signal-receiver-username: ENC[AES256_GCM,data:R+Gpv0GhwoPnjg==,iv:BV0BLjFmL580A8jA+RPkH+ERNQjWFNP8nFc6XKMhE2E=,tag:IW4MjTOmV3oCv8OTT9b49g==,type:str]
|
||||
github-key: ENC[AES256_GCM,data:NRYhcBIwGJEV13+YECLR+2IErsn/7clbnkx0Mltr7dQajSb5WHZ3QDH0KQPylEHhplE5IVS0h4I0z+Pb1B0UteCxFmJ5wZq+2BKZkvE7G3dojqBpgHcVqJV2GLEJkRjlHfRgsbq/OBe8xcsPh20P1KUyP0WIwVbpt+9dFWGxEGYkp2uSyuBIJ98kElt0zuVgl7WcYoDO7v5WmGzZfla+yZwURvMk8zcM3gopo+4KL6YnYUs+UA3VlBBn6VK4Nvbqy6X0R0+ZA5HHAXg+OFgGmfWnENZmsyQJHXEchGGgEldzThkQ4r8yMkgN/ax+AGouLyzbITapGE4sE11FFgL6Hmp4pSXxl3UAGF+cvV5pIujbb28CXmSPRMyYpoNxI93PSYz/txAzE6Cr2dgwxR4zpMelv4i6IaGnY8NgpY8jp2Y6C0uuJxJCN0RtnjQw1rM2uRnm7vMGyU7XXz9DEVfGnYpTWnykXsEjHE5DVGy80ejYQlc6dtmf3vdTWpt+YYdCPw8/cd0PIx2D6geh1c28,iv:wl+RG24mXYMklD8CBGXVD36DMhlWT/7zh8ZMvr7vgOk=,tag:OJhqF8PoXotr7IsyFW6q1g==,type:str]
|
||||
adguard-pwd: ENC[AES256_GCM,data:CAmZFpKN6FFRlCk=,iv:cz45T/z2ZYHNC46FNVp2YHmdhXD4ERhM31+Jo+9PkSk=,tag:GTUvzkYSP4flXs/HUNGYhw==,type:str]
|
||||
recyclarr: ENC[AES256_GCM,data:eJNbGHb4SZvbF7FAHMrpRynmpVyPiTpyZqNx40Fo+lanqdm7d7oRhkLD2PfqxpTcIyV6BxJk12wGUC0uWVuAihmToL/Ih2FJWIQFUOdbaov/xNWHE9mtoRX/A3gIwD8e3DoFMK/dAk2/TyvvAfxi2eYTDJvxecEttHQGxafq1jveHFDcC9e1aFk3M8O8YlX5yF3zl90mugsUVP+iaSURnY/nglZuEDzfJ6Edge7r5OSL6WYh3OUIu1yzuuKXRZ47B/gpXO/cP89JMmxdPj3FUJkk7Htf0s9ALzpVE9fRohDGcpPIkR6COCLTL+mqvVmyopA1zPoX8/X8eiuocpaT3vqJit7Bc6InzflY/5rlg1x0SyoXWQfEsperfNBeiZGngp382I7rrZ8QSwF4AIsmngNeyDRAnfasAU5OVwK+yPIVhRueEFLNrJPG3j2hpArlzpvY2EPBVJDrYwFslis8CASoUdvu6C7VxtJXFcOZR8QemwJarJFU7v1bVhQoIkarn3V7FfAXg/8RfYrn9HAIq5AiFFbQRNHWXzIceIgNKQFb5yfagtMtMq6XKhjsV07jeYt9X/YU80XRfkPm05yiLdLQHcDNmlB3R+SFPD7qjTE7LuSH1Kdc3DvxwrKfHJLsJ+nSIL1po8gDMW8BPc0g4n4dpQ6CFK5BaDFK4eovNpgAXoRC9orkGw/16YmMozp6J78VJLzu3jcYMFbySFznDUuWcFf/7dVV+7pLAj2ffWXzScLISRBhZ9RNUMaZAKAk7WTmxBhw0yzNiih8OFUkbpp1FFLuU0bnBY0iEz+8/OSwv8H7t0HYe29HO61p1huH34B/ZkPA5VLKivFh2mOPNzbvMqtIAkq1ro82Psvc6t88gVIc+VAOZ9zDLohp0FXrNVXwnrs7fxevQa0pUClDivO1ib5G4Znor7q+13jZglmh3G7nHiniO607dRoxszzVEQdTn8ku3XAfIPStsSfQwH46nXhr2kDkspcA7BqwJph0dsKKlfzf22C0OJkDY0L1DgKFvJRmmKAhOdB6XxXYwS+BcDT+8ugejTKpulyPSsbdb0m9p9lVAVu0GMxFEbUsuE+QHiAAP5Vle7swpl4h3i8uHSfKFra3qEswwRnPAHhPSdLSaSU6O6T5gN/b0hhO6dAiNR0UOkOG59fPasL0MRpeb3SkM4Nd6g5b/hY8dXaXR7pQHvh+4GmfJFWYaWm/cZ8k9JAYAw9Sn/spWnjRmpv9bnSxADGbkdV8NDHquDDDFVIIoDnWhQJpqrL61KZITx2Ete1SYdNiy++p3mOYisJgHDsRR1RNQNxhRW4EY8c5nCzgc8x+rU432pCOfMbAuGEfQXMwMGFGeoUg6EL5xEyUEJ/aqymxI+Vjk8h7KfDnOyyL/+1BKEd/GccrjeQfeZGRLI0Tu5gVgL6twc+u4av6inNMMhPFzZuVrfeo6bip5C8R0dK6Pbdz2L/fsgn3E4NNi14NM/DgLLhJRLvKQdCQx+BT+3soNRw5htTzuNS48MD2YDwZYvNfu6mo0r4j4I7Tj8zuCjddbGVa2/5XnhcfdUBx1VOd90H1RKkk8kgSoR0bgo7mLls=,iv:HT3a2YnFy0cF9qUO671kwqxuzFfNnfqynCUVGHf+3dM=,tag:nrA++7fsnc4Cx0OPSDKaRw==,type:str]
|
||||
@@ -20,7 +18,7 @@ sops:
|
||||
TEc5d01RaVFGNXc3dlljM0FTTHpENjQKOqwI+pl8UxVIVl43glnOYvW660/PsDGY
|
||||
yefODJGVtHrOm3yeXC2xlTi3sFW+c5wUl2yPqddbvcBt5Ud/yd4iXQ==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2026-04-12T17:24:00Z"
|
||||
mac: ENC[AES256_GCM,data:IQX36/8DNziHnScBDNrTS5wIWsZSF7ZP7FZDhnHIx/8tZDCfRIIBgyfPmahiPNJ8kgaIj33eLQaZe3XteJrEpT9HXbJBV1n1rxYgmCXUx5Di2CmdFjcC/vnkLMd6nhMQBBALZc70n4GfIW39b81T9S1eNggGAbSWRSyXNSwdeC4=,iv:RgVLGbXyPnU89hwL8Uz3cyf5W4N48bCSfXS792C+U0w=,tag:GrSIl5SfHALPTo7zOCANpg==,type:str]
|
||||
lastmodified: "2026-04-12T18:24:10Z"
|
||||
mac: ENC[AES256_GCM,data:D7gWC1fxZkpG8dCr7aWhcyLT92NK1OefS4SIAq5ZImMYRJzzvhXtyJM9tzUYVWPU0ojhgOJyawlWEFk1P/DWjOrafBsBHdxUl5FtZrRb4Z/rquODhR8OT8UYFVKyAmjSfomUEDzYetJdXdAxhX3eNlT+eKI51IjqD9y1dYqcjMw=,iv:ZPIkMf/fUETeUYQdqu4TpS/ZE752079jIW9BlehhWlw=,tag:Z3i/Zc0zkEF5rsNnkmUB9A==,type:str]
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.12.2
|
||||
|
||||
@@ -1,78 +0,0 @@
|
||||
# Auto upgrade some of my inputs every hour.
|
||||
# With signal notification on failure, but only once per failure streak to avoid spamming me if something is broken for a while.
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
configDir = config.var.configDirectory;
|
||||
auto-update-inputs = ["blog" "awesome-wallpapers" "iknowyou" "default-creds"];
|
||||
signalConfigDir = "/var/lib/signal-cli";
|
||||
sentinelFile = "/var/lib/nixos-auto-upgrade/failure-notified";
|
||||
in {
|
||||
sops.secrets."signal-sender-number" = {};
|
||||
sops.secrets."signal-receiver-username" = {};
|
||||
|
||||
environment.systemPackages = [pkgs.signal-cli];
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
"d /var/lib/nixos-auto-upgrade 0700 root root -"
|
||||
"d ${signalConfigDir} 0700 root root -"
|
||||
];
|
||||
|
||||
# Main upgrade service
|
||||
systemd.services.nixos-auto-upgrade = {
|
||||
description = "NixOS auto upgrade";
|
||||
after = ["network-online.target"];
|
||||
wants = ["network-online.target"];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
User = "root";
|
||||
};
|
||||
onFailure = ["nixos-auto-upgrade-notify.service"];
|
||||
script = ''
|
||||
set -e
|
||||
cd ${configDir}
|
||||
${pkgs.nix}/bin/nix flake update ${builtins.concatStringsSep " " auto-update-inputs}
|
||||
/run/current-system/sw/bin/nixos-rebuild switch --flake ${configDir}#jack
|
||||
# Clear failure sentinel on success
|
||||
rm -f ${sentinelFile}
|
||||
'';
|
||||
};
|
||||
|
||||
# Notification service — only fires once per failure streak
|
||||
systemd.services.nixos-auto-upgrade-notify = {
|
||||
description = "Signal notification on NixOS upgrade failure";
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
User = "root";
|
||||
Environment = "JAVA_TOOL_OPTIONS=--enable-native-access=ALL-UNNAMED";
|
||||
};
|
||||
script = ''
|
||||
# Already notified for this failure streak, skip
|
||||
if [ -f "${sentinelFile}" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
SENDER=$(cat ${config.sops.secrets."signal-sender-number".path})
|
||||
RECEIVER=$(cat ${config.sops.secrets."signal-receiver-username".path})
|
||||
${pkgs.signal-cli}/bin/signal-cli \
|
||||
--config ${signalConfigDir} \
|
||||
-u "$SENDER" send \
|
||||
-u "$RECEIVER" \
|
||||
-m "Jack: nixos-auto-upgrade failed, check the logs: journalctl -u nixos-auto-upgrade"
|
||||
|
||||
touch ${sentinelFile}
|
||||
'';
|
||||
};
|
||||
|
||||
# Hourly timer
|
||||
systemd.timers.nixos-auto-upgrade = {
|
||||
description = "NixOS auto upgrade timer";
|
||||
wantedBy = ["timers.target"];
|
||||
timerConfig = {
|
||||
OnCalendar = "hourly";
|
||||
Persistent = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user