diff options
author | Tobias Geerinckx-Rice <tobias.geerinckx.rice@gmail.com> | 2015-09-06 03:57:00 +0200 |
---|---|---|
committer | Tobias Geerinckx-Rice <tobias.geerinckx.rice@gmail.com> | 2015-09-06 23:50:02 +0200 |
commit | 24048fa226f3b91a2b8b23ef671589c39881ccac (patch) | |
tree | 3253de3e323f48bebd26cbdda110e4e3c16caa1a /nixos/modules/services/x11/redshift.nix | |
parent | fa3d7ea77ba1b4dca52b97dfe90755ce7e6edc80 (diff) | |
download | nixlib-24048fa226f3b91a2b8b23ef671589c39881ccac.tar nixlib-24048fa226f3b91a2b8b23ef671589c39881ccac.tar.gz nixlib-24048fa226f3b91a2b8b23ef671589c39881ccac.tar.bz2 nixlib-24048fa226f3b91a2b8b23ef671589c39881ccac.tar.lz nixlib-24048fa226f3b91a2b8b23ef671589c39881ccac.tar.xz nixlib-24048fa226f3b91a2b8b23ef671589c39881ccac.tar.zst nixlib-24048fa226f3b91a2b8b23ef671589c39881ccac.zip |
nixos: redshift module: add `package` option
...and make code more consistent.
Diffstat (limited to 'nixos/modules/services/x11/redshift.nix')
-rw-r--r-- | nixos/modules/services/x11/redshift.nix | 73 |
1 files changed, 53 insertions, 20 deletions
diff --git a/nixos/modules/services/x11/redshift.nix b/nixos/modules/services/x11/redshift.nix index 4f39e05f0f8d..ffae22d2d670 100644 --- a/nixos/modules/services/x11/redshift.nix +++ b/nixos/modules/services/x11/redshift.nix @@ -1,58 +1,90 @@ { config, lib, pkgs, ... }: + with lib; + let + cfg = config.services.redshift; in { - options = { - services.redshift.enable = mkOption { + + options.services.redshift = { + enable = mkOption { type = types.bool; default = false; example = true; - description = "Enable Redshift to change your screen's colour temperature depending on the time of day"; + description = '' + Enable Redshift to change your screen's colour temperature depending on + the time of day. + ''; }; - services.redshift.latitude = mkOption { - description = "Your current latitude"; + latitude = mkOption { type = types.str; + description = '' + Your current latitude. + ''; }; - services.redshift.longitude = mkOption { - description = "Your current longitude"; + longitude = mkOption { type = types.str; + description = '' + Your current longitude. + ''; }; - services.redshift.temperature = { + temperature = { day = mkOption { - description = "Colour temperature to use during day time"; - default = 5500; type = types.int; + default = 5500; + description = '' + Colour temperature to use during the day. + ''; }; night = mkOption { - description = "Colour temperature to use during night time"; - default = 3700; type = types.int; + default = 3700; + description = '' + Colour temperature to use at night. + ''; }; }; - services.redshift.brightness = { + brightness = { day = mkOption { - description = "Screen brightness to apply during the day (between 0.1 and 1.0)"; - default = "1"; type = types.str; + default = "1"; + description = '' + Screen brightness to apply during the day, + between <literal>0.1</literal> and <literal>1.0</literal>. + ''; }; night = mkOption { - description = "Screen brightness to apply during the night (between 0.1 and 1.0)"; - default = "1"; type = types.str; + default = "1"; + description = '' + Screen brightness to apply during the night, + between <literal>0.1</literal> and <literal>1.0</literal>. + ''; }; }; - services.redshift.extraOptions = mkOption { + package = mkOption { + type = types.package; + default = pkgs.redshift; + description = '' + redshift derivation to use. + ''; + }; + + extraOptions = mkOption { type = types.listOf types.str; default = []; example = [ "-v" "-m randr" ]; - description = "Additional command-line arguments to pass to the redshift(1) command"; + description = '' + Additional command-line arguments to pass to + <command>redshift</command>. + ''; }; }; @@ -63,7 +95,7 @@ in { after = [ "display-manager.service" ]; wantedBy = [ "graphical.target" ]; serviceConfig.ExecStart = '' - ${pkgs.redshift}/bin/redshift \ + ${cfg.package}/bin/redshift \ -l ${cfg.latitude}:${cfg.longitude} \ -t ${toString cfg.temperature.day}:${toString cfg.temperature.night} \ -b ${toString cfg.brightness.day}:${toString cfg.brightness.night} \ @@ -73,4 +105,5 @@ in { serviceConfig.Restart = "always"; }; }; + } |