You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The default profile for dconf -- named user and stored under /etc/dconf/profiles/ -- currently references two databases:
a file-db entry pointing to the Nix store, where (read-only) confguration set by the option programs.dconf.profiles.user is stored;
a user-db entry that points to the user's configuration database, usually stored in ~/.config/dconf/user. This is where Home Manager's dconf.settings option currently stores all its configuration.
Issue
This means that there is no separation between (1) options set declaratively by HM, and (2) options set imperatively by e.g. GUI apps. Consequently:
options declared by HM can be overwritten imperatively which -- despite being easily fixable with a rebuild -- is not ideal;
using something like impermanence to clear (2) at every boot is simply impossible, since they are stored together with (1).
Fix proposal
To achieve better separation between (1) and (2):
(1) could be stored in a dedicated database in the Nix store, which could then be referenced as a read-only entry in /etc/dconf/profiles/user;
(2) could continue to be stored as they are now, allowing the user to cleanly wipe ~/.config/dconf/user at every boot without clearing the declarative configuration set by HM.
Are you following the right branch?
Is there an existing issue for this?
Partially related to #1444.
Issue description
Background
The default profile for
dconf
-- nameduser
and stored under/etc/dconf/profiles/
-- currently references two databases:file-db
entry pointing to the Nix store, where (read-only) confguration set by the optionprograms.dconf.profiles.user
is stored;user-db
entry that points to the user's configuration database, usually stored in~/.config/dconf/user
. This is where Home Manager'sdconf.settings
option currently stores all its configuration.Issue
This means that there is no separation between (1) options set declaratively by HM, and (2) options set imperatively by e.g. GUI apps. Consequently:
Fix proposal
To achieve better separation between (1) and (2):
/etc/dconf/profiles/user
;~/.config/dconf/user
at every boot without clearing the declarative configuration set by HM.Maintainer CC
@rycee
System information
The text was updated successfully, but these errors were encountered: