From 1d2bad9d10a09fddeba4e41547949ffd46d60334 Mon Sep 17 00:00:00 2001
From: makefu <github@syntax-fehler.de>
Date: Fri, 12 May 2017 11:38:45 +0200
Subject: [PATCH] m 1 studio: provide vnc and realtime audio

---
 makefu/1systems/studio.nix | 55 +++++++++++++++++++++-----------------
 1 file changed, 30 insertions(+), 25 deletions(-)

diff --git a/makefu/1systems/studio.nix b/makefu/1systems/studio.nix
index f80dfc09a..400d9f883 100644
--- a/makefu/1systems/studio.nix
+++ b/makefu/1systems/studio.nix
@@ -2,32 +2,46 @@
 {
   imports = [
     ../.
+    ../2configs/vncserver.nix
+    ../2configs/vim.nix
+    ../2configs/disable_v6.nix
+    ../2configs/jack-on-pulse.nix
+    ../2configs/gui/studio.nix
 
   ];
+  makefu.gui.user = "user"; # we use an extra user
   krebs = {
     enable = true;
     tinc.retiolum.enable = true;
     build.host = config.krebs.hosts.studio;
   };
+  networking.firewall.allowedTCPPorts = [ 655 ];
+  networking.firewall.allowedUDPPorts = [ 655 ];
 
-  users.users.user = {
-    isNormalUser = true;
-    extraGroups = [ "wheel" "audio" ];
-    uid = 1000;
-  };
 
   environment.systemPackages = with pkgs;[
+    # audio foo
+    ## pulseaudio
     pavucontrol
+    paprefs
+    pamixer
+
+    # extra alsa tools
+    alsa-hdspconf
+    alsa-hdspmixer
+    alsa-hdsploader
+
+    # recording
+    darkice
+    (mumble.override { jackSupport = true; })
+
+    # browsing
     firefox
     chromium
   ];
 
-  sound.enable = true;
-  hardware.pulseaudio = {
-     enable = true;
-     systemWide = true;
-  };
 
+  nixpkgs.config.allowUnfree = true;
   fonts = {
     enableCoreFonts = true;
     enableFontDir = true;
@@ -35,21 +49,6 @@
     fonts = [ ];
   };
   # ingos favorite display manager
-  services.xserver.displayManager.sddm = {
-    enable = true;
-    autoLogin.enable = true;
-    autoLogin.user = "user";
-  };
-  services.xserver.desktopManager.plasma5.enable = true;
-  services.xserver.layout = "us";
-  services.xserver.xkbVariant = "altgr-intl";
-  services.xserver.xkbOptions = "ctrl:nocaps";
-
-  i18n = {
-    consoleKeyMap = "us-int";
-    defaultLocale = "en_US.UTF-8";
-  };
-
 
 
   # hardware
@@ -67,4 +66,10 @@
   };
 
   swapDevices = [ { device = "/dev/disk/by-uuid/1914af67-5a8f-41d3-a1c2-211c39605da9"; } ];
+  users.users.user = {
+    isNormalUser = true;
+    extraGroups = [ "wheel" "audio" ];
+    uid = 1000;
+    openssh.authorizedKeys.keys = [ config.krebs.users.makefu.pubkey ];
+  };
 }