X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=modules%2Fprivate%2Fgitolite%2Fdefault.nix;h=1549c94530c6b10ad4f2528632f64e1eb11eb471;hb=4e3e4761c8566cbc47c64d66bfc21bb6dee32860;hp=dc068b750b27b2b6c70bb9e8f1ee41f4e6516255;hpb=6a8252b11bb02f3e67857d5a9d733b1affa6a625;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/modules/private/gitolite/default.nix b/modules/private/gitolite/default.nix index dc068b7..1549c94 100644 --- a/modules/private/gitolite/default.nix +++ b/modules/private/gitolite/default.nix @@ -1,17 +1,21 @@ -{ 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"; }; }; config = lib.mkIf cfg.enable { - services.backup.profiles.gitolite = { + myServices.ssh.modules = [{ + snippet = builtins.readFile ./ldap_gitolite.sh; + dependencies = [ pkgs.gitolite ]; + }]; + services.duplyBackup.profiles.gitolite = { rootDir = cfg.gitoliteDir; }; networking.firewall.allowedTCPPorts = [ 9418 ]; @@ -24,14 +28,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 = 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 = ''