Commit graph

28 commits

Author SHA1 Message Date
Sumner Evans 8c72cf16fa
nixos/redshift: add executable option
Added ability to configure the executable that the redshift service
uses.
2020-09-30 17:00:38 -06:00
Silvan Mosberger e686b39288
nixos/redshift: Add rename for provider option
This was an oversight in https://github.com/NixOS/nixpkgs/pull/64309
resulting it backwards incompatibilities
2019-09-15 18:26:53 +02:00
Silvan Mosberger ecf5f85a81
nixos/redshift: Move option renames to the module 2019-09-15 18:25:40 +02:00
volth 35d68ef143 treewide: remove redundant quotes 2019-08-26 21:40:19 +00:00
Edmund Wu c4de0bf492
timezone.nix -> locale.nix
Also includes geolocation information abstracted from redshift.nix
2019-08-12 11:56:40 -04:00
Michael Peyton Jones 01d06dc35f
redshift: add geoclue config
The geoclue module now lets us set application config. This should make
it more robust in desktop environments that don't define a geoclue
agent.

Fixes #45994.
2019-06-03 18:13:21 +01:00
Michael Peyton Jones a1762065c3
redshift: install desktop files, and use absolute paths in them to avoid confusing geoclue agent 2018-08-14 15:53:39 +01:00
Michael Peyton Jones 2ac89a612c redshift: allow using geoclue2 loation provider 2017-10-21 22:34:14 +01:00
Franz Pletz 1e95e114e5
nixos/xsession: use graphical systemd user target
While systemd suggests using the pre-defined graphical-session user
target, I found that this interface is difficult to use. Additionally,
no other major distribution, even in their unstable versions, currently
use this mechanism.

The window or desktop manager is supposed to run in a systemd user service
which activates graphical-session.target and the user services that are
binding to this target. The issue is that we can't elegantly pass the
xsession environment to the window manager session, in particular
whereas the PassEnvironment option does work for DISPLAY, it for some
mysterious reason won't for PATH.

This commit implements a new graphical user target that works just like
default.target. Services which should be run in a graphical session just
need to declare wantedBy graphical.target. The graphical target will be
activated in the xsession before executing the window or display manager.

Fixes #17858.
2017-05-29 15:05:28 +02:00
Franz Pletz 9536169074
nixos/treewide: remove boolean examples for options
They contain no useful information and increase the length of the
autogenerated options documentation.

See discussion in #18816.
2017-03-17 23:36:19 +01:00
8573 34435a9502 redshift: Fix default value of $DISPLAY (#17746)
Before commit 54fa0cfe4e, the `redshift`
service was run with the environment variable `DISPLAY` set to `:0`.

Commit 54fa0cfe4e changed this to
instead use the value of the `services.xserver.display` configuration
option in the value of the `DISPLAY` variable. In so doing, no default
value was provided for the case where `services.xserver.display` is
`null`.

While the default value of `services.xserver.display` is `0`, use of
which by the `redshift` module would result in `DISPLAY` again being
set to `:0`, `services.xserver.display` may also be `null`, to which
value it is set by, e.g., the `lightdm` module.

In the case that `services.xserver.display` is `null`, with the change
made in commit 54fa0cfe4e, the `DISPLAY`
variable in the environment of the `redshift` service would be set to
`:` (a single colon), which, according to my personal experience,
would result in —

  - the `redshift` service failing to start; and

  - systemd repeatedly attempting to restart the `redshift` service,
    looping indefinitely, while the hapless `redshift` spews error
    messages into the journal.

It can be observed that the malformed value of `DISPLAY` is likely at
fault for this issue by executing the following commands in an
ordinary shell, with a suitable `redshift` executable, and the X11
display not already tinted:

  - `redshift -O 2500` — This command should reduce the color
    temperature of the display (making it more reddish).

  - `DISPLAY=':' redshift -O 6500` — This command should raise the
    color temperature back up, were it not for the `DISPLAY`
    environment variable being set to `:` for it, which should cause
    it to, instead, fail with several error messages.

This commit attempts to fix this issue by having the `DISPLAY`
environment variable for the `redshift` service default to its old
value of `:0` in the case that `services.xserver.display` is `null`.

I have tested this solution on NixOS, albeit without the benefit of a
system with multiple displays.
2016-08-17 13:34:26 +02:00
Anders Papitto 54fa0cfe4e redshift: respect xserver.display variable 2016-07-05 19:18:00 -07:00
Franz Pletz 882391a162 redshift service: run as user service
Fixes #14882.
2016-04-24 19:48:10 +02:00
Thomas Strobel a04a7272aa Add missing 'type', 'defaultText' and 'literalExample' in module definitions
- add missing types in module definitions
- add missing 'defaultText' in module definitions
- wrap example with 'literalExample' where necessary in module definitions
2016-01-17 19:41:23 +01:00
Tobias Geerinckx-Rice 09c8911bd7 redshift: don't busy-loop like crazy on NixOS start-up 2015-12-24 04:05:57 +01:00
Chris Martin 00c42fdda1 redshift: document lat/long and temp bounds 2015-11-10 22:28:37 -08:00
Tobias Geerinckx-Rice 24048fa226 nixos: redshift module: add package option
...and make code more consistent.
2015-09-06 23:50:02 +02:00
Mateusz Kowalczyk 4984bfe807 redshift: fix evaluation
Broken by 77d33f77d7 , cc @nckx
2015-07-27 16:46:57 +01:00
Tobias Geerinckx-Rice 77d33f77d7 nixos: redshift service: add extraOptions 2015-07-27 01:54:07 +02:00
Eelco Dolstra 19ffa212af types.uniq types.int -> types.int
types.int already implies uniqueness.
2015-06-15 18:11:32 +02:00
Eelco Dolstra 9366af1b94 "types.uniq types.string" -> "types.str" 2015-06-15 18:08:49 +02:00
Eelco Dolstra 29027fd1e1 Rewrite ‘with pkgs.lib’ -> ‘with lib’
Using pkgs.lib on the spine of module evaluation is problematic
because the pkgs argument depends on the result of module
evaluation. To prevent an infinite recursion, pkgs and some of the
modules are evaluated twice, which is inefficient. Using ‘with lib’
prevents this problem.
2014-04-14 16:26:48 +02:00
Domen Kožar 0b5d523b84 redshift: default to string type for option brightness 2014-02-16 14:22:49 +01:00
Thiago Tonelli Bartolomei 2dcf933817 adding wantedBy graphical.target 2014-02-14 09:48:19 -05:00
Thiago Tonelli Bartolomei b5d17fe873 - adding brightness options
- setting options to be uniq
- using proper systemd exec service
2014-02-13 11:11:14 -05:00
Moritz Ulrich 1f91c749f5 services.redshift: Start after display-manager.service.
Signed-off-by: Moritz Ulrich <moritz@tarn-vedra.de>
2013-12-29 21:19:19 +01:00
Moritz Ulrich 6934145c30 services.redshift: Enable auto-restart.
The redshift service stops working after some time (the program exits
after some hours/days). It looks like these exits are related to calls
to xrandr (for multiple displays) or suspend-to-ram.

Signed-off-by: Moritz Ulrich <moritz@tarn-vedra.de>
2013-12-29 21:19:19 +01:00
Oliver Charles d792544802 services.redshift: New service 2013-10-22 09:03:06 +01:00