restructure system configuration

This commit is contained in:
ooks-io 2024-01-15 22:12:53 +13:00
parent 8f58a79fe2
commit e65c6bc159
27 changed files with 143 additions and 44 deletions

View file

@ -0,0 +1,31 @@
{ config, inputs, pkgs, lib, ... }:
let
inherit (config.networking) hostName;
isClean = inputs.self ? rev;
in
{
system.autoUpgrade = {
enable = isClean;
dates = "hourly";
flags = [
"--refresh"
];
flake = "github:ooks-io/nix#${hostName};
};
# Only run if current config (self) is older than the new one.
systemd.services.nixos-upgrade = lib.mkIf config.system.autoUpgrade.enable {
serviceConfig.ExecCondition = lib.getExe (
pkgs.writeShellScriptBin "check-date" ''
lastModified() {
nix flake metadata "$1" --refresh --json | ${lib.getExe pkgs.jq} '.lastModified'
}
test "$(lastModified "${config.system.autoUpgrade.flake}")" -gt "$(lastModified "self")"
''
);
};
}