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

mate: enable gvfs service #56469

Merged
merged 1 commit into from Feb 28, 2019
Merged

mate: enable gvfs service #56469

merged 1 commit into from Feb 28, 2019

Conversation

@romildo
Copy link
Contributor

romildo commented Feb 27, 2019

Motivation for this change

Enable gvfs service for the mate desktop environment. Without this Connect to Server does not work: when clicking in the panel on Places and then Connect to Server… an error message is displayed:

Can't load the supported server method list.
Please check your GVfs installation.
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option 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/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Assured whether relevant documentation is up to date
  • Fits CONTRIBUTING.md.
@romildo romildo requested a review from Infinisil as a code owner Feb 27, 2019
@nixos-discourse

This comment has been minimized.

Copy link

nixos-discourse commented Feb 27, 2019

This pull request has been mentioned on Nix community. There might be relevant details there:

https://discourse.nixos.org/t/connect-to-server-not-working-in-mate/2158/8

services.upower.enable = config.powerManagement.enable;

security.pam.services."mate-screensaver".unixAuth = true;

environment.variables = {
GIO_EXTRA_MODULES = [ "${pkgs.xfce.gvfs}/lib/gio/modules" ];

This comment has been minimized.

Copy link
@xeji

xeji Feb 27, 2019

Contributor

Does it matter whether the gio modules are taken from xfce.gvfs vs gnome3.gvfs or just gvfs ? Just curious.

This comment has been minimized.

Copy link
@romildo

romildo Feb 27, 2019

Author Contributor

Looking at the many definitions of gvfs:

pkgs.gvfs = callPackage ../development/libraries/gvfs { gnome = res.gnome3; };
pkgs.gnome3.gvfs = pkgs.gvfs.override { gnome = gnome3; gnomeSupport = true; };
pkgs.gnome2.gvfs = gvfs.override { gnome = self; };
pkgs.xfce.gvfs = pkgs.gvfs.override { samba = null; };

In the derivation for pkgs.gvfs there is:

  buildInputs = [
    glib libgudev udisks2 libgcrypt dbus
    libgphoto2 avahi libarchive fuse libcdio
    samba libmtp libcap polkit libimobiledevice libbluray
    libcdio-paranoia libnfs openssh
    # ToDo: a ligther version of libsoup to have FTP/HTTP support?
  ] ++ stdenv.lib.optionals gnomeSupport (with gnome; [
    libsoup gcr
    glib-networking # TLS support
    gnome-online-accounts libsecret libgdata
  ]);

  mesonFlags = [
    "-Dsystemduserunitdir=${placeholder "out"}/lib/systemd/user"
    "-Dtmpfilesdir=no"
  ] ++ stdenv.lib.optionals (!gnomeSupport) [
    "-Dgcr=false" "-Dgoa=false" "-Dkeyring=false" "-Dhttp=false"
    "-Dgoogle=false"
  ] ++ stdenv.lib.optionals (samba == null) [
    # Xfce don't want samba
    "-Dsmb=false"
  ];

I think it would work with any of them, but pkgs.gnome3.gvfs seems more complete. And it is the one consistent with services.gnome3.gvfs.

This comment has been minimized.

Copy link
@xeji

xeji Feb 28, 2019

Contributor

Thanks for looking into this, I agree.

@romildo romildo force-pushed the romildo:fix.mate branch from 87d7e2c to 5e8dfa4 Feb 28, 2019
@xeji xeji merged commit 8705341 into NixOS:master Feb 28, 2019
9 checks passed
9 checks passed
grahamcofborg-eval ^.^!
Details
grahamcofborg-eval-check-meta config.nix: checkMeta = true
Details
grahamcofborg-eval-nixos-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release.nix -A manual
Details
grahamcofborg-eval-nixos-options nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release.nix -A options
Details
grahamcofborg-eval-nixpkgs-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A manual
Details
grahamcofborg-eval-nixpkgs-tarball nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A tarball
Details
grahamcofborg-eval-nixpkgs-unstable-jobset nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A unstable
Details
grahamcofborg-eval-package-list nix-env -qa --json --file .
Details
grahamcofborg-eval-package-list-no-aliases nix-env -qa --json --file . --arg config { allowAliases = false; }
Details
@dtzWill

This comment has been minimized.

Copy link
Contributor

dtzWill commented Feb 28, 2019

Is there a reason we don't set GIO_MODULES appropriately based on gfvs.enable (why should this be pushed out to anywhere that enables it)? Is the problem that we don't ("yet") have written a mechanism for doing this that combines nicely as needed?

@romildo romildo deleted the romildo:fix.mate branch Feb 28, 2019
@xeji

This comment has been minimized.

Copy link
Contributor

xeji commented Feb 28, 2019

@dtzWill sounds reasonable. But I don't know enough about the gio stuff to be sure it would work 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
6 participants
You can’t perform that action at this time.