about summary refs log tree commit diff
path: root/machines
diff options
context:
space:
mode:
Diffstat (limited to 'machines')
-rw-r--r--machines/devhell/eris.nix139
-rw-r--r--machines/devhell/skunkworks.nix163
-rw-r--r--machines/devhell/titan.nix91
3 files changed, 393 insertions, 0 deletions
diff --git a/machines/devhell/eris.nix b/machines/devhell/eris.nix
index cce2d6b0..e6c13079 100644
--- a/machines/devhell/eris.nix
+++ b/machines/devhell/eris.nix
@@ -60,4 +60,143 @@
     consoleKeyMap = "uk";
     defaultLocale = "en_GB.UTF-8";
   };
+
+  #### Machine-specific service configuration ####
+
+  vuizvui.user.devhell.profiles.services.enable = true;
+
+  services = {
+    tftpd.enable = true;
+    gnome3.gnome-keyring.enable = true;
+    printing.enable = false;
+  };
+
+  services.udev = {
+    extraRules = ''
+      SUBSYSTEM=="firmware", ACTION=="add", ATTR{loading}="-1"
+    '';
+  };
+
+  services.acpid = {
+    enable = true;
+    lidEventCommands = ''
+      LID="/proc/acpi/button/lid/LID/state"
+      state=`cat $LID | ${pkgs.gawk}/bin/awk '{print $2}'`
+      case "$state" in
+        *open*) ;;
+        *close*) systemctl suspend ;;
+        *) logger -t lid-handler "Failed to detect lid state ($state)" ;;
+      esac
+    '';
+  };
+
+  services.xserver = {
+    enable = true;
+    layout = "gb";
+    videoDrivers = [ "intel" ];
+
+    synaptics = {
+      enable = true;
+      twoFingerScroll = true;
+      palmDetect = true;
+    };
+
+    # XXX: Factor out and make DRY, because a lot of the stuff here is
+    # duplicated in the other machine configurations.
+    displayManager.sessionCommands = ''
+      ${pkgs.xorg.xsetroot}/bin/xsetroot -solid black
+      ${pkgs.networkmanagerapplet}/bin/nm-applet &
+      ${pkgs.pasystray}/bin/pasystray &
+      #${pkgs.compton}/bin/compton -f &
+      ${pkgs.rofi}/bin/rofi &
+      ${pkgs.xorg.xrdb}/bin/xrdb "${pkgs.writeText "xrdb.conf" ''
+        Xft.dpi:                     96
+        Xft.antialias:               true
+        Xft.hinting:                 full
+        Xft.hintstyle:               hintslight
+        Xft.rgba:                    rgb
+        Xft.lcdfilter:               lcddefault
+        Xft.autohint:                1
+        Xcursor.theme:               Vanilla-DMZ-AA
+        Xcursor.size:                22
+        *.charClass:33:48,35:48,37:48,43:48,45-47:48,61:48,63:48,64:48,95:48,126:48,35:48,58:48
+        *background:                 #121212
+        *foreground:                 #babdb6
+        ${lib.concatMapStrings (xterm: ''
+            ${xterm}.termName:       xterm-256color
+            ${xterm}*bellIsUrgent:   true
+            ${xterm}*utf8:           1
+            ${xterm}*locale:             true
+            ${xterm}*utf8Title:          true
+            ${xterm}*utf8Fonts:          1
+            ${xterm}*utf8Latin1:         true
+            ${xterm}*dynamicColors:      true
+            ${xterm}*eightBitInput:      true
+            ${xterm}*faceName:           xft:DejaVu Sans Mono for Powerline:pixelsize=9:antialias=true:hinting=true
+            ${xterm}*faceNameDoublesize: xft:Unifont:pixelsize=12:antialias=true:hinting=true
+            ${xterm}*cursorColor:        #545f65
+        '') [ "UXTerm" "XTerm" ]}
+        ! ------------------------------------------------------------------------------
+        ! ROFI Color theme & Settings
+        ! ------------------------------------------------------------------------------
+        rofi.modi: run
+        rofi.opacity: 85
+        rofi.width: 100
+        rofi.lines: 3
+        rofi.padding: 300
+        rofi.bw: 0
+        rofi.eh: 2
+        rofi.color-enabled: true
+        rofi.color-window: #393939, #393939, #268bd2
+        rofi.color-normal: #393939, #ffffff, #393939, #268bd2, #ffffff
+        rofi.color-active: #393939, #268bd2, #393939, #268bd2, #205171
+        rofi.color-urgent: #393939, #f3843d, #393939, #268bd2, #ffc39c
+      ''}"
+    '';
+  };
+
+  services.tlp = {
+    enable = true;
+    extraConfig = ''
+      TLP_ENABLE = 1
+      DISK_IDLE_SECS_ON_BAT=2
+      MAX_LOST_WORK_SECS_ON_AC=15
+      MAX_LOST_WORK_SECS_ON_BAT=60
+      SCHED_POWERSAVE_ON_AC=0
+      SCHED_POWERSAVE_ON_BAT=1
+      NMI_WATCHDOG=0
+      DISK_DEVICES="sda sdb"
+      DISK_APM_LEVEL_ON_AC="254 254"
+      DISK_APM_LEVEL_ON_BAT="254 127"
+      DISK_IOSCHED="noop cfq"
+      SATA_LINKPWR_ON_AC=max_performance
+      SATA_LINKPWR_ON_BAT=min_power
+      PCIE_ASPM_ON_AC=performance
+      PCIE_ASPM_ON_BAT=powersave
+      WIFI_PWR_ON_AC=1
+      WIFI_PWR_ON_BAT=5
+      WOL_DISABLE=Y
+      SOUND_POWER_SAVE_ON_AC=0
+      SOUND_POWER_SAVE_ON_BAT=1
+      SOUND_POWER_SAVE_CONTROLLER=Y
+      RUNTIME_PM_ON_AC=on
+      RUNTIME_PM_ON_BAT=auto
+      RUNTIME_PM_ALL=1
+      USB_AUTOSUSPEND=1
+      USB_BLACKLIST_WWAN=1
+      RESTORE_DEVICE_STATE_ON_STARTUP=0
+      DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wwan"
+      DEVICES_TO_ENABLE_ON_STARTUP="wifi"
+      DEVICES_TO_DISABLE_ON_SHUTDOWN="bluetooth wifi wwan"
+      #DEVICES_TO_ENABLE_ON_SHUTDOWN=""
+      START_CHARGE_THRESH_BAT0=75
+      STOP_CHARGE_THRESH_BAT0=80
+      #DEVICES_TO_DISABLE_ON_LAN_CONNECT="wifi wwan"
+      #DEVICES_TO_DISABLE_ON_WIFI_CONNECT="wwan"
+      #DEVICES_TO_DISABLE_ON_WWAN_CONNECT="wifi"
+      #DEVICES_TO_ENABLE_ON_LAN_DISCONNECT="wifi wwan"
+      #DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT=""
+      #DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT=""
+    '';
+  };
 }
