aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix')
-rw-r--r--infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix17
1 files changed, 12 insertions, 5 deletions
diff --git a/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix b/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix
index f298f831fa7b..2082d513161e 100644
--- a/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix
+++ b/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix
@@ -44,6 +44,13 @@ in {
enable = mkEnableOption "Interplanetary File System (WARNING: may cause severe network degredation)";
+ package = mkOption {
+ type = types.package;
+ default = pkgs.ipfs;
+ defaultText = "pkgs.ipfs";
+ description = "Which IPFS package to use.";
+ };
+
user = mkOption {
type = types.str;
default = "ipfs";
@@ -176,7 +183,7 @@ in {
###### implementation
config = mkIf cfg.enable {
- environment.systemPackages = [ pkgs.ipfs ];
+ environment.systemPackages = [ cfg.package ];
environment.variables.IPFS_PATH = cfg.dataDir;
programs.fuse = mkIf cfg.autoMount {
@@ -207,14 +214,14 @@ in {
"d '${cfg.ipnsMountDir}' - ${cfg.user} ${cfg.group} - -"
];
- systemd.packages = [ pkgs.ipfs ];
+ systemd.packages = [ cfg.package ];
systemd.services.ipfs-init = {
description = "IPFS Initializer";
environment.IPFS_PATH = cfg.dataDir;
- path = [ pkgs.ipfs ];
+ path = [ cfg.package ];
script = ''
if [[ ! -f ${cfg.dataDir}/config ]]; then
@@ -239,7 +246,7 @@ in {
};
systemd.services.ipfs = {
- path = [ "/run/wrappers" pkgs.ipfs ];
+ path = [ "/run/wrappers" cfg.package ];
environment.IPFS_PATH = cfg.dataDir;
wants = [ "ipfs-init.service" ];
@@ -267,7 +274,7 @@ in {
cfg.extraConfig))
);
serviceConfig = {
- ExecStart = ["" "${pkgs.ipfs}/bin/ipfs daemon ${ipfsFlags}"];
+ ExecStart = ["" "${cfg.package}/bin/ipfs daemon ${ipfsFlags}"];
User = cfg.user;
Group = cfg.group;
} // optionalAttrs (cfg.serviceFdlimit != null) { LimitNOFILE = cfg.serviceFdlimit; };