-{ lib, pkgs, config, myconfig, ... }:
+{ lib, pkgs, config, ... }:
let
cfg = config.myServices.gitolite;
in {
options.myServices.gitolite = {
enable = lib.mkEnableOption "my gitolite service";
gitoliteDir = lib.mkOption {
- type = lib.types.string;
+ type = lib.types.str;
default = "/var/lib/gitolite";
};
};
snippet = builtins.readFile ./ldap_gitolite.sh;
dependencies = [ pkgs.gitolite ];
}];
- services.backup.profiles.gitolite = {
+ services.duplyBackup.profiles.gitolite = {
rootDir = cfg.gitoliteDir;
};
networking.firewall.allowedTCPPorts = [ 9418 ];
};
system.activationScripts.gitolite = let
- gitolite_ldap_groups = pkgs.mylibs.wrap {
- name = "gitolite_ldap_groups.sh";
- file = ./gitolite_ldap_groups.sh;
- vars = {
- LDAP_PASS = myconfig.env.tools.gitolite.ldap.password;
- };
- paths = [ pkgs.openldap pkgs.stdenv.shellPackage pkgs.gnugrep pkgs.coreutils ];
- };
+ deps = [ pkgs.openldap pkgs.stdenv.shellPackage pkgs.gnugrep pkgs.coreutils ];
+ gitolite_ldap_groups = pkgs.runCommand "gitolite_ldap_groups.sh" {
+ buildInputs = [ pkgs.makeWrapper ];
+ } ''
+ makeWrapper "${./gitolite_ldap_groups.sh}" "$out" \
+ --prefix PATH : ${lib.makeBinPath deps} \
+ --set LDAP_PASS ${pkgs.lib.escapeShellArg config.myEnv.tools.gitolite.ldap.password}
+ '';
in {
deps = [ "users" ];
text = ''