dconf: support configuring specific user databases #6301
+86
−55
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
By default, dconf uses
$XDG_CONFIG_HOME/dconf/user
as the user database, but this can be changed by specifyinguser-db:<name>
in a profile file and setting theDCONF_PROFILE
environment variable to that profile. One may want to use different user databases for different DE/WMs to avoid collision.Currently the module invokes dconf without touching
DCONF_PROFILE
, which means that 1) it is unable to configure multiple different user databases, and 2) the behavior of activation script will be affected by theDCONF_PROFILE
environment variable when it is invoked, possibly leading to undesired results.This PR adds a
dconf.databases
option, so that settings underdconf.databases.<name>
will be written to$XDG_CONFIG_HOME/dconf/<name>
. The olddconf.settings
option is left as-is to avoid breaking compatibility.Checklist
Change is backwards compatible.
Code formatted with
./format
.Code tested through
nix-shell --pure tests -A run.all
ornix develop --ignore-environment .#all
using Flakes.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
Maintainer CC
@rycee