ocamlPackages.hxd: 0.3.2 -> 0.3.3 (#364231)
[NixPkgs.git] / nixos / modules / services / misc / svnserve.nix
blobb72e6186c1cd441eeb68000a2cf8062d07601801
1 # SVN server
3   config,
4   lib,
5   pkgs,
6   ...
7 }:
8 let
10   cfg = config.services.svnserve;
16   ###### interface
18   options = {
20     services.svnserve = {
22       enable = lib.mkOption {
23         type = lib.types.bool;
24         default = false;
25         description = "Whether to enable svnserve to serve Subversion repositories through the SVN protocol.";
26       };
28       svnBaseDir = lib.mkOption {
29         type = lib.types.str;
30         default = "/repos";
31         description = "Base directory from which Subversion repositories are accessed.";
32       };
33     };
35   };
37   ###### implementation
39   config = lib.mkIf cfg.enable {
40     systemd.services.svnserve = {
41       after = [ "network.target" ];
42       wantedBy = [ "multi-user.target" ];
43       preStart = "mkdir -p ${cfg.svnBaseDir}";
44       script = "${pkgs.subversion.out}/bin/svnserve -r ${cfg.svnBaseDir} -d --foreground --pid-file=/run/svnserve.pid";
45     };
46   };