diff --git a/machines/devhell/skunkworks.nix b/machines/devhell/skunkworks.nix
index 91ed886b..b5d2912d 100644
--- a/machines/devhell/skunkworks.nix
+++ b/machines/devhell/skunkworks.nix
@@ -80,4 +80,167 @@
     ${pkgs.hdparm}/sbin/hdparm -B 255 \
   /dev/disk/by-id/ata-ST31500541AS_6XW0P0CW
   '';
+
+  #### Machine-specific service configuration ####
+
+  vuizvui.user.devhell.profiles.services.enable = true;
+
+  services = {
+    printing = {
+      enable = true;
+      drivers = [ pkgs.hplipWithPlugin ];
+    };
+    timesyncd.enable = true;
+    resolved.enable = true;
+    canto-daemon.enable = true;
+  };
+
+  services.xserver = {
+    enable = true;
+    layout = "us";
+    xkbVariant = "dvorak";
+    videoDrivers = [ "ati" ];
+
+    serverLayoutSection = ''
+      Screen "Center/Right"
+      Screen "Left" LeftOf "Center/Right"
+    '';
+
+    config = ''
+      Section "ServerLayout"
+        Identifier          "Multihead layout"
+        Screen              "Center/Right"
+        Screen              "Left" LeftOf "Center/Right"
+      EndSection
+
+      Section "Device"
+        Identifier          "Radeon HD 4650 PCIEx8"
+        Driver              "radeon"
+        BusId               "PCI:2:0:0"
+
+        Option              "monitor-DVI-1" "Left monitor"
+      EndSection
+
+      Section "Device"
+        Identifier          "Radeon HD 4650 PCIEx16"
+        Driver              "radeon"
+        BusID               "PCI:1:0:0"
+
+        Option              "monitor-DVI-0" "Center monitor"
+        Option              "monitor-HDMI-0" "Right monitor"
+      EndSection
+
+      Section "Screen"
+        Identifier          "Center/Right"
+        Monitor             "Left monitor"
+        Device              "Radeon HD 4650 PCIEx16"
+      EndSection
+
+      Section "Screen"
+        Identifier          "Left"
+        Device              "Radeon HD 4650 PCIEx8"
+      EndSection
+
+      Section "Monitor"
+        Identifier          "Left monitor"
+      EndSection
+
+      Section "Monitor"
+        Identifier          "Center monitor"
+        Option              "LeftOf" "Right monitor"
+        Option              "Primary" "true"
+      EndSection
+
+      Section "Monitor"
+        Identifier          "Right monitor"
+      EndSection
+    '';
+
+    # XXX: Factor out and make DRY, because a lot of the stuff here is
+    # duplicated in the other machine configurations.
+    displayManager.sessionCommands = ''
+      ${pkgs.xorg.xsetroot}/bin/xsetroot -solid black
+      ${pkgs.xscreensaver}/bin/xscreensaver -no-splash &
+      ${pkgs.rofi}/bin/rofi &
+      ${pkgs.xorg.xrdb}/bin/xrdb "${pkgs.writeText "xrdb.conf" ''
+        Xft.dpi:              96
+        Xft.antialias:        true
+        Xft.hinting:          full
+        Xft.hintstyle:        hintslight
+        Xft.rgba:             rgb
+        Xft.lcdfilter:        lcddefault
+        Xft.autohint:         1
+        XTerm.termName:       xterm-256color
+        XTerm*bellIsUrgent:   true
+        XTerm*utf8:           1
+        XTerm*locale:         true
+        XTerm*utf8Title:      true
+        XTerm*utf8Fonts:      true
+        XTerm*utf8Latin1:     true
+        XTerm*dynamicColors:  true
+        XTerm*eightBitInput:  true
+        Xcursor.theme:        Vanilla-DMZ-AA
+        Xcursor.size:         22
+        *.charClass:33:48,35:48,37:48,43:48,45-47:48,61:48,63:48,64:48,95:48,126:48,35:48,58:48
+        XTerm*faceName:       xft:DejaVu Sans Mono for Powerline:pixelsize=12:antialias=true:hinting=true
+        XTerm*faceNameDoublesize: xft:Unifont:pixelsize=12:antialias=true:hinting=true
+        XTerm*cursorColor:    #545f65
+        XTerm*saveLines:      10000
+        ! Base16 Twilight
+        ! Scheme: David Hart (http://hart-dev.com)
+        #define base00 #1e1e1e
+        #define base01 #323537
+        #define base02 #464b50
+        #define base03 #5f5a60
+        #define base04 #838184
+        #define base05 #a7a7a7
+        #define base06 #c3c3c3
+        #define base07 #ffffff
+        #define base08 #cf6a4c
+        #define base09 #cda869
+        #define base0A #f9ee98
+        #define base0B #8f9d6a
+        #define base0C #afc4db
+        #define base0D #7587a6
+        #define base0E #9b859d
+        #define base0F #9b703f
+        *.foreground:   base05
+        *.background:   base00
+        *.cursorColor:  base05
+        *.color0:       base00
+        *.color1:       base08
+        *.color2:       base0B
+        *.color3:       base0A
+        *.color4:       base0D
+        *.color5:       base0E
+        *.color6:       base0C
+        *.color7:       base05
+        *.color8:       base03
+        *.color9:       base09
+        *.color10:      base01
+        *.color11:      base02
+        *.color12:      base04
+        *.color13:      base06
+        *.color14:      base0F
+        *.color15:      base07
+        ! ------------------------------------------------------------------------------
+        ! ROFI Color theme & Settings
+        ! ------------------------------------------------------------------------------
+        rofi.modi: run
+        rofi.opacity: 85
+        rofi.width: 100
+        rofi.lines: 3
+        rofi.padding: 450
+        rofi.bw: 0
+        rofi.eh: 2
+        rofi.color-enabled: true
+        rofi.color-window: #393939, #393939, #268bd2
+        rofi.color-normal: #393939, #ffffff, #393939, #268bd2, #ffffff
+        rofi.color-active: #393939, #268bd2, #393939, #268bd2, #205171
+        rofi.color-urgent: #393939, #f3843d, #393939, #268bd2, #ffc39c
+      ''}"
+
+      DISPLAY=:0.1 ${pkgs.windowmaker}/bin/wmaker &
+    '';
+  };
 }
