From af909b323842faa4cd8000b4f70fd7129d9560e8 Mon Sep 17 00:00:00 2001 From: Ben Gamari Date: Mon, 25 Mar 2019 12:17:56 -0400 Subject: [PATCH] nixos/gitlab: Package gitlab-rails This utility (particularly `gitlab-rails console`) is packaged by GitLab Omnibus and is used for diagnostics and maintenance operations. --- nixos/modules/services/misc/gitlab.nix | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix index 17c8c3ce51f..64473009aa8 100644 --- a/nixos/modules/services/misc/gitlab.nix +++ b/nixos/modules/services/misc/gitlab.nix @@ -160,6 +160,20 @@ let ''; }; + gitlab-rails = pkgs.stdenv.mkDerivation rec { + name = "gitlab-rails"; + buildInputs = [ pkgs.makeWrapper ]; + dontBuild = true; + unpackPhase = ":"; + installPhase = '' + mkdir -p $out/bin + makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/rails $out/bin/gitlab-rails \ + ${concatStrings (mapAttrsToList (name: value: "--set ${name} '${value}' ") gitlabEnv)} \ + --set PATH '${lib.makeBinPath [ pkgs.nodejs pkgs.gzip pkgs.git pkgs.gnutar config.services.postgresql.package pkgs.coreutils pkgs.procps ]}:$PATH' \ + --run 'cd ${cfg.packages.gitlab}/share/gitlab' + ''; + }; + extraGitlabRb = pkgs.writeText "extra-gitlab.rb" cfg.extraGitlabRb; smtpSettings = pkgs.writeText "gitlab-smtp-settings.rb" '' @@ -461,7 +475,7 @@ in { config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.git gitlab-rake cfg.packages.gitlab-shell ]; + environment.systemPackages = [ pkgs.git gitlab-rake gitlab-rails cfg.packages.gitlab-shell ]; # Redis is required for the sidekiq queue runner. services.redis.enable = mkDefault true;