From 67ad8a788fe0a8c22910d68d470416b6f5626740 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Mon, 19 Aug 2019 18:53:43 -0400 Subject: [PATCH 1/8] nixos/gvfs: move out of GNOME --- nixos/modules/module-list.nix | 2 +- .../modules/services/desktops/gnome3/gvfs.nix | 43 ------------------- nixos/modules/services/desktops/gvfs.nix | 43 +++++++++++++++++++ .../services/x11/desktop-managers/gnome3.nix | 2 +- .../services/x11/desktop-managers/mate.nix | 2 +- .../x11/desktop-managers/pantheon.nix | 2 +- 6 files changed, 47 insertions(+), 47 deletions(-) delete mode 100644 nixos/modules/services/desktops/gnome3/gvfs.nix create mode 100644 nixos/modules/services/desktops/gvfs.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index bcf1f38ac8d..80cd345465c 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -285,6 +285,7 @@ ./services/desktops/flatpak.nix ./services/desktops/geoclue2.nix ./services/desktops/gsignond.nix + ./services/desktops/gvfs.nix ./services/desktops/pipewire.nix ./services/desktops/gnome3/at-spi2-core.nix ./services/desktops/gnome3/chrome-gnome-shell.nix @@ -297,7 +298,6 @@ ./services/desktops/gnome3/gnome-settings-daemon.nix ./services/desktops/gnome3/gnome-terminal-server.nix ./services/desktops/gnome3/gnome-user-share.nix - ./services/desktops/gnome3/gvfs.nix ./services/desktops/gnome3/rygel.nix ./services/desktops/gnome3/seahorse.nix ./services/desktops/gnome3/sushi.nix diff --git a/nixos/modules/services/desktops/gnome3/gvfs.nix b/nixos/modules/services/desktops/gnome3/gvfs.nix deleted file mode 100644 index 4e99d191f18..00000000000 --- a/nixos/modules/services/desktops/gnome3/gvfs.nix +++ /dev/null @@ -1,43 +0,0 @@ -# gvfs backends - -{ config, lib, pkgs, ... }: - -with lib; - -{ - - ###### interface - - options = { - - services.gnome3.gvfs = { - - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable gvfs backends, userspace virtual filesystem used - by GNOME components via D-Bus. - ''; - }; - - }; - - }; - - - ###### implementation - - config = mkIf config.services.gnome3.gvfs.enable { - - environment.systemPackages = [ pkgs.gnome3.gvfs ]; - - services.dbus.packages = [ pkgs.gnome3.gvfs ]; - - systemd.packages = [ pkgs.gnome3.gvfs ]; - - services.udev.packages = [ pkgs.libmtp.bin ]; - - }; - -} diff --git a/nixos/modules/services/desktops/gvfs.nix b/nixos/modules/services/desktops/gvfs.nix new file mode 100644 index 00000000000..d4dff555848 --- /dev/null +++ b/nixos/modules/services/desktops/gvfs.nix @@ -0,0 +1,43 @@ +# GVfs + +{ config, lib, pkgs, ... }: + +with lib; + +{ + + # Added 2019-08-19 + imports = [ + (mkRenamedOptionModule + [ "services" "gnome3" "gvfs" "enable" ] + [ "services" "gvfs" "enable" ]) + ]; + + ###### interface + + options = { + + services.gvfs = { + + enable = mkEnableOption "GVfs, a userspace virtual filesystem"; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gvfs.enable { + + environment.systemPackages = [ pkgs.gnome3.gvfs ]; + + services.dbus.packages = [ pkgs.gnome3.gvfs ]; + + systemd.packages = [ pkgs.gnome3.gvfs ]; + + services.udev.packages = [ pkgs.libmtp.bin ]; + + }; + +} diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index b0e2b34a31e..ef5328e7a13 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -138,7 +138,7 @@ in { services.gnome3.gnome-settings-daemon.enable = true; services.gnome3.gnome-terminal-server.enable = mkDefault true; services.gnome3.gnome-user-share.enable = mkDefault true; - services.gnome3.gvfs.enable = true; + services.gvfs.enable = true; services.gnome3.rygel.enable = mkDefault true; services.gnome3.seahorse.enable = mkDefault true; services.gnome3.sushi.enable = mkDefault true; diff --git a/nixos/modules/services/x11/desktop-managers/mate.nix b/nixos/modules/services/x11/desktop-managers/mate.nix index a2d0810f90d..9501778e34c 100644 --- a/nixos/modules/services/x11/desktop-managers/mate.nix +++ b/nixos/modules/services/x11/desktop-managers/mate.nix @@ -98,7 +98,7 @@ in services.gnome3.gnome-keyring.enable = true; services.gnome3.gnome-settings-daemon.enable = true; services.gnome3.gnome-settings-daemon.package = pkgs.mate.mate-settings-daemon; - services.gnome3.gvfs.enable = true; + services.gvfs.enable = true; services.upower.enable = config.powerManagement.enable; security.pam.services."mate-screensaver".unixAuth = true; diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index 685d3534509..b86b6a1e83a 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -129,7 +129,7 @@ in services.gnome3.gnome-keyring.enable = true; services.gnome3.gnome-settings-daemon.enable = true; services.gnome3.gnome-settings-daemon.package = pkgs.pantheon.elementary-settings-daemon; - services.gnome3.gvfs.enable = true; + services.gvfs.enable = true; services.gnome3.rygel.enable = mkDefault true; services.gsignond.enable = mkDefault true; services.gsignond.plugins = with pkgs.gsignondPlugins; [ lastfm mail oauth ]; From eb127d20052b3b8ff3bbcf94333587f305b24e82 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Mon, 19 Aug 2019 18:56:41 -0400 Subject: [PATCH 2/8] nixos/gvfs: add package option --- nixos/modules/services/desktops/gvfs.nix | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/nixos/modules/services/desktops/gvfs.nix b/nixos/modules/services/desktops/gvfs.nix index d4dff555848..5e18fd4cb70 100644 --- a/nixos/modules/services/desktops/gvfs.nix +++ b/nixos/modules/services/desktops/gvfs.nix @@ -4,6 +4,12 @@ with lib; +let + + cfg = config.services.gvfs; + +in + { # Added 2019-08-19 @@ -21,6 +27,13 @@ with lib; enable = mkEnableOption "GVfs, a userspace virtual filesystem"; + # gvfs can be built with multiple configurations + package = mkOption { + type = types.package; + default = pkgs.gnome3.gvfs; + description = "Which GVfs package to use."; + }; + }; }; @@ -28,13 +41,13 @@ with lib; ###### implementation - config = mkIf config.services.gvfs.enable { + config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.gnome3.gvfs ]; + environment.systemPackages = [ cfg.package ]; - services.dbus.packages = [ pkgs.gnome3.gvfs ]; + services.dbus.packages = [ cfg.package ]; - systemd.packages = [ pkgs.gnome3.gvfs ]; + systemd.packages = [ cfg.package ]; services.udev.packages = [ pkgs.libmtp.bin ]; From 4bb6625767b2428cbacb712165f5db63ebadcf66 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Mon, 19 Aug 2019 18:58:13 -0400 Subject: [PATCH 3/8] nixos/gvfs: set GIO_EXTRA_MODULES --- nixos/modules/services/desktops/gvfs.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos/modules/services/desktops/gvfs.nix b/nixos/modules/services/desktops/gvfs.nix index 5e18fd4cb70..1d002eac41d 100644 --- a/nixos/modules/services/desktops/gvfs.nix +++ b/nixos/modules/services/desktops/gvfs.nix @@ -51,6 +51,9 @@ in services.udev.packages = [ pkgs.libmtp.bin ]; + # Needed for unwrapped applications + environment.variables.GIO_EXTRA_MODULES = [ "${cfg.package}/lib/gio/modules" ]; + }; } From 5b09814b57ab07732fd1186f494c2d7a50a198a2 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Mon, 19 Aug 2019 18:59:41 -0400 Subject: [PATCH 4/8] nixos/gnome3: don't set GIO_EXTRA_MODULES --- nixos/modules/services/x11/desktop-managers/gnome3.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index ef5328e7a13..801e0a4d41b 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -231,8 +231,6 @@ in { services.xserver.updateDbusEnvironment = true; - environment.variables.GIO_EXTRA_MODULES = [ "${pkgs.gnome3.gvfs}/lib/gio/modules" ]; - environment.systemPackages = pkgs.gnome3.corePackages ++ cfg.sessionPath ++ (pkgs.gnome3.removePackagesByName pkgs.gnome3.optionalPackages config.environment.gnome3.excludePackages) ++ [ pkgs.xdg-user-dirs # Update user dirs as described in http://freedesktop.org/wiki/Software/xdg-user-dirs/ From a686dc071cb31744b6dca777a19eb9d1cfe71344 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Mon, 19 Aug 2019 18:59:55 -0400 Subject: [PATCH 5/8] nixos/pantheon: don't set GIO_EXTRA_MODULES --- nixos/modules/services/x11/desktop-managers/pantheon.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index b86b6a1e83a..b6cb72eca19 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -162,10 +162,6 @@ in environment.variables.GNOME_SESSION_DEBUG = optionalString cfg.debug "1"; - environment.variables.GIO_EXTRA_MODULES = [ - "${pkgs.gnome3.gvfs}/lib/gio/modules" - ]; - environment.pathsToLink = [ # FIXME: modules should link subdirs of `/share` rather than relying on this "/share" From 45eac0537db3c8996434a173e90dacdd345f1466 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Mon, 19 Aug 2019 19:00:31 -0400 Subject: [PATCH 6/8] nixos/mate: don't set GiO_EXTRA_MODULES --- nixos/modules/services/x11/desktop-managers/mate.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/nixos/modules/services/x11/desktop-managers/mate.nix b/nixos/modules/services/x11/desktop-managers/mate.nix index 9501778e34c..12999ec6d98 100644 --- a/nixos/modules/services/x11/desktop-managers/mate.nix +++ b/nixos/modules/services/x11/desktop-managers/mate.nix @@ -103,8 +103,6 @@ in security.pam.services."mate-screensaver".unixAuth = true; - environment.variables.GIO_EXTRA_MODULES = [ "${pkgs.gnome3.gvfs}/lib/gio/modules" ]; - environment.pathsToLink = [ "/share" ]; }; From 5c5791c13476858c615be92d0b578ecdef753416 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Mon, 19 Aug 2019 19:00:46 -0400 Subject: [PATCH 7/8] nixos/xfce: use gvfs module --- nixos/modules/services/x11/desktop-managers/xfce.nix | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix index 6852154378d..1102f73d1ac 100644 --- a/nixos/modules/services/x11/desktop-managers/xfce.nix +++ b/nixos/modules/services/x11/desktop-managers/xfce.nix @@ -66,7 +66,6 @@ in exo garcon gtk-xfce-engine - gvfs libxfce4ui tumbler xfconf @@ -100,10 +99,6 @@ in "/share/gtksourceview-2.0" ]; - environment.variables = { - GIO_EXTRA_MODULES = [ "${pkgs.xfce.gvfs}/lib/gio/modules" ]; - }; - services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ]; services.xserver.desktopManager.session = [{ @@ -128,5 +123,7 @@ in # Enable helpful DBus services. services.udisks2.enable = true; services.upower.enable = config.powerManagement.enable; + services.gvfs.enable = true; + services.gvfs.package = pkgs.xfce.gvfs; }; } From ffe7999f3d20ec1bee159f357026d2d3e0a6d550 Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Mon, 19 Aug 2019 19:00:12 -0400 Subject: [PATCH 8/8] nixos/lxqt: use gvfs module --- nixos/modules/services/x11/desktop-managers/lxqt.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/x11/desktop-managers/lxqt.nix b/nixos/modules/services/x11/desktop-managers/lxqt.nix index 4368adedb34..bf53082b267 100644 --- a/nixos/modules/services/x11/desktop-managers/lxqt.nix +++ b/nixos/modules/services/x11/desktop-managers/lxqt.nix @@ -58,7 +58,8 @@ in # Link some extra directories in /run/current-system/software/share environment.pathsToLink = [ "/share" ]; - environment.variables.GIO_EXTRA_MODULES = [ "${pkgs.gvfs}/lib/gio/modules" ]; + services.gvfs.enable = true; + services.gvfs.package = pkgs.gvfs; services.upower.enable = config.powerManagement.enable; };