Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

deja-dup:add dconf dependency #30271

Closed
wants to merge 1 commit into from
Closed

deja-dup:add dconf dependency #30271

wants to merge 1 commit into from

Conversation

pasqui23
Copy link
Contributor

@pasqui23 pasqui23 commented Oct 10, 2017

without dconf deja-dup can only display the configuration interface,without being able to do anything with said interface

Motivation for this change
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

without dconf deja-dup can only display the configuration interface,without being able to do anything with said interface
@jtojnar
Copy link
Contributor

jtojnar commented Oct 10, 2017

The wrapGAppsHook already adds dconf to the path. The interface works fine for me. What desktop environment/window manager are you running?

@pasqui23
Copy link
Contributor Author

KDE 5.
I know that before explicitly installing dconf deja-dup did not work,and after it works normally,and I did install both via .config/nixpkgs/config.nix,so I think that it does need to be propagated

@jtojnar
Copy link
Contributor

jtojnar commented Oct 10, 2017

Interesting, KDE does not have any settings daemon. We would have to propagate dconf from all GTK applications. Or better yet, keyfile gsettings backend should be used instead. Not sure how to do that though. Edit: there is GSETTINGS_BACKEND environment variable.

@pasqui23
Copy link
Contributor Author

Could we use propagatedUserEnvPkgs?

@pasqui23
Copy link
Contributor Author

Also,as the dconf backend is the default,I expect that it is the one with less bugs,and I don't have problems in running it

@jtojnar
Copy link
Contributor

jtojnar commented Oct 18, 2017

Also,as the dconf backend is the default,I expect that it is the one with less bugs,and I don't have problems in running it

I would expect apps to use platform-specific backend, i.e. dconf on GNOME, registry on Windows and whatever on KDE.

@joachifm
Copy link
Contributor

Can this be integrated or no?

@jtojnar
Copy link
Contributor

jtojnar commented Jan 13, 2018

I am still not convinced this is the correct solution.

@pasqui23
Copy link
Contributor Author

@jtojnar even if it were not the "correct" solution (by whatever mean you measure it) we can still use it as stopgap solution and then develop a more refined patch later

@jtojnar
Copy link
Contributor

jtojnar commented Jun 25, 2018

Yes, that is what I mean. If you are building a desktop environment yourself, you need to select all the components your applications will need. Another example is the secret agent issue: applications need some password manager to store their passwords, but if they added GNOME Keyring to the propagatedUserEnvPkgs attribute, people using the application in environments other than GNOME would not be very happy.

It would be nice if Nix could warn you when you have one of the components missing – for example, the package expression could contain requiredOptions = [ "programs.gsettings.enable" ]; and the module would assert that a backend is selected (though this would not work outside of NixOS)

@jD91mZM2
Copy link
Member

Please merge this soon, I like having backups :|

@jtojnar
Copy link
Contributor

jtojnar commented Aug 26, 2018

gnome3.dconf is a system service that needs to be added to services.dbus.packages by your desktop environment. If you create your own environment, you will need to add it yourself (adding programs.dconf.enable = true; to configuration.nix should work). Nix does not contain a mechanism for representing a dependency on a service.

@jtojnar jtojnar closed this Aug 26, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants