tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
0
fork
atom
lol
0
fork
atom
overview
issues
pulls
pipelines
softether module: fix dataDir option
gnidorah
8 years ago
fbeb3299
f1dfc221
+22
-23
4 changed files
expand all
collapse all
unified
split
nixos
modules
services
networking
softether.nix
pkgs
servers
softether
4.18.nix
4.20.nix
4.25.nix
+16
-17
nixos/modules/services/networking/softether.nix
···
5
5
let
6
6
cfg = config.services.softether;
7
7
8
8
+
package = cfg.package.override { dataDir = cfg.dataDir; };
9
9
+
8
10
in
9
11
{
10
12
···
49
51
50
52
dataDir = mkOption {
51
53
type = types.string;
52
52
-
default = "${cfg.package.dataDir}";
54
54
+
default = "/var/lib/softether";
53
55
description = ''
54
56
Data directory for SoftEther VPN.
55
57
'';
···
64
66
config = mkIf cfg.enable (
65
67
66
68
mkMerge [{
67
67
-
environment.systemPackages = [
68
68
-
(pkgs.lib.overrideDerivation cfg.package (attrs: {
69
69
-
dataDir = cfg.dataDir;
70
70
-
}))
71
71
-
];
69
69
+
environment.systemPackages = [ package ];
70
70
+
72
71
systemd.services."softether-init" = {
73
72
description = "SoftEther VPN services initial task";
74
73
wantedBy = [ "network.target" ];
···
80
79
for d in vpnserver vpnbridge vpnclient vpncmd; do
81
80
if ! test -e ${cfg.dataDir}/$d; then
82
81
${pkgs.coreutils}/bin/mkdir -m0700 -p ${cfg.dataDir}/$d
83
83
-
install -m0600 ${cfg.package}${cfg.dataDir}/$d/hamcore.se2 ${cfg.dataDir}/$d/hamcore.se2
82
82
+
install -m0600 ${package}${cfg.dataDir}/$d/hamcore.se2 ${cfg.dataDir}/$d/hamcore.se2
84
83
fi
85
84
done
86
85
rm -rf ${cfg.dataDir}/vpncmd/vpncmd
87
87
-
ln -s ${cfg.package}${cfg.dataDir}/vpncmd/vpncmd ${cfg.dataDir}/vpncmd/vpncmd
86
86
+
ln -s ${package}${cfg.dataDir}/vpncmd/vpncmd ${cfg.dataDir}/vpncmd/vpncmd
88
87
'';
89
88
};
90
89
}
···
97
96
wantedBy = [ "network.target" ];
98
97
serviceConfig = {
99
98
Type = "forking";
100
100
-
ExecStart = "${cfg.package}/bin/vpnserver start";
101
101
-
ExecStop = "${cfg.package}/bin/vpnserver stop";
99
99
+
ExecStart = "${package}/bin/vpnserver start";
100
100
+
ExecStop = "${package}/bin/vpnserver stop";
102
101
};
103
102
preStart = ''
104
103
rm -rf ${cfg.dataDir}/vpnserver/vpnserver
105
105
-
ln -s ${cfg.package}${cfg.dataDir}/vpnserver/vpnserver ${cfg.dataDir}/vpnserver/vpnserver
104
104
+
ln -s ${package}${cfg.dataDir}/vpnserver/vpnserver ${cfg.dataDir}/vpnserver/vpnserver
106
105
'';
107
106
postStop = ''
108
107
rm -rf ${cfg.dataDir}/vpnserver/vpnserver
···
118
117
wantedBy = [ "network.target" ];
119
118
serviceConfig = {
120
119
Type = "forking";
121
121
-
ExecStart = "${cfg.package}/bin/vpnbridge start";
122
122
-
ExecStop = "${cfg.package}/bin/vpnbridge stop";
120
120
+
ExecStart = "${package}/bin/vpnbridge start";
121
121
+
ExecStop = "${package}/bin/vpnbridge stop";
123
122
};
124
123
preStart = ''
125
124
rm -rf ${cfg.dataDir}/vpnbridge/vpnbridge
126
126
-
ln -s ${cfg.package}${cfg.dataDir}/vpnbridge/vpnbridge ${cfg.dataDir}/vpnbridge/vpnbridge
125
125
+
ln -s ${package}${cfg.dataDir}/vpnbridge/vpnbridge ${cfg.dataDir}/vpnbridge/vpnbridge
127
126
'';
128
127
postStop = ''
129
128
rm -rf ${cfg.dataDir}/vpnbridge/vpnbridge
···
139
138
wantedBy = [ "network.target" ];
140
139
serviceConfig = {
141
140
Type = "forking";
142
142
-
ExecStart = "${cfg.package}/bin/vpnclient start";
143
143
-
ExecStop = "${cfg.package}/bin/vpnclient stop";
141
141
+
ExecStart = "${package}/bin/vpnclient start";
142
142
+
ExecStop = "${package}/bin/vpnclient stop";
144
143
};
145
144
preStart = ''
146
145
rm -rf ${cfg.dataDir}/vpnclient/vpnclient
147
147
-
ln -s ${cfg.package}${cfg.dataDir}/vpnclient/vpnclient ${cfg.dataDir}/vpnclient/vpnclient
146
146
+
ln -s ${package}${cfg.dataDir}/vpnclient/vpnclient ${cfg.dataDir}/vpnclient/vpnclient
148
147
'';
149
148
postStart = ''
150
149
sleep 1
+2
-2
pkgs/servers/softether/4.18.nix
···
1
1
{ stdenv, fetchurl
2
2
-
, openssl, readline, ncurses, zlib }:
2
2
+
, openssl, readline, ncurses, zlib
3
3
+
, dataDir ? "/var/lib/softether" }:
3
4
4
5
let
5
6
os = if stdenv.isLinux then "1"
···
17
18
version = "4.18";
18
19
build = "9570";
19
20
compiledDate = "2015.07.26";
20
20
-
dataDir = "/var/lib/softether";
21
21
22
22
src = fetchurl {
23
23
url = "http://www.softether-download.com/files/softether/v${version}-${build}-rtm-${compiledDate}-tree/Source_Code/softether-src-v${version}-${build}-rtm.tar.gz";
+2
-2
pkgs/servers/softether/4.20.nix
···
1
1
{ stdenv, fetchurl
2
2
-
, openssl, readline, ncurses, zlib }:
2
2
+
, openssl, readline, ncurses, zlib
3
3
+
, dataDir ? "/var/lib/softether" }:
3
4
4
5
let
5
6
os = if stdenv.isLinux then "1"
···
17
18
version = "4.20";
18
19
build = "9608";
19
20
compiledDate = "2016.04.17";
20
20
-
dataDir = "/var/lib/softether";
21
21
22
22
src = fetchurl {
23
23
url = "http://www.softether-download.com/files/softether/v${version}-${build}-rtm-${compiledDate}-tree/Source_Code/softether-src-v${version}-${build}-rtm.tar.gz";
+2
-2
pkgs/servers/softether/4.25.nix
···
1
1
{ stdenv, fetchurl
2
2
-
, openssl, readline, ncurses, zlib }:
2
2
+
, openssl, readline, ncurses, zlib
3
3
+
, dataDir ? "/var/lib/softether" }:
3
4
4
5
let
5
6
os = if stdenv.isLinux then "1"
···
17
18
version = "4.25";
18
19
build = "9656";
19
20
compiledDate = "2018.01.15";
20
20
-
dataDir = "/var/lib/softether";
21
21
22
22
src = fetchurl {
23
23
url = "http://www.softether-download.com/files/softether/v${version}-${build}-rtm-${compiledDate}-tree/Source_Code/softether-src-v${version}-${build}-rtm.tar.gz";