diff --git a/krebs/1systems/hotdog/config.nix b/krebs/1systems/hotdog/config.nix
index 18b751a7e..0a848426c 100644
--- a/krebs/1systems/hotdog/config.nix
+++ b/krebs/1systems/hotdog/config.nix
@@ -15,6 +15,7 @@
     <stockholm/krebs/2configs/ircd.nix>
     <stockholm/krebs/2configs/reaktor-retiolum.nix>
     <stockholm/krebs/2configs/reaktor-krebs.nix>
+    <stockholm/krebs/2configs/repo-sync.nix>
   ];
 
   krebs.build.host = config.krebs.hosts.hotdog;
diff --git a/krebs/2configs/repo-sync.nix b/krebs/2configs/repo-sync.nix
index 48da88a8d..2a7160a50 100644
--- a/krebs/2configs/repo-sync.nix
+++ b/krebs/2configs/repo-sync.nix
@@ -5,34 +5,52 @@ with import <stockholm/lib>;
 let
   mirror = "git@${config.networking.hostName}:";
 
-  defineRepo = name: announce: let
+  defineRepo = {
+    name, desc, section
+  }:
+  let
     repo = {
       public = true;
       name = mkDefault "${name}";
-      cgit.desc = mkDefault "mirror for ${name}";
-      cgit.section = mkDefault "mirror";
-      hooks = mkIf announce (mkDefault {
+      cgit.desc = desc;
+      cgit.section = section;
+      hooks = mkDefault {
         post-receive = pkgs.git-hooks.irc-announce {
           nick = config.networking.hostName;
           verbose = false;
           channel = "#xxx";
           server = "irc.r";
-          branches = [ "master" ];
+          branches = [ "newest" ];
         };
-      });
+      };
     };
   in {
-    rules = with git; singleton {
-      user = with config.krebs.users; [
-        config.krebs.users."${config.networking.hostName}-repo-sync"
-      ];
-      repo = [ repo ];
-      perm = push ''refs/*'' [ non-fast-forward create delete merge ];
-    };
+    rules = with git; [
+      {
+        user = with config.krebs.users; [
+          config.krebs.users."${config.networking.hostName}-repo-sync"
+          lass
+          tv
+          makefu
+          jeschli
+        ];
+        repo = [ repo ];
+        perm = push ''refs/*'' [ non-fast-forward create delete merge ];
+      }
+      {
+        user = attrValues config.krebs.users;
+        repo = [ repo ];
+        perm = fetch;
+      }
+    ];
     repos."${name}" = repo;
   };
 
-  sync-retiolum = name:
+  sync-retiolum = {
+    name,
+    desc ? "mirror for ${name}",
+    section ? "mirror"
+  }:
     {
       krebs.repo-sync.repos.${name} = {
         branches = {
@@ -52,29 +70,106 @@ let
             origin.url = "http://cgit.lassul.us/${name}";
             mirror.url = "${mirror}${name}";
           };
+          makefu-staging = {
+            origin.url = "http://cgit.gum/${name}";
+            origin.ref = "heads/staging";
+            mirror.url = "${mirror}${name}";
+          };
+          tv-staging = {
+            origin.url = "http://cgit.ni.r/${name}";
+            origin.ref = "heads/staging";
+            mirror.url = "${mirror}${name}";
+          };
+          nin-staging = {
+            origin.url = "http://cgit.onondaga.r/${name}";
+            origin.ref = "heads/staging";
+            mirror.url = "${mirror}${name}";
+          };
         };
         latest = {
           url = "${mirror}${name}";
-          ref = "heads/master";
+          ref = "heads/newest";
         };
       };
-      krebs.git = defineRepo name false;
+      krebs.git = defineRepo { inherit name desc section; };
+    };
+
+  sync-remote = {
+    name,
+    url,
+    desc ? "mirror for ${name}",
+    section ? "mirror"
+  }:
+    {
+      krebs.repo-sync.repos.${name} = {
+        branches = {
+          remote = {
+            origin.url = url;
+            mirror.url = "${mirror}${name}";
+          };
+        };
+      };
+      krebs.git = defineRepo { inherit name desc section; };
     };
 
 in {
+  krebs.git = {
+    enable = true;
+    cgit.settings = {
+      root-title = "krebs repos";
+      root-desc = "keep calm and engage";
+    };
+  };
   krebs.repo-sync = {
     enable = true;
   };
-  krebs.git = {
-    enable = mkDefault true;
-    cgit = {
-      settings = {
-        root-title = "Shared Repos";
-        root-desc = "keep on krebsing";
-      };
-    };
-  };
   imports = [
-    (sync-retiolum "stockholm")
+    (sync-retiolum { name = "the_playlist"; desc = "Good Music collection + tools"; section = "art"; })
+
+    (sync-retiolum { name = "stockholm"; desc = "take all computers hostage, they love it"; section = "configuration"; })
+
+    (sync-retiolum { name = "cholerab"; desc = "krebs thesauron & enterprise-patterns"; section = "documentation"; })
+
+    (sync-retiolum { name = "disko"; desc = "take a description of your disk layout and produce a format script"; section = "software"; })
+    (sync-retiolum { name = "news"; desc = "take a rss feed and a timeout and print it to stdout"; section = "software"; })
+    (sync-retiolum { name = "krops"; desc = "krebs ops"; section = "software"; })
+    (sync-retiolum { name = "go"; desc = "url shortener"; section = "software"; })
+    (sync-retiolum { name = "much"; desc = "curses email client"; section = "software"; })
+    (sync-retiolum { name = "newsbot-js"; desc = "irc rss/atom bot"; section = "software"; })
+    (sync-retiolum { name = "nix-writers"; desc = "high level writers for nix"; section = "software"; })
+
+    (sync-retiolum { name = "cac-api"; desc = "CloudAtCost API command line interface"; section = "miscellaneous"; })
+    (sync-retiolum { name = "dic"; desc = "dict.leo.org command line interface"; section = "miscellaneous"; })
+    (sync-retiolum { name = "get"; section = "miscellaneous"; })
+    (sync-retiolum { name = "hstool"; desc = "Haskell Development Environment ^_^"; section = "miscellaneous"; })
+    (sync-retiolum { name = "htgen"; desc = "toy HTTP server"; section = "miscellaneous"; })
+    (sync-retiolum { name = "kirk"; desc = "IRC tools"; section = "miscellaneous"; })
+    (sync-retiolum { name = "load-env"; section = "miscellaneous"; })
+    (sync-retiolum { name = "loldns"; desc = "toy DNS server"; section = "miscellaneous"; })
+    (sync-retiolum { name = "netcup"; desc = "netcup command line interface"; section = "miscellaneous"; })
+    (sync-retiolum { name = "populate"; desc = "source code installer"; section = "miscellaneous"; })
+    (sync-retiolum { name = "q"; section = "miscellaneous"; })
+    (sync-retiolum { name = "regfish"; section = "miscellaneous"; })
+    (sync-retiolum { name = "soundcloud"; desc = "SoundCloud command line interface"; section = "miscellaneous"; })
+
+    (sync-retiolum { name = "blessings"; section = "Haskell libraries"; })
+    (sync-retiolum { name = "mime"; section = "Haskell libraries"; })
+    (sync-retiolum { name = "quipper"; section = "Haskell libraries"; })
+    (sync-retiolum { name = "scanner"; section = "Haskell libraries"; })
+    (sync-retiolum { name = "wai-middleware-time"; section = "Haskell libraries"; })
+    (sync-retiolum { name = "web-routes-wai-custom"; section = "Haskell libraries"; })
+    (sync-retiolum { name = "xintmap"; section = "Haskell libraries"; })
+    (sync-retiolum { name = "xmonad-stockholm"; desc = "krebs xmonad modules"; section = "Haskell libraries"; })
+
+    (sync-remote { name = "array"; url = "https://github.com/makefu/array"; })
+    (sync-remote { name = "email-header"; url = "https://github.com/4z3/email-header"; })
+    (sync-remote { name = "mycube-flask"; url = "https://github.com/makefu/mycube-flask"; })
+    (sync-remote { name = "reaktor-titlebot"; url = "https://github.com/makefu/reaktor-titlebot"; })
+    (sync-remote { name = "repo-sync"; url = "https://github.com/makefu/repo-sync"; })
+    (sync-remote { name = "skytraq-datalogger"; url = "https://github.com/makefu/skytraq-datalogger"; })
+    (sync-remote { name = "realwallpaper"; url = "https://github.com/lassulus/realwallpaper"; })
+    (sync-remote { name = "painload"; url = "https://github.com/krebs/painload"; })
+    (sync-remote { name = "Reaktor"; url = "https://github.com/krebs/Reaktor"; })
+    (sync-remote { name = "nixos-wiki"; url = "https://github.com/Mic92/nixos-wiki.wiki.git"; })
   ];
 }