From e57ce8bc98ba3d90b0044d90f4bff10475354fd1 Mon Sep 17 00:00:00 2001
From: tv <tv@krebsco.de>
Date: Sat, 7 Nov 2015 19:21:01 +0100
Subject: [PATCH 1/2] xu nixpkgs: c44a593 -> 7ae05ed

---
 tv/1systems/xu.nix | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tv/1systems/xu.nix b/tv/1systems/xu.nix
index 65220fe3e..d9aec4070 100644
--- a/tv/1systems/xu.nix
+++ b/tv/1systems/xu.nix
@@ -5,6 +5,9 @@ with lib;
 {
   krebs.build.host = config.krebs.hosts.xu;
 
+  krebs.build.source.git.nixpkgs.rev =
+    "7ae05edcdd14f6ace83ead9bf0d114e97c89a83a";
+
   imports = [
     ../2configs/hw/x220.nix
     #../2configs/consul-client.nix

From e35e3b5eb05cea1e3c033423c2f6ee4e0a511817 Mon Sep 17 00:00:00 2001
From: tv <tv@krebsco.de>
Date: Sat, 7 Nov 2015 19:24:25 +0100
Subject: [PATCH 2/2] tv: mv user xr to sub

---
 tv/1systems/wu.nix              | 11 +++--------
 tv/1systems/xu.nix              |  9 +--------
 tv/2configs/sub/xr.nix          | 22 ++++++++++++++++++++++
 tv/2configs/xserver/default.nix |  1 +
 tv/2configs/z.nix               | 11 +----------
 tv/5pkgs/default.nix            | 10 ++++++++++
 6 files changed, 38 insertions(+), 26 deletions(-)
 create mode 100644 tv/2configs/sub/xr.nix

diff --git a/tv/1systems/wu.nix b/tv/1systems/wu.nix
index ee529f3dc..2c0098c1c 100644
--- a/tv/1systems/wu.nix
+++ b/tv/1systems/wu.nix
@@ -12,6 +12,7 @@ with lib;
     ../2configs/mail-client.nix
     ../2configs/xserver
     ../2configs/z.nix
+    ../2configs/sub/xr.nix
     {
       environment.systemPackages = with pkgs; [
 
@@ -120,6 +121,8 @@ with lib;
         #xkill
         #xl2tpd
         #xsel
+
+        unison
       ];
     }
     {
@@ -234,14 +237,6 @@ with lib;
             ];
           };
 
-          xr = {
-            uid = 13370061;
-            extraGroups = [
-              "audio"
-              "video"
-            ];
-          };
-
           "23" = {
             uid = 13370023;
           };
diff --git a/tv/1systems/xu.nix b/tv/1systems/xu.nix
index 20e0e9681..57f318ad0 100644
--- a/tv/1systems/xu.nix
+++ b/tv/1systems/xu.nix
@@ -15,6 +15,7 @@ with lib;
     ../2configs/mail-client.nix
     ../2configs/xserver
     ../2configs/z.nix
+    ../2configs/sub/xr.nix
     {
       environment.systemPackages = with pkgs; [
 
@@ -239,14 +240,6 @@ with lib;
             ];
           };
 
-          xr = {
-            uid = 13370061;
-            extraGroups = [
-              "audio"
-              "video"
-            ];
-          };
-
           "23" = {
             uid = 13370023;
           };
diff --git a/tv/2configs/sub/xr.nix b/tv/2configs/sub/xr.nix
new file mode 100644
index 000000000..6c9cbb93e
--- /dev/null
+++ b/tv/2configs/sub/xr.nix
@@ -0,0 +1,22 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+{
+  krebs.per-user.xr.packages = [
+    pkgs.cr
+  ];
+
+  security.sudo.extraConfig = "tv ALL=(xr) NOPASSWD: ALL";
+
+  users.users.xr = {
+    extraGroups = [
+      "audio"
+      "video"
+    ];
+    group = "subusers";
+    home = "/home/xr";
+    uid = 1660006127; # genid xr
+    useDefaultShell = true;
+  };
+}
diff --git a/tv/2configs/xserver/default.nix b/tv/2configs/xserver/default.nix
index 7a48db6b8..afc2d699c 100644
--- a/tv/2configs/xserver/default.nix
+++ b/tv/2configs/xserver/default.nix
@@ -40,6 +40,7 @@ let
       pkgs.pavucontrol
       pkgs.slock
       pkgs.sxiv
+      pkgs.xsel
       pkgs.zathura
     ];
 
diff --git a/tv/2configs/z.nix b/tv/2configs/z.nix
index e5494ecc9..3acd168d4 100644
--- a/tv/2configs/z.nix
+++ b/tv/2configs/z.nix
@@ -4,16 +4,7 @@ with lib;
 
 {
   krebs.per-user.z.packages = [
-    (pkgs.writeScriptBin "cr" ''
-      #! /bin/sh
-      set -efu
-      export LC_TIME=de_DE.utf8
-      exec ${pkgs.chromium}/bin/chromium \
-          --ssl-version-min=tls1 \
-          --disk-cache-dir=/tmp/chromium-disk-cache_"$LOGNAME" \
-          --disk-cache-size=50000000 \
-          "%@"
-    '')
+    pkgs.cr
   ];
 
   programs.bash.interactiveShellInit = ''
diff --git a/tv/5pkgs/default.nix b/tv/5pkgs/default.nix
index 1ca5e70a2..2108d972c 100644
--- a/tv/5pkgs/default.nix
+++ b/tv/5pkgs/default.nix
@@ -1,6 +1,16 @@
 { pkgs, ... }:
 
 {
+  cr = pkgs.writeScriptBin "cr" ''
+    #! /bin/sh
+    set -efu
+    export LC_TIME=de_DE.utf8
+    exec ${pkgs.chromium}/bin/chromium \
+        --ssl-version-min=tls1 \
+        --disk-cache-dir=/tmp/chromium-disk-cache_"$LOGNAME" \
+        --disk-cache-size=50000000 \
+        "%@"
+  '';
   ff = pkgs.callPackage ./ff {};
   viljetic-pages = pkgs.callPackage ./viljetic-pages {};
   xmonad-tv =