summaryrefslogtreecommitdiffstats
path: root/makefu/1systems/wbob.nix
blob: ff593ab35a1826898f5f3f22a1e9a6084c4a9832 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
{ config, pkgs, ... }:
let rootdisk = "/dev/disk/by-id/ata-TS256GMTS800_C613840115";
in {

  makefu.awesome = {
    modkey = "Mod1";
    #TODO: integrate kiosk config into full config by templating the autostart
    baseConfig = pkgs.awesomecfg.kiosk;
  };
  imports =
    [ # Include the results of the hardware scan.
      ../.
      ../2configs/main-laptop.nix
      ../2configs/virtualization.nix
      ../2configs/tinc/retiolum.nix
    ];
  krebs = {
      enable = true;
      build.host = config.krebs.hosts.wbob;
  };
  networking.firewall.allowedUDPPorts = [ 1655 ];
  networking.firewall.allowedTCPPorts = [ 1655 49152 ];
  services.tinc.networks.siem = {
    name = "display";
    extraConfig = ''
      ConnectTo = sjump
    '';
  };

  # rt2870.bin wifi card, part of linux-unfree
  hardware.enableAllFirmware = true;
  nixpkgs.config.allowUnfree = true;
  networking.wireless.enable = true;
  # rt2870 with nonfree creates wlp2s0 from wlp0s20u2
  # not explicitly setting the interface results in wpa_supplicant to crash
  networking.wireless.interfaces = [ "wlp2s0" ];


  # nuc hardware
  boot.loader.grub.device = rootdisk;
  hardware.cpu.intel.updateMicrocode = true;
  boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
  boot.kernelModules = [ "kvm-intel" ];
  fileSystems."/" = {
      device = rootdisk + "-part1";
      fsType = "ext4";
  };

  # DualHead on NUC
  services.xserver = {
      # xrandrHeads = [ "HDMI1" "HDMI2" ];
      # prevent screen from turning off, disable dpms
      displayManager.sessionCommands = ''
        xset s off -dpms
        xrandr --output HDMI2 --right-of HDMI1
      '';
  };
  # TODO: update synergy package with these extras (username)
  # TODO: add crypto layer
  systemd.services."synergy-client" = {
    environment.DISPLAY = ":0";
    serviceConfig.User = "makefu";
  };

  services.synergy = {
    client = {
      enable = true;
      screenName = "wbob";
      serverAddress = "x.r";
    };
  };
}