X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=modules%2Fprivate%2Fgitolite%2Fdefault.nix;h=e8ccc7d67777ffc15e6cb654c478e7568275ba6c;hb=ce7d09efb55888501b73f9e763811deac762aed2;hp=9f5c179a260f00a9f41d7b2ce87b287c26e0c59f;hpb=5400b9b6f65451d41a9106fae6fc00f97d83f4ef;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/modules/private/gitolite/default.nix b/modules/private/gitolite/default.nix index 9f5c179..e8ccc7d 100644 --- a/modules/private/gitolite/default.nix +++ b/modules/private/gitolite/default.nix @@ -20,6 +20,14 @@ in { }; networking.firewall.allowedTCPPorts = [ 9418 ]; + secrets.keys = [{ + dest = "gitolite/ldap_password"; + user = "gitolite"; + group = "gitolite"; + permissions = "0400"; + text = config.myEnv.tools.gitolite.ldap.password; + }]; + services.gitDaemon = { enable = true; user = "gitolite"; @@ -28,14 +36,14 @@ in { }; system.activationScripts.gitolite = let - gitolite_ldap_groups = pkgs.mylibs.wrap { - name = "gitolite_ldap_groups.sh"; - file = ./gitolite_ldap_groups.sh; - vars = { - LDAP_PASS = config.myEnv.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_PATH ${config.secrets.fullPaths."gitolite/ldap_password"} + ''; in { deps = [ "users" ]; text = '' @@ -50,6 +58,7 @@ in { }; users.users.wwwrun.extraGroups = [ "gitolite" ]; + users.users.gitolite.extraGroups = [ "keys" ]; users.users.gitolite.packages = let python-packages = python-packages: with python-packages; [