diff --git a/machines/devhell/titan.nix b/machines/devhell/titan.nix
index abc640da..23b967d2 100644
--- a/machines/devhell/titan.nix
+++ b/machines/devhell/titan.nix
@@ -65,4 +65,95 @@
     consoleKeyMap = "uk";
     defaultLocale = "en_GB.UTF-8";
   };
+
+  #### Machine-specific service configuration ####
+
+  vuizvui.user.devhell.profiles.services.enable = true;
+
+  services = {
+    tftpd.enable = false;
+    gnome3.gnome-keyring.enable = true;
+    printing.enable = false;
+  };
+
+  services.acpid = {
+    enable = true;
+    lidEventCommands = ''
+      LID="/proc/acpi/button/lid/LID/state"
+      state=`cat $LID | ${pkgs.gawk}/bin/awk '{print $2}'`
+      case "$state" in
+        *open*) ;;
+        *close*) systemctl suspend ;;
+        *) logger -t lid-handler "Failed to detect lid state ($state)" ;;
+      esac
+    '';
+  };
+
+  services.xserver = {
+    enable = true;
+    layout = "gb";
+    videoDrivers = [ "intel" ];
+
+    synaptics = {
+      enable = true;
+      twoFingerScroll = true;
+      palmDetect = true;
+    };
+
+    # XXX: Factor out and make DRY, because a lot of the stuff here is
+    # duplicated in the other machine configurations.
+    displayManager.sessionCommands = ''
+      ${pkgs.xbindkeys}/bin/xbindkeys &
+      ${pkgs.nitrogen}/bin/nitrogen --restore &
+      #${pkgs.networkmanagerapplet}/bin/nm-applet &
+      ${pkgs.connmanui}/bin/connman-ui-gtk &
+      ${pkgs.xscreensaver}/bin/xscreensaver -no-splash &
+      ${pkgs.pasystray}/bin/pasystray &
+      ${pkgs.compton}/bin/compton -f &
+      ${pkgs.rofi}/bin/rofi &
+      ${pkgs.xorg.xrdb}/bin/xrdb "${pkgs.writeText "xrdb.conf" ''
+        Xft.dpi:                     96
+        Xft.antialias:               true
+        Xft.hinting:                 full
+        Xft.hintstyle:               hintslight
+        Xft.rgba:                    rgb
+        Xft.lcdfilter:               lcddefault
+        Xft.autohint:                1
+        Xcursor.theme:               Vanilla-DMZ-AA
+        Xcursor.size:                22
+        *.charClass:33:48,35:48,37:48,43:48,45-47:48,61:48,63:48,64:48,95:48,126:48,35:48,58:48
+        *background:                 #121212
+        *foreground:                 #babdb6
+        ${lib.concatMapStrings (xterm: ''
+            ${xterm}.termName:       xterm-256color
+            ${xterm}*bellIsUrgent:   true
+            ${xterm}*utf8:           1
+            ${xterm}*locale:             true
+            ${xterm}*utf8Title:          true
+            ${xterm}*utf8Fonts:          1
+            ${xterm}*utf8Latin1:         true
+            ${xterm}*dynamicColors:      true
+            ${xterm}*eightBitInput:      true
+            ${xterm}*faceName:           xft:DejaVu Sans Mono for Powerline:pixelsize=9:antialias=true:hinting=true
+            ${xterm}*faceNameDoublesize: xft:Unifont:pixelsize=12:antialias=true:hinting=true
+            ${xterm}*cursorColor:        #545f65
+        '') [ "UXTerm" "XTerm" ]}
+        ! ------------------------------------------------------------------------------
+        ! ROFI Color theme & Settings
+        ! ------------------------------------------------------------------------------
+        rofi.modi: run
+        rofi.opacity: 85
+        rofi.width: 100
+        rofi.lines: 3
+        rofi.padding: 300
+        rofi.bw: 0
+        rofi.eh: 2
+        rofi.color-enabled: true
+        rofi.color-window: #393939, #393939, #268bd2
+        rofi.color-normal: #393939, #ffffff, #393939, #268bd2, #ffffff
+        rofi.color-active: #393939, #268bd2, #393939, #268bd2, #205171
+        rofi.color-urgent: #393939, #f3843d, #393939, #268bd2, #ffc39c
+      ''}"
+    '';
+  };
 }