Basics of dist-manager. Not working yet, need to make the dist manager service more configurable.
svn path=/configurations/trunk/tud/; revision=7927
Martin Bravenboer committed
Feb 20, 2007 at 15:13 UTC
f36e509e835dc9c7bc64db31e200300a2da5527e
1 file changed
+23
-8
main.nix
+23
-8
@@ -1,9 +1,10 @@
1
-{
1
+rec {
2
boot = {
3
grubDevice = "/dev/sda";
4
initrd = {
5
extraKernelModules = ["arcmsr"];
6
};
7
+
8
extraKernelModules = ["kvm-intel"];
9
};
10
@@ -36,22 +37,36 @@
37
hostName = "dutiel.st.ewi.tudelft.nl";
38
39
subservices = {
39
-
40
subversion = {
41
enable = true;
42
dataDir = "/data/subversion";
43
notificationSender = "svn@example.org";
44
userCreationDomain = "st.ewi.tudelft.nl";
45
};
46
-
46
};
47
49
- extraSubservices = [
50
-
51
- ];
52
-
48
+ extraSubservices = {
49
+ enable = true;
50
+ services = webServer : pkgs : [
51
+ (distManagerService webServer pkgs)
52
+ ];
53
+ };
54
};
54
-
55
};
56
57
+ distManagerService = webServer : pkgs :
58
+ (distManager webServer pkgs) {
59
+ distDir = "/data/webserver/dist";
60
+ distPrefix = "/dist";
61
+ distConfDir = "/data/webserver/dist-conf";
62
+ };
63
+
64
+ distManager = webServer : pkgs : { distDir, distPrefix, distConfDir } :
65
+ import ../../services/dist-manager {
66
+ inherit (pkgs) stdenv perl;
67
+ saxon8 = pkgs.saxonb;
68
+ inherit distDir distPrefix distConfDir;
69
+ canonicalName = "http://" + webServer.hostName +
70
+ (if webServer.httpPort == 80 then "" else ":" + (toString webServer.httpPort));
71
+ };
72
}