1# GVfs
2
3{ config, lib, pkgs, ... }:
4
5with lib;
6
7let
8
9 cfg = config.services.gvfs;
10
11in
12
13{
14
15 meta = {
16 maintainers = teams.gnome.members;
17 };
18
19 # Added 2019-08-19
20 imports = [
21 (mkRenamedOptionModule
22 [ "services" "gnome3" "gvfs" "enable" ]
23 [ "services" "gvfs" "enable" ])
24 ];
25
26 ###### interface
27
28 options = {
29
30 services.gvfs = {
31
32 enable = mkEnableOption "GVfs, a userspace virtual filesystem";
33
34 # gvfs can be built with multiple configurations
35 package = mkOption {
36 type = types.package;
37 default = pkgs.gnome.gvfs;
38 description = "Which GVfs package to use.";
39 };
40
41 };
42
43 };
44
45
46 ###### implementation
47
48 config = mkIf cfg.enable {
49
50 environment.systemPackages = [ cfg.package ];
51
52 services.dbus.packages = [ cfg.package ];
53
54 systemd.packages = [ cfg.package ];
55
56 services.udev.packages = [ pkgs.libmtp.bin ];
57
58 # Needed for unwrapped applications
59 environment.variables.GIO_EXTRA_MODULES = [ "${cfg.package}/lib/gio/modules" ];
60
61 };
62
63}