Automate update of java flake

This commit is contained in:
Nathan McCarty 2023-05-15 22:36:03 -04:00
parent 470a48a1ea
commit 8f64710826
Signed by: thatonelutenist
SSH Key Fingerprint: SHA256:hwQEcmak9E6sdU9bXc98RHw/Xd1AhpB5HZT7ZSVJkRM
1 changed files with 40 additions and 46 deletions

View File

@ -21,53 +21,47 @@ let
nix
nix-prefetch
];
in {
# Setup hosts for gitea automation
networking.hosts = { "100.99.69.14" = [ "git.stranger.systems" ]; };
# Automate updating the system flake
systemd.services."system-flake-update" = {
inherit environment;
inherit path;
script = ''
env
${repo-updater}/bin/repo-updater gitea@git.stranger.systems:nix/System.git trunk
'';
serviceConfig = {
Type = "oneshot";
User = "nathan";
Group = "users";
update-flake = { name, repo, schedule, branch ? "trunk" }: {
systemd.services."update-flake-${name}" = {
inherit environment;
inherit path;
script = ''
env
${repo-updater}/bin/repo-updater ${repo} ${branch}
'';
serviceConfig = {
Type = "oneshot";
User = "nathan";
Group = "users";
};
};
};
systemd.timers."system-flake-update" = {
wantedBy = [ "timers.target" ];
partOf = [ "system-flake-update.service" ];
timerConfig = {
OnCalendar = "Mon, 4:00";
Unit = "system-flake-update.service";
systemd.timers."update-flake-${name}" = {
wantedBy = [ "timers.target" ];
partOf = [ "update-flake-${name}.service" ];
timerConfig = {
OnCalendar = schedule;
Unit = "update-flake-${name}.service";
};
};
};
# Automate updating rust utility flake
systemd.services."rust-util-update" = {
inherit environment;
inherit path;
script = ''
env
${repo-updater}/bin/repo-updater gitea@git.stranger.systems:nix/Rust.git trunk
'';
serviceConfig = {
Type = "oneshot";
User = "nathan";
Group = "users";
};
};
systemd.timers."rust-util-update" = {
wantedBy = [ "timers.target" ];
partOf = [ "rust-util-update.service" ];
timerConfig = {
OnCalendar = "Mon, 8:00";
Unit = "rust-util-update.service";
};
};
}
in lib.mkMerge [
{ # Setup hosts for gitea automation
networking.hosts = { "100.99.69.14" = [ "git.stranger.systems" ]; };
}
(update-flake {
name = "system";
repo = "gitea@git.stranger.systems:nix/System.git";
schedule = "Mon, 4:00";
})
(update-flake {
name = "rust-util";
repo = "gitea@git.stranger.systems:nix/Rust.git";
schedule = "Mon, 8:00";
})
(update-flake {
name = "java";
repo = "gitea@git.stranger.systems:nix/java.git";
schedule = "6:00";
})
]