v2raya: v2rayA should start after nftables

Elliot e78f2115 42f462e3

Changed files
+30 -19
nixos
modules
services
networking
+30 -19
nixos/modules/services/networking/v2raya.nix
···
config = mkIf config.services.v2raya.enable {
environment.systemPackages = [ pkgs.v2raya ];
-
systemd.services.v2raya = {
-
unitConfig = {
-
Description = "v2rayA service";
-
Documentation = "https://github.com/v2rayA/v2rayA/wiki";
-
After = [ "network.target" "nss-lookup.target" "iptables.service" "ip6tables.service" ];
-
Wants = [ "network.target" ];
-
};
+
systemd.services.v2raya =
+
let
+
nftablesEnabled = config.networking.nftables.enable;
+
iptablesServices = [
+
"iptables.service"
+
] ++ optional config.networking.enableIPv6 "ip6tables.service";
+
tableServices = if nftablesEnabled then [ "nftables.service" ] else iptablesServices;
+
in
+
{
+
unitConfig = {
+
Description = "v2rayA service";
+
Documentation = "https://github.com/v2rayA/v2rayA/wiki";
+
After = [
+
"network.target"
+
"nss-lookup.target"
+
] ++ tableServices;
+
Wants = [ "network.target" ];
+
};
+
+
serviceConfig = {
+
User = "root";
+
ExecStart = "${getExe pkgs.v2raya} --log-disable-timestamp";
+
Environment = [ "V2RAYA_LOG_FILE=/var/log/v2raya/v2raya.log" ];
+
LimitNPROC = 500;
+
LimitNOFILE = 1000000;
+
Restart = "on-failure";
+
Type = "simple";
+
};
-
serviceConfig = {
-
User = "root";
-
ExecStart = "${getExe pkgs.v2raya} --log-disable-timestamp";
-
Environment = [ "V2RAYA_LOG_FILE=/var/log/v2raya/v2raya.log" ];
-
LimitNPROC = 500;
-
LimitNOFILE = 1000000;
-
Restart = "on-failure";
-
Type = "simple";
+
wantedBy = [ "multi-user.target" ];
+
path = with pkgs; [ iptables bash iproute2 ]; # required by v2rayA TProxy functionality
};
-
-
wantedBy = [ "multi-user.target" ];
-
path = with pkgs; [ iptables bash iproute2 ]; # required by v2rayA TProxy functionality
-
};
};
meta.maintainers = with maintainers; [ elliot ];