mirror of
https://codeberg.org/jopejoe1/nix-conf.git
synced 2024-12-29 18:26:34 +01:00
52 lines
1.3 KiB
Nix
52 lines
1.3 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
|
|
let
|
|
cfg = config.jopejoe1.repo-sync;
|
|
in
|
|
{
|
|
options.jopejoe1.repo-sync = {
|
|
enable = lib.mkEnableOption "Enable Repo Sync";
|
|
};
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
systemd.timers."repo-sync" = {
|
|
wantedBy = [ "timers.target" ];
|
|
timerConfig = {
|
|
OnBootSec = "5m";
|
|
OnUnitActiveSec = "15m";
|
|
Unit = "repo-sync.service";
|
|
};
|
|
};
|
|
|
|
systemd.services."repo-sync" = {
|
|
script = ''
|
|
git clone git@codeberg.org:jopejoe1/nix-conf.git /var/lib/repo-sync
|
|
git -C /var/lib/repo-sync remote add github git@github.com:jopejoe1/nix-conf.git
|
|
git -C /var/lib/repo-sync remote add gitlab git@gitlab.com:jopejoe1/nix-conf.git
|
|
git -C /var/lib/repo-sync pull -r github main
|
|
git -C /var/lib/repo-sync pull -r gitlab main
|
|
nix flake update /var/lib/repo-sync
|
|
git -C /var/lib/repo-sync commit -m "flack.lock updated on `$(date)`"
|
|
git -C /var/lib/repo-sync push origin
|
|
git -C /var/lib/repo-sync push github
|
|
git -C /var/lib/repo-sync push gitlab
|
|
rm -r /var/lib/repo-sync
|
|
'';
|
|
path = [
|
|
pkgs.openssh
|
|
pkgs.git
|
|
pkgs.coreutils
|
|
pkgs.nix
|
|
];
|
|
serviceConfig = {
|
|
Type = "oneshot";
|
|
User = "root";
|
|
};
|
|
};
|
|
};
|
|
}
|