about summary refs log tree commit diff
diff options
context:
space:
mode:
authorWilliam Carroll <wpcarro@gmail.com>2022-07-01T17·06-0700
committerclbot <clbot@tvl.fyi>2022-07-12T04·13+0000
commitab0cca019bd574b396cf2ccc9ca6a5531bd87856 (patch)
tree65e3e99ce2ffc3ada8dd91a5f2b9757301ed340f
parent5188c689bff93182721abe6160da70ecbdaf8e0b (diff)
feat(wpcarro/nixos): Support laptop.nix module r/4292
Define shared laptop configuration. The primary impetus of this change was
`powerManagement.powertop`.

Change-Id: Icbd04a252005ab391dc8f7d5ebf0968af91f2e0c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5910
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
-rw-r--r--users/wpcarro/nixos/marcus/default.nix7
-rw-r--r--users/wpcarro/nixos/modules/laptop.nix15
2 files changed, 19 insertions, 3 deletions
diff --git a/users/wpcarro/nixos/marcus/default.nix b/users/wpcarro/nixos/marcus/default.nix
index 0dc4fc57f5..db3472926a 100644
--- a/users/wpcarro/nixos/marcus/default.nix
+++ b/users/wpcarro/nixos/marcus/default.nix
@@ -4,6 +4,8 @@
 let
   inherit (depot.users) wpcarro;
 
+  usermod = name: depot.path.origSrc + ("/users/wpcarro/nixos/modules/${name}");
+
   wpcarrosEmacs = wpcarro.emacs.nixos {
     load = [ ./marcus.el ];
   };
@@ -18,6 +20,7 @@ in
   imports = [
     (depot.path.origSrc + "/users/wpcarro/nixos/marcus/hardware.nix")
     (pkgs.home-manager.src + "/nixos")
+    (usermod "laptop.nix")
   ];
 
   # Use the TVL binary cache
@@ -111,9 +114,7 @@ in
     };
   };
 
-  programs = wpcarro.common.programs // {
-    light.enable = true;
-  };
+  programs = wpcarro.common.programs;
 
   environment.variables = {
     EDITOR = "emacsclient";
diff --git a/users/wpcarro/nixos/modules/laptop.nix b/users/wpcarro/nixos/modules/laptop.nix
new file mode 100644
index 0000000000..03dd0f39bb
--- /dev/null
+++ b/users/wpcarro/nixos/modules/laptop.nix
@@ -0,0 +1,15 @@
+# Laptop-specific NixOS configuration.
+_:
+
+{
+  # Automatically detect location for redshift.
+  services.geoclue2.enable = true;
+  location.provider = "geoclue2";
+
+  # Enable power-saving features.
+  powerManagement.powertop.enable = true;
+
+  # Backlight control command.
+  programs.light.enable = true;
+}
+