about summary refs log tree commit diff
path: root/nixos/modules/programs
diff options
context:
space:
mode:
authorMichael Weiss <dev.primeos@gmail.com>2019-08-11 15:36:33 +0200
committerMichael Weiss <dev.primeos@gmail.com>2019-08-11 16:13:23 +0200
commit2473d902e633708f203eca222ad76261ced77623 (patch)
treeb026796885be62abb7bcc3602d0852f3491d1d96 /nixos/modules/programs
parent18fa1c335e9e643a1fad753a04a849415588ec2b (diff)
downloadnixlib-2473d902e633708f203eca222ad76261ced77623.tar
nixlib-2473d902e633708f203eca222ad76261ced77623.tar.gz
nixlib-2473d902e633708f203eca222ad76261ced77623.tar.bz2
nixlib-2473d902e633708f203eca222ad76261ced77623.tar.lz
nixlib-2473d902e633708f203eca222ad76261ced77623.tar.xz
nixlib-2473d902e633708f203eca222ad76261ced77623.tar.zst
nixlib-2473d902e633708f203eca222ad76261ced77623.zip
nixos/fuse: init
Add a module for /etc/fuse.conf.
Fixes #30923.
Diffstat (limited to 'nixos/modules/programs')
-rw-r--r--nixos/modules/programs/fuse.nix37
1 files changed, 37 insertions, 0 deletions
diff --git a/nixos/modules/programs/fuse.nix b/nixos/modules/programs/fuse.nix
new file mode 100644
index 000000000000..d3b644024e00
--- /dev/null
+++ b/nixos/modules/programs/fuse.nix
@@ -0,0 +1,37 @@
+{ config, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.programs.fuse;
+in {
+  meta.maintainers = with maintainers; [ primeos ];
+
+  options.programs.fuse = {
+    mountMax = mkOption {
+      # In the C code it's an "int" (i.e. signed and at least 16 bit), but
+      # negative numbers obviously make no sense:
+      type = types.ints.between 0 32767; # 2^15 - 1
+      default = 1000;
+      description = ''
+        Set the maximum number of FUSE mounts allowed to non-root users.
+      '';
+    };
+
+    userAllowOther = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+	Allow non-root users to specify the allow_other or allow_root mount
+        options, see mount.fuse3(8).
+      '';
+    };
+  };
+
+  config =  {
+    environment.etc."fuse.conf".text = ''
+      ${optionalString (!cfg.userAllowOther) "#"}user_allow_other
+      mount_max = ${toString cfg.mountMax}
+    '';
+  };
+}