about summary refs log tree commit diff
path: root/machines/devhell
diff options
context:
space:
mode:
Diffstat (limited to 'machines/devhell')
-rw-r--r--machines/devhell/eir.nix (renamed from machines/devhell/eris.nix)36
-rw-r--r--machines/devhell/gunnr.nix158
-rw-r--r--machines/devhell/hildr.nix (renamed from machines/devhell/titan.nix)36
-rw-r--r--machines/devhell/sigrun.nix (renamed from machines/devhell/skunkworks.nix)17
4 files changed, 210 insertions, 37 deletions
diff --git a/machines/devhell/eris.nix b/machines/devhell/eir.nix
index e878e6e6..a76be6e5 100644
--- a/machines/devhell/eris.nix
+++ b/machines/devhell/eir.nix
@@ -27,6 +27,7 @@
   };
 
   hardware = {
+    cpu.intel.updateMicrocode = true;
     opengl = {
       enable = true;
       extraPackages = [ pkgs.libvdpau-va-gl pkgs.vaapiVdpau pkgs.vaapiIntel ];
@@ -54,11 +55,11 @@
   # FIXME Check if this is still necessary in the future
   systemd.services.systemd-networkd-wait-online.enable = false;
 
-  # XXX Ensure that these are added in addition to the DHCP proviced DNS servers
-  systemd.network.networks."99-main".dns = [ "1.1.1.1" "8.8.8.8" ];
+  # XXX Ensure that these are added in addition to the DHCP provided DNS servers
+  systemd.network.networks."99-main".dns = [ "1.1.1.1" "1.0.0.1" ];
 
   networking = {
-    hostName = "eris";
+    hostName = "eir";
     wireless.iwd.enable = true;
     useNetworkd = true;
   };
@@ -73,7 +74,7 @@
   };
 
   i18n = {
-    consoleFont = "lat9w-16";
+    consoleFont = "Lat2-Terminus16";
     consoleKeyMap = "uk";
     defaultLocale = "en_GB.UTF-8";
   };
@@ -83,12 +84,23 @@
   vuizvui.user.devhell.profiles.services.enable = true;
 
   services = {
+    thermald.enable = true;
     tftpd.enable = false;
     gnome3.gnome-keyring.enable = true;
     printing = {
       enable = true;
       drivers = [ pkgs.foo2zjs pkgs.hplip pkgs.cups-brother-hl1110 ];
     };
+    offlineimap = {
+      enable = true;
+      install = true;
+      path = [ pkgs.notmuch ];
+    };
+    syncthing = {
+      enable = true;
+      user = "dev";
+      dataDir = "/home/dev/syncthing/";
+    };
   };
 
   services.udev = {
@@ -110,17 +122,10 @@
     '';
   };
 
-  services.compton = {
-    enable = true;
-    extraOptions = ''
-      inactive-dim = 0.2;
-    '';
-  };
-
   services.xserver = {
     enable = true;
     layout = "gb";
-    videoDrivers = [ "intel" ];
+    videoDrivers = [ "modesetting" ];
 
     libinput = {
       enable = true;
@@ -137,10 +142,6 @@
     # duplicated in the other machine configurations.
     displayManager.sessionCommands = ''
       ${pkgs.nitrogen}/bin/nitrogen --restore &
-      #${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
@@ -224,6 +225,8 @@
 
   nixpkgs.config.mpv.vaapiSupport = true;
 
+  programs.light.enable = true;
+
   environment.systemPackages = with pkgs; [
     aircrackng
     cdrtools
@@ -245,6 +248,5 @@
     vdpauinfo
     wavemon
     xbindkeys
-    xorg.xbacklight
   ];
 }
diff --git a/machines/devhell/gunnr.nix b/machines/devhell/gunnr.nix
new file mode 100644
index 00000000..25016054
--- /dev/null
+++ b/machines/devhell/gunnr.nix
@@ -0,0 +1,158 @@
+{ config, pkgs, lib, ... }:
+
+{
+  vuizvui.user.devhell.profiles.base.enable = true;
+  vuizvui.system.kernel.bfq.enable = true;
+
+  boot = {
+    loader = {
+      grub  = {
+        enable = true;
+        version = 2;
+        copyKernels = true;
+        devices = [ "/dev/sda" "/dev/sdb" ];
+      };
+    };
+
+    zfs = {
+      enableUnstable = true;
+      requestEncryptionCredentials = true;
+    };
+
+    initrd = {
+      availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
+      kernelModules = [ "fuse" ];
+    };
+
+    kernelParams = [ ];
+    kernelModules = [ "kvm-amd" ];
+    extraModulePackages = [ ];
+    blacklistedKernelModules = [ ];
+  };
+
+  hardware = {
+    cpu.amd.updateMicrocode = true;
+    opengl = {
+      enable = true;
+      extraPackages = [ pkgs.libvdpau-va-gl pkgs.vaapiVdpau ];
+    };
+  };
+
+  fileSystems."/" = {
+    device = "zpool/root/nixos";
+    fsType = "zfs";
+  };
+
+  fileSystems."/home" = {
+    device = "zpool/home";
+    fsType = "zfs";
+  };
+
+  fileSystems."/boot" = {
+    device = "/dev/disk/by-label/boot";
+    fsType = "ext4";
+  };
+
+  zramSwap.enable = true;
+
+  # FIXME Check if this is still necessary in the future
+  systemd.services.systemd-networkd-wait-online.enable = false;
+  
+  networking = {
+    hostName = "gunnr";
+    hostId = "29e6affc";
+    wireless.enable = false;
+    useNetworkd = true;
+    proxy = {
+      default = "http://wproxy.canterbury.ac.uk:3128/";
+      noProxy = "127.0.0.1,localhost";
+    };
+  };
+
+  nix = {
+    maxJobs = lib.mkDefault 16;
+    extraOptions = ''
+      auto-optimise-store = true
+    '';
+  };
+
+  i18n = {
+    consoleFont = "Lat2-Terminus16";
+    consoleKeyMap = "dvorak";
+    defaultLocale = "en_GB.UTF-8";
+  };
+
+  #### Machine-specific service configuration ####
+
+  vuizvui.user.devhell.profiles.services.enable = true;
+
+  services.zfs.autoScrub.enable = true;
+
+  services.xserver = {
+    enable = true;
+    layout = "dvorak";
+    videoDrivers = [ "modesetting" ];
+
+    # 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.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
+        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" ]}
+      ''}"
+    '';
+   };
+
+   services.timesyncd = {
+     servers = [ "ntp.canterbury.ac.uk" ];
+   };
+
+   #### Machine-specific packages configuration ####
+
+   vuizvui.user.devhell.profiles.packages.enable = true;
+
+   nixpkgs.config.mpv.vaapiSupport = true;
+   nixpkgs.config.mpv.bs2bSupport = true;
+
+   environment.systemPackages = with pkgs; [
+     cdrtools
+     docker
+     dvdplusrwtools
+     glxinfo
+     ipmitool
+     libva
+     libvdpau-va-gl
+     pamixer
+     vaapiVdpau
+     vdpauinfo
+     xbindkeys
+   ];
+}
diff --git a/machines/devhell/titan.nix b/machines/devhell/hildr.nix
index 11b7dd30..9230ca7b 100644
--- a/machines/devhell/titan.nix
+++ b/machines/devhell/hildr.nix
@@ -24,6 +24,7 @@
   };
 
   hardware = {
+    cpu.intel.updateMicrocode = true;
     opengl = {
       enable = true;
       extraPackages = [ pkgs.libvdpau-va-gl pkgs.vaapiVdpau pkgs.vaapiIntel ];
@@ -53,11 +54,11 @@
   # FIXME Check if this is still necessary in the future
   systemd.services.systemd-networkd-wait-online.enable = false;
 
-  # XXX Ensure that these are added in addition to the DHCP proviced DNS servers
-  systemd.network.networks."99-main".dns = [ "1.1.1.1" "8.8.8.8" ];
+  # XXX Ensure that these are added in addition to the DHCP provided DNS servers
+  systemd.network.networks."99-main".dns = [ "1.1.1.1" "1.0.0.1" ];
 
   networking = {
-    hostName = "titan";
+    hostName = "hildr";
     wireless.enable = true;
     useNetworkd = true;
   };
@@ -67,7 +68,7 @@
     cpuFreqGovernor = "powersave";
   };
 
-  virtualisation.docker.enable = true;
+#  virtualisation.docker.enable = true;
 
   nix = {
     maxJobs = lib.mkDefault 4;
@@ -87,12 +88,23 @@
   vuizvui.user.devhell.profiles.services.enable = true;
 
   services = {
+    thermald.enable = true;
     tftpd.enable = false;
     gnome3.gnome-keyring.enable = true;
     printing = {
       enable = true;
       drivers = [ pkgs.foo2zjs pkgs.cups-brother-hl1110 ];
     };
+    offlineimap = {
+      enable = true;
+      install = true;
+      path = [ pkgs.notmuch ];
+    };
+    syncthing = {
+      enable = true;
+      user = "dev";
+      dataDir = "/home/dev/syncthing/";
+    };
   };
 
   services.acpid = {
@@ -108,17 +120,10 @@
     '';
   };
 
-  services.compton = {
-    enable = true;
-    extraOptions = ''
-      inactive-dim = 0.2;
-    '';
-  };
-
   services.xserver = {
     enable = true;
     layout = "gb";
-    videoDrivers = [ "intel" ];
+    videoDrivers = [ "modesetting" ];
 
     libinput = {
       enable = true;
@@ -136,11 +141,7 @@
     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 -c &
       ${pkgs.rofi}/bin/rofi &
       ${pkgs.xorg.xrdb}/bin/xrdb "${pkgs.writeText "xrdb.conf" ''
         Xft.dpi:                     96
@@ -179,6 +180,8 @@
 
   nixpkgs.config.mpv.vaapiSupport = true;
 
+  programs.light.enable = true;
+
   environment.systemPackages = with pkgs; [
     aircrackng
     cdrtools
@@ -202,6 +205,5 @@
     vdpauinfo
     wavemon
     xbindkeys
-    xorg.xbacklight
   ];
 }
diff --git a/machines/devhell/skunkworks.nix b/machines/devhell/sigrun.nix
index dc8d6265..4fba2ffe 100644
--- a/machines/devhell/skunkworks.nix
+++ b/machines/devhell/sigrun.nix
@@ -28,6 +28,7 @@
   };
 
   hardware = {
+    cpu.intel.updateMicrocode = true;
     opengl = {
       extraPackages = [ pkgs.vaapiVdpau ];
     };
@@ -63,14 +64,14 @@
     { device = "/dev/disk/by-uuid/3f1835a8-5587-4963-9b6c-66ecb36059de"; }
   ];
 
-  networking.hostName = "skunkworks";
+  networking.hostName = "sigrun";
   networking.wireless.enable = false;
   networking.useNetworkd = true;
 
   nix.maxJobs = 8;
 
   i18n = {
-    consoleFont = "lat9w-16";
+    consoleFont = "Lat2-Terminus16";
     consoleKeyMap = "dvorak";
     defaultLocale = "en_US.UTF-8";
   };
@@ -91,9 +92,20 @@
       enable = true;
       drivers = [ pkgs.hplipWithPlugin ];
     };
+    thermald.enable = true;
     timesyncd.enable = true;
     resolved.enable = true;
     canto-daemon.enable = true;
+    offlineimap = {
+      enable = true;
+      install = true;
+      path = [ pkgs.notmuch ];
+    };
+    syncthing = {
+      enable = true;
+      user = "dev";
+      dataDir = "/home/dev/syncthing/";
+    };
   };
 
   services.xserver = {
@@ -262,6 +274,5 @@
     hplip
     nzbget
     slrn
-    twister
   ];
 }