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 (lib.mdDoc "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 defaultText = literalExpression "pkgs.gnome.gvfs";
39 description = lib.mdDoc "Which GVfs package to use.";
40 };
41
42 };
43
44 };
45
46
47 ###### implementation
48
49 config = mkIf cfg.enable {
50
51 environment.systemPackages = [ cfg.package ];
52
53 services.dbus.packages = [ cfg.package ];
54
55 systemd.packages = [ cfg.package ];
56
57 services.udev.packages = [ pkgs.libmtp.out ];
58
59 services.udisks2.enable = true;
60
61 # Needed for unwrapped applications
62 environment.sessionVariables.GIO_EXTRA_MODULES = [ "${cfg.package}/lib/gio/modules" ];
63
64 };
65
66}