diff --git a/krebs/3modules/external/palo.nix b/krebs/3modules/external/palo.nix
index e151ad358..cefac0959 100644
--- a/krebs/3modules/external/palo.nix
+++ b/krebs/3modules/external/palo.nix
@@ -76,6 +76,9 @@ in {
   users = {
     palo = {
     };
+    palo-pepe = {
+      pubkey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCe3j1dk8o7e0cFn+RepOjdeYcS0YcG0d6NnsMoq8pjqzLRuvOVN4CmsuRo4UJtWOUVv8kIWLcegks2RXbKOSTFAnvEIpPlSmL3BgvFGmUiOmPw1w93yxdVnfd9kJ6SBNuS+kFspKPvOEV9yVpjTywKZ0qKWjRd89Vz2+8aFJ/R3hyE+YqpzlzYbrucEIXbEWESqnzrx61NrWwd1ueHj0RYMDBjIJjVfIIK3W32vQ//pYJio1di0PpOPK2Ya0yugSixymuQBvzCgaedVeLdJ0k1d7d5iVb4LjCR8zg0Jnf1RLfpqRrFYwMJpwuhtIEevfNrhzqZA58QgHO6iOg50FeaD5k1rlWfoOvX2rcV5iqCC9jClIfMKzePdm+MeVorBXp+bflOhyPJG+Qrz6NTE9Ohe5A71Z0bBa96MEoW1hyrLCn0+z+Cx5kt7n2QzAAa/VPNjRDZeHbsu26MrvViEoh+FcPqx4DUIUaDRs/TNIvMGAl14E6gur68AI01a0PZJ/gnqZeOJKuyz4pKT0nIcg0EvkjXM2uEJ9m8h4IBAqTUYMZYm7iJBfpbwT6ePxFfah4q960orBUwW87CyPu/wDGmDblQ7dpkuw+skpzNgOGzerDyGAGKOsjGfYZpqsv9303S2f7884NAIK1ohgpMELytEYpY4YNi2KQYfHhgoQRJ5w== palo@pepe";
+    };
   };
 }
 
diff --git a/krebs/5pkgs/default.nix b/krebs/5pkgs/default.nix
index dc04b6a72..4cdaedebf 100644
--- a/krebs/5pkgs/default.nix
+++ b/krebs/5pkgs/default.nix
@@ -13,15 +13,6 @@ foldl' mergeAttrs {}
 //
 
 {
-  # https://github.com/NixOS/nixpkgs/pull/30065
-  brscan4 = overrideDerivation super.brscan4 (original: rec {
-    name = "brscan4-0.4.4-4";
-    src = super.fetchurl {
-      url = "http://download.brother.com/welcome/dlf006645/${name}.amd64.deb";
-      sha256 = "0xy5px96y1saq9l80vwvfn6anr2q42qlxdhm6ci2a0diwib5q9fd";
-    };
-  });
-
   reaktor2 = self.haskellPackages.reaktor2;
 
   ReaktorPlugins = self.callPackage ./simple/Reaktor/plugins.nix {};
@@ -31,9 +22,4 @@ foldl' mergeAttrs {}
     export PROOT_NO_SECCOMP=1
     exec ${super.proot}/bin/proot "$@"
   '';
-
-  # XXX symlinkJoin changed arguments somewhere around nixpkgs d541e0d
-  symlinkJoin = { name, paths, ... }@args: let
-    x = super.symlinkJoin args;
-  in if typeOf x != "lambda" then x else super.symlinkJoin name paths;
 }
