diff --git a/krebs/3modules/default.nix b/krebs/3modules/default.nix
index d539d4166..daa963bc8 100644
--- a/krebs/3modules/default.nix
+++ b/krebs/3modules/default.nix
@@ -105,9 +105,7 @@ let
         gg23 = "hosts";
         shack = "hosts";
         i = "hosts";
-        internet = "hosts";
         r = "hosts";
-        retiolum = "hosts";
       };
 
       krebs.users = {
@@ -141,6 +139,29 @@ let
         ) cfg.hosts
       ));
 
+      # TODO dedup with networking.extraHosts
+      nixpkgs.config.packageOverrides = oldpkgs:
+        let
+          domains = attrNames (filterAttrs (_: eq "hosts") cfg.dns.providers);
+          check = hostname: any (domain: hasSuffix ".${domain}" hostname) domains;
+        in
+          {
+            retiolum-hosts = oldpkgs.writeText "retiolum-hosts" ''
+              ${concatStringsSep "\n" (flatten (
+                map (host:
+                    let
+                      net = host.nets.retiolum;
+                      aliases = longs;
+                      longs = filter check net.aliases;
+                    in
+                      optionals
+                        (aliases != [])
+                        (map (addr: "${addr} ${toString aliases}") net.addrs)
+                ) (filter (host: hasAttr "retiolum" host.nets)
+                          (attrValues cfg.hosts))))}
+            '';
+          };
+
       # Implements environment.etc."zones/<zone-name>"
       environment.etc = let
         stripEmptyLines = s: (concatStringsSep "\n"
diff --git a/krebs/3modules/tv/default.nix b/krebs/3modules/tv/default.nix
index e387fabc5..0db686005 100644
--- a/krebs/3modules/tv/default.nix
+++ b/krebs/3modules/tv/default.nix
@@ -413,8 +413,8 @@ with import <stockholm/lib>;
     dv = {
       mail = "dv@alnus.r";
     };
-    mv-cd = {
-      mail = "mv@cd.r";
+    mv-ni = {
+      mail = "mv@ni.r";
       pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGer9e2+Lew7vnisgBbsFNECEIkpNJgEaqQqgb9inWkQ mv@vod";
     };
     tv = {
diff --git a/tv/2configs/exim-smarthost.nix b/tv/2configs/exim-smarthost.nix
index 816dce78d..079013c79 100644
--- a/tv/2configs/exim-smarthost.nix
+++ b/tv/2configs/exim-smarthost.nix
@@ -21,7 +21,7 @@ with import <stockholm/lib>;
     internet-aliases = with config.krebs.users; [
       { from = "bku-eppler@viljetic.de"; to = tv.mail; }
       { from = "postmaster@viljetic.de"; to = tv.mail; } # RFC 822
-      { from = "mirko@viljetic.de"; to = mv-cd.mail; }
+      { from = "mirko@viljetic.de"; to = mv-ni.mail; }
       { from = "tomislav@viljetic.de"; to = tv.mail; }
       { from = "tv@destroy.dyn.shackspace.de"; to = tv.mail; }
       { from = "tv@viljetic.de"; to = tv.mail; }
diff --git a/tv/2configs/git.nix b/tv/2configs/git.nix
index 293a00e78..13b12986c 100644
--- a/tv/2configs/git.nix
+++ b/tv/2configs/git.nix
@@ -33,6 +33,9 @@ let {
       cgit.desc = "dict.leo.org command line interface";
     };
     get = {};
+    hstool = {
+      cgit.desc = "Haskell Development Environment ^_^";
+    };
     htgen = {
       cgit.desc = "toy HTTP server";
     };