redshift/gammastep: Unify common options #1749
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Nowadays
services.{redshift,gammastep}modules are really similar. They should, since Gammastep is a fork of Redshift with the main objective is to support Wayland.So instead of trying to maintain two separate modules, this commit unify the options in lib/options.nix file, while the implementation of the module itself ends up being really simple (just calling the common options with the necessary parameters to differentiate between them).
My reasoning for this is to make maintaining the modules easier, but also I want to update the modules to use config file instead of passing parameters via command-line, since this will allow it to support options not supported currently. Modifying both modules separately would be very error prone, so I decided to first unify them and afterwards I can open another PR migrating them to the config file.
Checklist
Change is backwards compatible.
Code formatted with
./format.Code tested through
nix-shell --pure tests -A run.all.Test cases updated/added. See example.
Commit messages are formatted like
See CONTRIBUTING for more information and recent commit messages for examples.
If this PR adds a new module
Added myself as module maintainer. See example.
Added myself and the module files to
.github/CODEOWNERS.