diff --git a/krebs/5pkgs/simple/Reaktor/default.nix b/krebs/5pkgs/simple/Reaktor/default.nix
index a88db6379..1cc498a68 100644
--- a/krebs/5pkgs/simple/Reaktor/default.nix
+++ b/krebs/5pkgs/simple/Reaktor/default.nix
@@ -2,7 +2,7 @@
 
 python3Packages.buildPythonPackage rec {
   name = "Reaktor-${version}";
-  version = "0.7.0";
+  version = "0.7.1";
 
   doCheck = false;
 
@@ -14,7 +14,7 @@ python3Packages.buildPythonPackage rec {
     owner = "krebs";
     repo = "Reaktor";
     rev = "v${version}";
-    sha256 = "12yy06vk0smjs0rmahrn2kd4bcdh1yjw1fz6rifw6nmgx889d9hj";
+    sha256 = "0cv5a4x73ls6sk8qj2qi6gqn31rv8kvdg13dsf3jv92xdfx6brjn";
   };
   meta = {
     homepage = http://krebsco.de/;
diff --git a/krebs/5pkgs/simple/flameshot-once/profile.nix b/krebs/5pkgs/simple/flameshot-once/profile.nix
index 4fcbd62c0..7373da00a 100644
--- a/krebs/5pkgs/simple/flameshot-once/profile.nix
+++ b/krebs/5pkgs/simple/flameshot-once/profile.nix
@@ -60,7 +60,7 @@ let
           type = types.positive;
         };
         filenamePattern = mkOption {
-          default = "%FT%T%z_flameshot.png";
+          default = "%FT%T%z_flameshot";
           type =
             # This is types.filename extended by [%:][%:+]*
             types.addCheck types.str (test "[%:0-9A-Za-z._][%:+0-9A-Za-z._-]*");
diff --git a/lib/types.nix b/lib/types.nix
index 17c1688fa..45c009893 100644
--- a/lib/types.nix
+++ b/lib/types.nix
@@ -539,7 +539,7 @@ rec {
   # POSIX.1‐2013, 3.278 Portable Filename Character Set
   filename = mkOptionType {
     name = "POSIX filename";
-    check = test "([0-9A-Za-z._])[0-9A-Za-z._-]*";
+    check = test "[0-9A-Za-z._][0-9A-Za-z._-]*";
     merge = mergeOneOption;
   };
 
diff --git a/tv/2configs/default.nix b/tv/2configs/default.nix
index e18ba31b0..ac0a6af4d 100644
--- a/tv/2configs/default.nix
+++ b/tv/2configs/default.nix
@@ -80,13 +80,6 @@ with import <stockholm/lib>;
         ls = "ls -h --color=auto --group-directories-first";
         dmesg = "dmesg -L --reltime";
         view = "vim -R";
-
-        deploy = pkgs.writeDash "deploy" ''
-          set -eu
-          cd ~/stockholm
-          export SYSTEM="$1"
-          exec nix-shell -I stockholm="$PWD" --run 'deploy --system="$SYSTEM"'
-        '';
       };
 
       environment.variables = {
diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix
index 9942ff65b..a45e040e6 100644
--- a/tv/2configs/vim.nix
+++ b/tv/2configs/vim.nix
@@ -151,7 +151,7 @@ let {
         setlocal foldmethod=syntax
       '';
       "/syntax/todo.vim".text = ''
-        syn match Comment /#.*/
+        syn match todoComment /#.*/
 
         syn match todoDate /^[1-9]\S*/
           \ nextgroup=todoSummary
@@ -173,6 +173,7 @@ let {
 
         syn sync minlines=1000
 
+        hi link todoComment Comment
         hi todoDate ctermfg=255
         hi todoSummary ctermfg=229
         hi todoBlock ctermfg=248
@@ -346,6 +347,7 @@ let {
             (writerName ''\([^"]*\.\)\?vimrc'')
           ];
           xdefaults = {};
+          xmodmap = {};
         }))}
 
         " Clear syntax that interferes with nixINSIDE_DOLLAR_CURLY.
@@ -391,6 +393,9 @@ let {
           \ matchgroup=sedSemicolon end=";\|$"
           \ contains=sedWhitespace
       '';
+      "/syntax/xmodmap.vim".text = ''
+        syn match xmodmapComment /^\s*!.*/
+      '';
     }))
   ];
 
@@ -485,6 +490,8 @@ let {
     inoremap <f1> <esc>:tabp<cr>
     inoremap <f2> <esc>:tabn<cr>
 
+    noremap <f3> :ShowSyntax<cr>
+
     " <C-{Up,Down,Right,Left>
     noremap <esc>Oa <nop> | noremap! <esc>Oa <nop>
     noremap <esc>Ob <nop> | noremap! <esc>Ob <nop>