{ config, lib, pkgs, ... }:
##
# of course this name is a lie
# - it prepares a GUI environment close to my
# current configuration,specifically:
#
# * autologin with mainUser into awesome
# * audio
# * terminus font
#
# if this is not enough, check out main-laptop.nix


with config.krebs.lib;
let
  mainUser = config.krebs.build.user.name;
in
{
  imports = [ ];
  services.xserver = {
    enable = true;
    layout = "us";
    xkbVariant = "altgr-intl";
    xkbOptions = "ctrl:nocaps";

    windowManager = {
      awesome.enable = true;
      awesome.luaModules = [ pkgs.luaPackages.vicious ];
      default = "awesome";
    };

    displayManager.auto.enable = true;
    displayManager.auto.user = mainUser;
    desktopManager.xterm.enable = false;
  };
  # lid switch is handled via button presses
  services.logind.extraConfig = mkDefault "HandleLidSwitch=ignore";
  makefu.awesome.enable = true;
  i18n.consoleFont = "Lat2-Terminus16";

  fonts = {
    enableCoreFonts = true;
    enableFontDir = true;
    enableGhostscriptFonts = false;
    fonts = [ pkgs.terminus_font ];
  };

  environment.systemPackages = with pkgs;[
    pavucontrol
    xlockmore
    rxvt_unicode-with-plugins
    firefox
  ];
  users.extraUsers.${mainUser}.extraGroups = [ "audio" ];

  hardware.pulseaudio = {
     enable = true;
   #  systemWide = true;
  };
  services.xserver.displayManager.sessionCommands = let
    xdefaultsfile = pkgs.writeText "Xdefaults"  ''
      cat |derp <<EOF
      XTerm*background: black
      XTerm*foreground: white
      XTerm*FaceName  : Terminus:pixelsize=14

      URxvt*termName:         rxvt
      URxvt*saveLines:            10000
      URxvt*loginShell:           false
      URxvt.scrollBar : false
      URxvt*scrollBar_right:  false
      URxvt*borderLess:       false
      URxvt.foreground: white
      URxvt.background: black
      URxvt.urgentOnBell: true
      URxvt.visualBell: false
      URxvt.font : xft:Terminus

      ! blue
      URxvt*color4:                         #268bd2


      URxvt.perl-ext:      default,url-select
      URxvt.keysym.M-u:    perl:url-select:select_next
      #URxvt.url-select.launcher:   firefox -new-tab
      URxvt.url-select.launcher:   chromium
      URxvt.url-select.underline: true
      URxvt.searchable-scrollback: CM-s
    '';
    in "cat ${xdefaultsfile} | xrdb -merge";
}