summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAlan Pearce2017-09-09 19:34:04 +0200
committerAlan Pearce2017-09-09 19:34:04 +0200
commit5d61d9068a4897cce320f92ec31bd823f021378b (patch)
tree490e59fbc6d59e6f541824bf3bd115d90f2b6b89
parent9a3f32686b6da2e86d55fa986fac935128b37bc1 (diff)
downloadnixos-configuration-5d61d9068a4897cce320f92ec31bd823f021378b.tar.lz
nixos-configuration-5d61d9068a4897cce320f92ec31bd823f021378b.tar.zst
nixos-configuration-5d61d9068a4897cce320f92ec31bd823f021378b.zip
Add system configuration for marvin (x250)
-rw-r--r--marvin.nix43
-rw-r--r--modules/x250.nix31
2 files changed, 74 insertions, 0 deletions
diff --git a/marvin.nix b/marvin.nix
new file mode 100644
index 0000000..f82d2e6
--- /dev/null
+++ b/marvin.nix
@@ -0,0 +1,43 @@
+{ config, pkgs, ... }:
+
+{ imports = [
+    ./hardware-configuration.nix
+    ./modules/systemd-boot.nix
+    ./modules/laptop.nix
+    ./modules/thinkpad.nix
+    ./modules/audio.nix
+    ./modules/adb.nix
+    ./modules/syncthing.nix
+    ./modules/nitrokey.nix
+    ./modules/shell.nix
+    ./modules/dotfiles.nix
+    ./modules/berlin.nix
+    ./modules/colemak.nix
+    ./modules/trackball.nix
+    ./modules/xserver.nix
+    ./modules/british-english.nix
+    ./modules/bare-metal.nix
+    ./modules/intel-gpu.nix
+    ./modules/x250.nix
+    ./modules/user.nix
+    ./modules/user-interface.nix
+    ./modules/dev.nix
+    ./modules/javascript.nix
+    ./modules/accounting.nix
+    ./modules/passwords.nix
+    ./modules/network-manager.nix
+    ./modules/nix.nix
+    ./modules/i3.nix
+  ];
+
+  environment.systemPackages = with pkgs; [
+    chromium
+  ];
+
+  networking = {
+    hostName = "marvin";
+    domain = "alanpearce.eu";
+  };
+
+  system.stateVersion = "17.03";
+}
diff --git a/modules/x250.nix b/modules/x250.nix
new file mode 100644
index 0000000..025bc30
--- /dev/null
+++ b/modules/x250.nix
@@ -0,0 +1,31 @@
+{ config, pkgs, ... }:
+
+{ boot.extraModulePackages = with config.boot.kernelPackages; [
+    acpi_call
+  ];
+
+  hardware.firmware = with pkgs; [
+    firmwareLinuxNonfree
+  ];
+
+  services.xserver.monitorSection = ''
+    DisplaySize 277 156
+  '';
+
+  services.tlp.extraConfig = ''
+    # Newer Thinkpads have a battery firmware
+    # it conflicts with TLP if stop thresholds are set
+    START_CHARGE_THRESH_BAT0=70
+    # STOP_CHARGE_THRESH_BAT0=80
+    START_CHARGE_THRESH_BAT1=70
+    # STOP_CHARGE_THRESH_BAT1=80
+
+    DISK_APM_LEVEL_ON_AC="254 254"
+    DISK_APM_LEVEL_ON_BAT="128 128"
+
+    # One or both of these lines stops disk corruption
+    # when re-attaching to AC whilst on.
+    SATA_LINKPWR_ON_BAT=medium_power
+    SATA_LINKPWR_BLACKLIST="host1"
+  '';
+}