summary refs log tree commit diff
path: root/nixos/modules/services/x11/redshift.nix
diff options
context:
space:
mode:
authorThiago Tonelli Bartolomei <thiagobart@gmail.com>2014-02-13 11:11:14 -0500
committerThiago Tonelli Bartolomei <thiagobart@gmail.com>2014-02-13 11:11:14 -0500
commitb5d17fe873a1db4109bab1061ab1572cd501de4e (patch)
treecd1642e2303f3f65437c41014aa4351ff6bb7c33 /nixos/modules/services/x11/redshift.nix
parent7cbadb51e18938581b12a17ffd80393bd1be84c9 (diff)
downloadnixpkgs-b5d17fe873a1db4109bab1061ab1572cd501de4e.tar
nixpkgs-b5d17fe873a1db4109bab1061ab1572cd501de4e.tar.gz
nixpkgs-b5d17fe873a1db4109bab1061ab1572cd501de4e.tar.bz2
nixpkgs-b5d17fe873a1db4109bab1061ab1572cd501de4e.tar.lz
nixpkgs-b5d17fe873a1db4109bab1061ab1572cd501de4e.tar.xz
nixpkgs-b5d17fe873a1db4109bab1061ab1572cd501de4e.tar.zst
nixpkgs-b5d17fe873a1db4109bab1061ab1572cd501de4e.zip
- adding brightness options
- setting options to be uniq
- using proper systemd exec service
Diffstat (limited to 'nixos/modules/services/x11/redshift.nix')
-rw-r--r--nixos/modules/services/x11/redshift.nix26
1 files changed, 20 insertions, 6 deletions
diff --git a/nixos/modules/services/x11/redshift.nix b/nixos/modules/services/x11/redshift.nix
index b9ad962d8e4..368403ed8a5 100644
--- a/nixos/modules/services/x11/redshift.nix
+++ b/nixos/modules/services/x11/redshift.nix
@@ -14,24 +14,37 @@ in {
 
     services.redshift.latitude = mkOption {
       description = "Your current latitude";
-      type = types.string;
+      type = types.uniq types.string;
     };
 
     services.redshift.longitude = mkOption {
       description = "Your current longitude";
-      type = types.string;
+      type = types.uniq types.string;
     };
 
     services.redshift.temperature = {
       day = mkOption {
         description = "Colour temperature to use during day time";
         default = 5500;
-        type = types.int;
+        type = types.uniq types.int;
       };
       night = mkOption {
         description = "Colour temperature to use during night time";
         default = 3700;
-        type = types.int;
+        type = types.uniq types.int;
+      };
+    };
+
+    services.redshift.brightness = {
+      day = mkOption {
+        description = "Screen brightness to apply during the day (between 0.1 and 1.0)";
+        default = 1;
+        type = types.uniq types.string;
+      };
+      night = mkOption {
+        description = "Screen brightness to apply during the night (between 0.1 and 1.0)";
+        default = 1;
+        type = types.uniq types.string;
       };
     };
   };
@@ -41,10 +54,11 @@ in {
       description = "Redshift colour temperature adjuster";
       requires = [ "display-manager.service" ];
       after = [ "display-manager.service" ];
-      script = ''
+      serviceConfig.ExecStart = ''
         ${pkgs.redshift}/bin/redshift \
           -l ${cfg.latitude}:${cfg.longitude} \
-          -t ${toString cfg.temperature.day}:${toString cfg.temperature.night}
+          -t ${toString cfg.temperature.day}:${toString cfg.temperature.night} \
+          -b ${toString cfg.brightness.day}:${toString cfg.brightness.night}
       '';
       environment = { DISPLAY = ":0"; };
       serviceConfig.Restart = "always";