summary refs log tree commit diff
path: root/nixos/modules
diff options
context:
space:
mode:
authorDomen Kožar <domen@dev.si>2014-02-15 10:33:45 +0100
committerDomen Kožar <domen@dev.si>2014-02-15 10:33:45 +0100
commit77750efc7e66d9535d7a71e46fee4af408e0910d (patch)
tree0a67dc81a02eda1e8cd12b378d9f8f824999c380 /nixos/modules
parent38c59c97b332b5c52f0b1cd656dcb15d5c474f97 (diff)
parent2dcf9338178bc784c59034fecb32de3de32c1284 (diff)
downloadnixlib-77750efc7e66d9535d7a71e46fee4af408e0910d.tar
nixlib-77750efc7e66d9535d7a71e46fee4af408e0910d.tar.gz
nixlib-77750efc7e66d9535d7a71e46fee4af408e0910d.tar.bz2
nixlib-77750efc7e66d9535d7a71e46fee4af408e0910d.tar.lz
nixlib-77750efc7e66d9535d7a71e46fee4af408e0910d.tar.xz
nixlib-77750efc7e66d9535d7a71e46fee4af408e0910d.tar.zst
nixlib-77750efc7e66d9535d7a71e46fee4af408e0910d.zip
Merge pull request #1739 from ttonelli/master
Improvements to RedShift service
Diffstat (limited to 'nixos/modules')
-rw-r--r--nixos/modules/services/x11/redshift.nix27
1 files changed, 21 insertions, 6 deletions
diff --git a/nixos/modules/services/x11/redshift.nix b/nixos/modules/services/x11/redshift.nix
index b9ad962d8e46..332d742a1416 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,12 @@ in {
       description = "Redshift colour temperature adjuster";
       requires = [ "display-manager.service" ];
       after = [ "display-manager.service" ];
-      script = ''
+      wantedBy = [ "graphical.target" ];
+      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";