46 lines
1 KiB
Nix
46 lines
1 KiB
Nix
{
|
|
config,
|
|
inputs,
|
|
pkgs,
|
|
...
|
|
}:
|
|
{
|
|
# 100GB storagebox is attached to the build02 server
|
|
|
|
imports = [
|
|
inputs.self.nixosModules.backup
|
|
];
|
|
|
|
# upstream docs show how to restore these backups
|
|
# https://github.com/gabrie30/ghorg/blob/92965c8b25ca423223888e1138d175bfc2f4b39b/README.md#creating-backups
|
|
systemd.services.github-org-backup = {
|
|
environment.HOME = "/var/lib/github-org-backup";
|
|
path = [
|
|
pkgs.git
|
|
pkgs.ghorg
|
|
];
|
|
# exclude nix, nixpkgs
|
|
script = ''
|
|
ghorg clone nix-community \
|
|
--backup \
|
|
--clone-wiki \
|
|
--concurrency 2 \
|
|
--exclude-match-regex '^(nix|nixpkgs)$' \
|
|
--no-token \
|
|
--path /var/lib/github-org-backup \
|
|
--prune \
|
|
--prune-no-confirm
|
|
'';
|
|
startAt = "daily";
|
|
serviceConfig.Type = "oneshot";
|
|
};
|
|
|
|
nixCommunity.backup = [
|
|
{
|
|
name = "github-org";
|
|
after = [ config.systemd.services.github-org-backup.name ];
|
|
paths = [ "/var/lib/github-org-backup" ];
|
|
startAt = "daily";
|
|
}
|
|
];
|
|
}
|