nixos/v2ray: add an option for specifying v2ray package used in the systemd service

This commit is contained in:
Poscat 2021-08-13 11:18:24 +08:00
parent 439b160522
commit e4dd32f67e
No known key found for this signature in database
GPG Key ID: B07A14730590D73B

View File

@ -16,6 +16,15 @@ with lib;
'';
};
package = mkOption {
type = types.package;
default = pkgs.v2ray;
defaultText = literalExpression "pkgs.v2ray";
description = ''
Which v2ray package to use.
'';
};
configFile = mkOption {
type = types.nullOr types.str;
default = null;
@ -62,7 +71,7 @@ with lib;
name = "v2ray.json";
text = builtins.toJSON cfg.config;
checkPhase = ''
${pkgs.v2ray}/bin/v2ray -test -config $out
${cfg.package}/bin/v2ray -test -config $out
'';
};
@ -78,10 +87,9 @@ with lib;
description = "v2ray Daemon";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
path = [ pkgs.v2ray ];
script = ''
exec v2ray -config ${configFile}
'';
serviceConfig = {
ExecStart = "${cfg.package}/bin/v2ray -config ${configFile}";
};
};
};
}