ipfs: adding mountDir options but disabling broken autoMount

Changed files
+23 -8
nixos
modules
services
network-filesystems
+23 -8
nixos/modules/services/network-filesystems/ipfs.nix
···
cfg = config.services.ipfs;
ipfsFlags = toString ([
-
(optionalString cfg.autoMount "--mount")
+
#(optionalString cfg.autoMount "--mount")
(optionalString cfg.autoMigrate "--migrate")
(optionalString cfg.enableGC "--enable-gc")
(optionalString (cfg.serviceFdlimit != null) "--manage-fdlimit=false")
···
preStart = ''
ipfs --local config Addresses.API ${cfg.apiAddress}
ipfs --local config Addresses.Gateway ${cfg.gatewayAddress}
-
'' + optionalString cfg.autoMount ''
+
'' + optionalString false/*cfg.autoMount*/ ''
ipfs --local config Mounts.FuseAllowOther --json true
-
mkdir -p $(ipfs --local config Mounts.IPFS)
-
mkdir -p $(ipfs --local config Mounts.IPNS)
+
ipfs --local config Mounts.IPFS ${cfg.ipfsMountDir}
+
ipfs --local config Mounts.IPNS ${cfg.ipnsMountDir}
'' + concatStringsSep "\n" (collect
isString
(mapAttrsRecursive
···
'';
};
-
autoMount = mkOption {
-
type = types.bool;
-
default = false;
-
description = "Whether IPFS should try to mount /ipfs and /ipns at startup.";
+
#autoMount = mkOption {
+
# type = types.bool;
+
# default = false;
+
# description = "Whether IPFS should try to mount /ipfs and /ipns at startup.";
+
#};
+
+
ipfsMountDir = mkOption {
+
type = types.str;
+
default = "/ipfs";
+
description = "Where to mount the IPFS namespace to";
+
};
+
+
ipnsMountDir = mkOption {
+
type = types.str;
+
default = "/ipns";
+
description = "Where to mount the IPNS namespace to";
};
gatewayAddress = mkOption {
···
preStart = ''
install -m 0755 -o ${cfg.user} -g ${cfg.group} -d ${cfg.dataDir}
+
'' + optionalString false/*cfg.autoMount*/ ''
+
install -m 0755 -o ${cfg.user} -g ${cfg.group} -d ${cfg.ipfsMountDir}
+
install -m 0755 -o ${cfg.user} -g ${cfg.group} -d ${cfg.ipnsMountDir}
'';
script = ''
if [[ ! -f ${cfg.dataDir}/config ]]; then