summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lass/2configs/repo-sync.nix93
1 files changed, 60 insertions, 33 deletions
diff --git a/lass/2configs/repo-sync.nix b/lass/2configs/repo-sync.nix
index bb5123a02..9b1e80537 100644
--- a/lass/2configs/repo-sync.nix
+++ b/lass/2configs/repo-sync.nix
@@ -5,7 +5,7 @@ with config.krebs.lib;
let
mirror = "git@${config.networking.hostName}:";
- sync = name: let
+ defineRepo = name: let
repo = {
public = true;
name = mkDefault "${name}";
@@ -20,33 +20,52 @@ let
};
};
in {
- krebs.repo-sync.repos.${name} = {
- makefu = {
- origin.url = "http://cgit.gum/${name}";
- mirror.url = "${mirror}${name}";
- };
- tv = {
- origin.url = "http://cgit.cd/${name}";
- mirror.url = "${mirror}${name}";
- };
- lassulus = {
- origin.url = "http://cgit.prism/${name}";
- mirror.url = "${mirror}${name}";
- };
- "@latest" = {
- mirror.url = "${mirror}${name}";
- mirror.ref = "heads/newest";
+ rules = with git; singleton {
+ user = [ config.krebs.users."${config.networking.hostName}-repo-sync" ];
+ repo = [ repo ];
+ perm = push ''refs/*'' [ non-fast-forward create delete merge ];
+ };
+ repos."${name}" = repo;
+ };
+
+ sync-retiolum = name:
+ {
+ krebs.repo-sync.repos.${name} = {
+ makefu = {
+ origin.url = "http://cgit.gum/${name}";
+ mirror.url = "${mirror}${name}";
+ };
+ tv = {
+ origin.url = "http://cgit.cd/${name}";
+ mirror.url = "${mirror}${name}";
+ };
+ lassulus = {
+ origin.url = "http://cgit.prism/${name}";
+ mirror.url = "${mirror}${name}";
+ };
+ "@latest" = {
+ mirror.url = "${mirror}${name}";
+ mirror.ref = "heads/newest";
+ };
};
+ krebs.git = defineRepo name;
};
- krebs.git = {
- rules = with git; singleton {
- user = [ config.krebs.users."${config.networking.hostName}-repo-sync" ];
- repo = [ repo ];
- perm = push ''refs/*'' [ non-fast-forward create delete merge ];
+
+ sync-remote = name: url:
+ {
+ krebs.repo-sync.repos.${name} = {
+ remote = {
+ origin.url = url;
+ mirror.url = "${mirror}${name}";
+ };
+ "@latest" = {
+ mirror.url = "${mirror}${name}";
+ mirror.ref = "heads/newest";
+ };
};
- repos."${name}" = repo;
+ krebs.git = defineRepo name;
};
- };
+
in {
krebs.repo-sync = {
@@ -54,15 +73,23 @@ in {
privateKeyFile = toString <secrets/repo-sync.key>;
};
imports = [
- (sync "stockholm")
- (sync "realwallpaper")
- (sync "xmonad-stockholm")
- (sync "newsbot-js")
- (sync "go")
- (sync "wai-middleware-time")
- (sync "web-routes-wai-custom")
- (sync "much")
- (sync "painload")
+ (sync-remote "array" "https://github.com/makefu/array")
+ (sync-remote "email-header" "https://github.com/4z3/email-header")
+ (sync-remote "mycube-flask" "https://github.com/makefu/mycube-flask")
+ (sync-remote "nixpkgs" "https://github.com/nixos/nixpkgs")
+ (sync-remote "reaktor-titlebot" "https://github.com/makefu/reaktor-titlebot")
+ (sync-remote "repo-sync" "https://github.com/makefu/repo-sync")
+ (sync-remote "skytraq-datalogger" "https://github.com/makefu/skytraq-datalogger")
+ (sync-remote "xintmap" "https://github.com/4z3/xintmap")
+ (sync-retiolum "go")
+ (sync-retiolum "much")
+ (sync-retiolum "newsbot-js")
+ (sync-retiolum "painload")
+ (sync-retiolum "realwallpaper")
+ (sync-retiolum "stockholm")
+ (sync-retiolum "wai-middleware-time")
+ (sync-retiolum "web-routes-wai-custom")
+ (sync-retiolum "xmonad-stockholm")
];
}