summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/compilers/matter-compiler/default.nix6
-rw-r--r--pkgs/development/ruby-modules/bundler-env/default.nix3
-rw-r--r--pkgs/development/ruby-modules/bundler-update-script/default.nix25
-rw-r--r--pkgs/development/ruby-modules/solargraph/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/drake/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/rake/default.nix6
-rw-r--r--pkgs/development/tools/cadre/default.nix6
-rw-r--r--pkgs/development/tools/cbor-diag/default.nix7
-rw-r--r--pkgs/development/tools/cddl/default.nix7
-rw-r--r--pkgs/development/tools/chefdk/default.nix12
-rw-r--r--pkgs/development/tools/compass/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/cide/default.nix6
-rw-r--r--pkgs/development/tools/corundum/default.nix6
-rw-r--r--pkgs/development/tools/cucumber/default.nix6
-rw-r--r--pkgs/development/tools/github-changelog-generator/default.nix6
-rw-r--r--pkgs/development/tools/jazzy/default.nix6
-rwxr-xr-xpkgs/development/tools/jazzy/update10
-rw-r--r--pkgs/development/tools/jsduck/default.nix8
-rw-r--r--pkgs/development/tools/misc/mdl/.bundle/config3
-rw-r--r--pkgs/development/tools/misc/mdl/default.nix6
-rw-r--r--pkgs/development/tools/misc/one_gadget/default.nix6
-rw-r--r--pkgs/development/tools/misc/travis/default.nix11
-rw-r--r--pkgs/development/tools/misc/watson-ruby/default.nix6
-rw-r--r--pkgs/development/tools/redis-dump/default.nix6
-rw-r--r--pkgs/development/tools/ronn/default.nix6
-rw-r--r--pkgs/development/tools/rubocop/default.nix4
-rw-r--r--pkgs/development/tools/sass/default.nix6
-rw-r--r--pkgs/development/tools/scss-lint/default.nix6
-rw-r--r--pkgs/development/tools/sqlint/default.nix7
-rw-r--r--pkgs/development/tools/xcpretty/default.nix10
-rw-r--r--pkgs/development/web/mailcatcher/default.nix6
31 files changed, 134 insertions, 87 deletions
diff --git a/pkgs/development/compilers/matter-compiler/default.nix b/pkgs/development/compilers/matter-compiler/default.nix
index 4b3ff844977..f415fa8c012 100644
--- a/pkgs/development/compilers/matter-compiler/default.nix
+++ b/pkgs/development/compilers/matter-compiler/default.nix
@@ -1,10 +1,12 @@
-{ lib, bundlerApp }:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "matter_compiler";
   gemdir = ./.;
   exes = [ "matter_compiler" ];
 
+  passthru.updateScript = bundlerUpdateScript "matter-compiler";
+
   meta = with lib; {
     description = ''
       Matter Compiler is a API Blueprint AST Media Types to API Blueprint conversion tool.
@@ -12,7 +14,7 @@ bundlerApp {
     '';
     homepage    = https://github.com/apiaryio/matter_compiler/;
     license     = licenses.mit;
-    maintainers = with maintainers; [ rvlander manveru ];
+    maintainers = with maintainers; [ rvlander manveru nicknovitski ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/ruby-modules/bundler-env/default.nix b/pkgs/development/ruby-modules/bundler-env/default.nix
index 5d1489ba200..b3f91b678c4 100644
--- a/pkgs/development/ruby-modules/bundler-env/default.nix
+++ b/pkgs/development/ruby-modules/bundler-env/default.nix
@@ -13,6 +13,7 @@
 , document ? []
 , meta ? {}
 , ignoreCollisions ? false
+, passthru ? {}
 , ...
 }@args:
 
@@ -55,5 +56,5 @@ in
       passthru = basicEnv.passthru // {
         inherit basicEnv;
         inherit (basicEnv) env;
-      };
+      } // passthru;
     })
diff --git a/pkgs/development/ruby-modules/bundler-update-script/default.nix b/pkgs/development/ruby-modules/bundler-update-script/default.nix
new file mode 100644
index 00000000000..50d0364aa06
--- /dev/null
+++ b/pkgs/development/ruby-modules/bundler-update-script/default.nix
@@ -0,0 +1,25 @@
+{ runtimeShell, lib, writeScript, bundix, bundler, bundler-audit, coreutils, git, nix }:
+
+attrPath:
+
+let
+  updateScript = writeScript "bundler-update-script" ''
+    #!${runtimeShell}
+    PATH=${lib.makeBinPath [ bundler bundler-audit bundix coreutils git nix ]}
+    set -o errexit
+    set -o nounset
+    set -o pipefail
+
+    attrPath=$1
+
+    toplevel=$(git rev-parse --show-toplevel)
+    position=$(nix eval -f "$toplevel" --raw "$attrPath.meta.position")
+    gemdir=$(dirname "$position")
+
+    cd "$gemdir"
+
+    bundler lock --update
+    bundler-audit check --update
+    bundix
+  '';
+in [ updateScript attrPath ]
diff --git a/pkgs/development/ruby-modules/solargraph/default.nix b/pkgs/development/ruby-modules/solargraph/default.nix
index 2f60dacd358..0cfd8c5d66b 100644
--- a/pkgs/development/ruby-modules/solargraph/default.nix
+++ b/pkgs/development/ruby-modules/solargraph/default.nix
@@ -1,15 +1,17 @@
-{ lib, bundlerApp }:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp rec {
   pname = "solargraph";
   exes = ["solargraph"  "solargraph-runtime"];
   gemdir = ./.;
 
+  passthru.updateScript = bundlerUpdateScript "solargraph";
+
   meta = with lib; {
     description = "IDE tools for the Ruby language";
     homepage = http://www.github.com/castwide/solargraph;
     license = licenses.mit;
-    maintainers = with maintainers; [ worldofpeace ];
+    maintainers = with maintainers; [ worldofpeace nicknovitski ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/build-managers/drake/default.nix b/pkgs/development/tools/build-managers/drake/default.nix
index a7bb93d52ed..15fc682a315 100644
--- a/pkgs/development/tools/build-managers/drake/default.nix
+++ b/pkgs/development/tools/build-managers/drake/default.nix
@@ -1,14 +1,16 @@
-{ lib, bundlerApp }:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "drake";
   gemdir = ./.;
   exes = [ "drake" ];
 
+  passthru.updateScript = bundlerUpdateScript "drake";
+
   meta = with lib; {
     description = "A branch of Rake supporting automatic parallelizing of tasks";
     homepage = http://quix.github.io/rake/;
-    maintainers = with maintainers; [ romildo manveru ];
+    maintainers = with maintainers; [ romildo manveru nicknovitski ];
     license = licenses.mit;
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/tools/build-managers/rake/default.nix b/pkgs/development/tools/build-managers/rake/default.nix
index 8de0130d31b..2ce65b28fae 100644
--- a/pkgs/development/tools/build-managers/rake/default.nix
+++ b/pkgs/development/tools/build-managers/rake/default.nix
@@ -1,15 +1,17 @@
-{ lib, bundlerApp }:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "rake";
   gemdir = ./.;
   exes = [ "rake" ];
 
+  passthru.updateScript = bundlerUpdateScript "rake";
+
   meta = with lib; {
     description = "A software task management and build automation tool";
     homepage = https://github.com/ruby/rake;
     license  = with licenses; mit;
-    maintainers = with maintainers; [ manveru ];
+    maintainers = with maintainers; [ manveru nicknovitski ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/cadre/default.nix b/pkgs/development/tools/cadre/default.nix
index 93eb32cfb51..77b49107e16 100644
--- a/pkgs/development/tools/cadre/default.nix
+++ b/pkgs/development/tools/cadre/default.nix
@@ -1,15 +1,17 @@
-{ lib, bundlerApp }:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "cadre";
   gemdir = ./.;
   exes = [ "cadre" ];
 
+  passthru.updateScript = bundlerUpdateScript "cadre";
+
   meta = with lib; {
     description = "Toolkit to add Ruby development - in-editor coverage, libnotify of test runs";
     homepage    = https://github.com/nyarly/cadre;
     license     = licenses.mit;
-    maintainers = [ maintainers.nyarly ];
+    maintainers = with maintainers; [ nyarly nicknovitski ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/cbor-diag/default.nix b/pkgs/development/tools/cbor-diag/default.nix
index 049d9f38c0c..7942ff52645 100644
--- a/pkgs/development/tools/cbor-diag/default.nix
+++ b/pkgs/development/tools/cbor-diag/default.nix
@@ -1,9 +1,8 @@
-{ lib, bundlerApp, ruby }:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "cbor-diag";
 
-  inherit ruby;
   gemdir = ./.;
 
   exes = [
@@ -20,11 +19,13 @@ bundlerApp {
     "yaml2cbor.rb"
   ];
 
+  passthru.updateScript = bundlerUpdateScript "cbor-diag";
+
   meta = with lib; {
     description = "CBOR diagnostic utilities";
     homepage    = https://github.com/cabo/cbor-diag;
     license     = with licenses; asl20;
-    maintainers = with maintainers; [ fdns ];
+    maintainers = with maintainers; [ fdns nicknovitski ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/cddl/default.nix b/pkgs/development/tools/cddl/default.nix
index 37ad593d796..60e7edc7520 100644
--- a/pkgs/development/tools/cddl/default.nix
+++ b/pkgs/development/tools/cddl/default.nix
@@ -1,17 +1,18 @@
-{ lib, bundlerApp, ruby }:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "cddl";
 
-  inherit ruby;
   gemdir = ./.;
   exes = [ "cddl" ];
 
+  passthru.updateScript = bundlerUpdateScript "cddl";
+
   meta = with lib; {
     description = "A parser, generator, and validator for CDDL";
     homepage    = https://rubygems.org/gems/cddl;
     license     = with licenses; mit;
-    maintainers = with maintainers; [ fdns ];
+    maintainers = with maintainers; [ fdns nicknovitski ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/chefdk/default.nix b/pkgs/development/tools/chefdk/default.nix
index 1d81d469eb2..921448855a6 100644
--- a/pkgs/development/tools/chefdk/default.nix
+++ b/pkgs/development/tools/chefdk/default.nix
@@ -1,20 +1,20 @@
-{ lib, bundlerEnv, ruby_2_4, perl, autoconf }:
+{ lib, bundlerEnv, bundlerUpdateScript, ruby_2_4, perl, autoconf }:
 
-bundlerEnv {
-  # Last updated via:
-  # nix-shell -p bundix -p gcc -p libxml2 -p zlib --run "bundix -mdl"
-  name = "chefdk-2.4.17";
+bundlerEnv rec {
+  pname = "chef-dk";
 
   ruby = ruby_2_4;
   gemdir = ./.;
 
   buildInputs = [ perl autoconf ];
 
+  passthru.updateScript = bundlerUpdateScript "chefdk";
+
   meta = with lib; {
     description = "A streamlined development and deployment workflow for Chef platform";
     homepage    = https://downloads.chef.io/chef-dk/;
     license     = licenses.asl20;
-    maintainers = with maintainers; [ offline ];
+    maintainers = with maintainers; [ offline nicknovitski ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/compass/default.nix b/pkgs/development/tools/compass/default.nix
index c47bddd4d9c..516900c2067 100644
--- a/pkgs/development/tools/compass/default.nix
+++ b/pkgs/development/tools/compass/default.nix
@@ -1,15 +1,17 @@
-{ lib, bundlerApp }:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "compass";
   gemdir = ./.;
   exes = [ "compass" ];
 
+  passthru.updateScript = bundlerUpdateScript "compass";
+
   meta = with lib; {
     description = "Stylesheet Authoring Environment that makes your website design simpler to implement and easier to maintain";
     homepage    = https://github.com/Compass/compass;
     license     = with licenses; mit;
-    maintainers = with maintainers; [ offline manveru ];
+    maintainers = with maintainers; [ offline manveru nicknovitski ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/continuous-integration/cide/default.nix b/pkgs/development/tools/continuous-integration/cide/default.nix
index 932a02cf2bc..fe83a9aa170 100644
--- a/pkgs/development/tools/continuous-integration/cide/default.nix
+++ b/pkgs/development/tools/continuous-integration/cide/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, bundlerEnv, makeWrapper, docker, git, gnutar, gzip }:
+{ stdenv, lib, bundlerEnv, bundlerUpdateScript, makeWrapper, docker, git, gnutar, gzip }:
 
 stdenv.mkDerivation rec {
   name = "cide-${version}";
@@ -20,11 +20,13 @@ stdenv.mkDerivation rec {
       --set PATH ${stdenv.lib.makeBinPath [ docker git gnutar gzip ]}
   '';
 
+  passthru.updateScript = bundlerUpdateScript "cide";
+
   meta = with lib; {
     description = "Isolated test runner with Docker";
     homepage    = http://zimbatm.github.io/cide/;
     license     = licenses.mit;
-    maintainers = with maintainers; [ zimbatm ];
+    maintainers = with maintainers; [ zimbatm nicknovitski ];
     platforms   = docker.meta.platforms;
   };
 }
diff --git a/pkgs/development/tools/corundum/default.nix b/pkgs/development/tools/corundum/default.nix
index 22d7b236ffa..0d1c6985663 100644
--- a/pkgs/development/tools/corundum/default.nix
+++ b/pkgs/development/tools/corundum/default.nix
@@ -1,15 +1,17 @@
-{ lib, bundlerApp }:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "corundum";
   gemdir = ./.;
   exes = [ "corundum-skel" ];
 
+  passthru.updateScript = bundlerUpdateScript "corundum";
+
   meta = with lib; {
     description = "Tool and libraries for maintaining Ruby gems.";
     homepage    = https://github.com/nyarly/corundum;
     license     = licenses.mit;
-    maintainers = [ maintainers.nyarly ];
+    maintainers = with maintainers; [ nyarly nicknovitski ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/cucumber/default.nix b/pkgs/development/tools/cucumber/default.nix
index 4a3ed739550..15db6013deb 100644
--- a/pkgs/development/tools/cucumber/default.nix
+++ b/pkgs/development/tools/cucumber/default.nix
@@ -1,15 +1,17 @@
-{ lib, bundlerApp }:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "cucumber";
   gemdir = ./.;
   exes = [ "cucumber" ];
 
+  passthru.updateScript = bundlerUpdateScript "cucumber";
+
   meta = with lib; {
     description = "A tool for executable specifications";
     homepage    = https://cucumber.io/;
     license     = with licenses; mit;
-    maintainers = with maintainers; [ manveru ];
+    maintainers = with maintainers; [ manveru nicknovitski ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/github-changelog-generator/default.nix b/pkgs/development/tools/github-changelog-generator/default.nix
index 02de300138d..39aab9cfa27 100644
--- a/pkgs/development/tools/github-changelog-generator/default.nix
+++ b/pkgs/development/tools/github-changelog-generator/default.nix
@@ -1,15 +1,17 @@
-{ lib, bundlerApp}:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp rec {
   pname = "github_changelog_generator";
   gemdir = ./.;
   exes = [ "github_changelog_generator" ];
 
+  passthru.updateScript = bundlerUpdateScript "github-changelog-generator";
+
   meta = with lib; {
     description = "Fully automated changelog generation - This gem generates a changelog file based on tags, issues and merged pull requests";
     homepage    = https://github.com/github-changelog-generator/github-changelog-generator;
     license     = licenses.mit;
-    maintainers = with maintainers; [ Scriptkiddi ];
+    maintainers = with maintainers; [ Scriptkiddi nicknovitski ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/jazzy/default.nix b/pkgs/development/tools/jazzy/default.nix
index 7fff98e0325..ad71dfb22a8 100644
--- a/pkgs/development/tools/jazzy/default.nix
+++ b/pkgs/development/tools/jazzy/default.nix
@@ -1,12 +1,11 @@
-{ lib, bundlerApp, ruby }:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp rec {
-  inherit ruby;
   pname = "jazzy";
   gemdir = ./.;
   exes = [ "jazzy" ];
 
-  passthru.updateScript = ./update;
+  passthru.updateScript = bundlerUpdateScript "jazzy";
 
   meta = with lib; {
     description     = "A command-line utility that generates documentation for Swift or Objective-C";
@@ -16,6 +15,7 @@ bundlerApp rec {
     maintainers     = with maintainers; [
       peterromfeldhk
       lilyball
+      nicknovitski
     ];
   };
 }
diff --git a/pkgs/development/tools/jazzy/update b/pkgs/development/tools/jazzy/update
deleted file mode 100755
index 1f0d11c7dde..00000000000
--- a/pkgs/development/tools/jazzy/update
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/usr/bin/env nix-shell
-#! nix-shell -i bash -p bash bundler bundix
-
-set -e
-
-cd "$(dirname "${BASH_SOURCE[0]}")"
-
-rm -f Gemfile.lock
-bundler lock
-bundix
diff --git a/pkgs/development/tools/jsduck/default.nix b/pkgs/development/tools/jsduck/default.nix
index ef89517966d..dc8e618910c 100644
--- a/pkgs/development/tools/jsduck/default.nix
+++ b/pkgs/development/tools/jsduck/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, lib, bundlerEnv, makeWrapper, }:
+{ stdenv, lib, bundlerEnv, makeWrapper, bundlerUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "jsduck";
   name = "${pname}-${version}";
-  version = "5.3.4";
+  version = (import ./gemset.nix).jsduck.version;
 
   env = bundlerEnv {
     name = "${pname}";
@@ -21,11 +21,13 @@ stdenv.mkDerivation rec {
     makeWrapper ${env}/bin/jsduck $out/bin/jsduck
   '';
 
+  passthru.updateScript = bundlerUpdateScript "jsduck";
+
   meta = with lib; {
     description = "Simple JavaScript Duckumentation generator.";
     homepage    = https://github.com/senchalabs/jsduck;
     license     = with licenses; gpl3;
-    maintainers = with stdenv.lib.maintainers; [ periklis ];
+    maintainers = with maintainers; [ periklis nicknovitski ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/misc/mdl/.bundle/config b/pkgs/development/tools/misc/mdl/.bundle/config
deleted file mode 100644
index d28c8337bc4..00000000000
--- a/pkgs/development/tools/misc/mdl/.bundle/config
+++ /dev/null
@@ -1,3 +0,0 @@
----
-BUNDLE_PATH: "vendor/bundle"
-BUNDLE_CACHE_ALL: "true"
diff --git a/pkgs/development/tools/misc/mdl/default.nix b/pkgs/development/tools/misc/mdl/default.nix
index f0aca5c36a1..eda2fabd9c6 100644
--- a/pkgs/development/tools/misc/mdl/default.nix
+++ b/pkgs/development/tools/misc/mdl/default.nix
@@ -1,15 +1,17 @@
-{ lib, bundlerApp }:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "mdl";
   gemdir = ./.;
   exes = [ "mdl" ];
 
+  passthru.updateScript = bundlerUpdateScript "mdl";
+
   meta = with lib; {
     description = "A tool to check markdown files and flag style issues";
     homepage = https://github.com/markdownlint/markdownlint;
     license = licenses.mit;
-    maintainers = with maintainers; [ gerschtli manveru ];
+    maintainers = with maintainers; [ gerschtli manveru nicknovitski ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/misc/one_gadget/default.nix b/pkgs/development/tools/misc/one_gadget/default.nix
index cf4a719292c..1c2cbe35439 100644
--- a/pkgs/development/tools/misc/one_gadget/default.nix
+++ b/pkgs/development/tools/misc/one_gadget/default.nix
@@ -1,15 +1,17 @@
-{ lib, bundlerApp }:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "one_gadget";
   gemdir = ./.;
   exes = [ "one_gadget" ];
 
+  passthru.updateScript = bundlerUpdateScript "one_gadget";
+
   meta = with lib; {
     description = "The best tool for finding one gadget RCE in libc.so.6";
     homepage    = https://github.com/david942j/one_gadget;
     license     = licenses.mit;
-    maintainers = [ maintainers.artemist ];
+    maintainers = with maintainers; [ artemist nicknovitski ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/misc/travis/default.nix b/pkgs/development/tools/misc/travis/default.nix
index b5c5740e80f..9020766fd86 100644
--- a/pkgs/development/tools/misc/travis/default.nix
+++ b/pkgs/development/tools/misc/travis/default.nix
@@ -1,19 +1,16 @@
-{ lib, bundlerEnv, ruby }:
-
-# Maintainer notes for updating
-# 1. increment version number in Gemfile
-# 2. run $ nix-shell --command "bundler install && bundix"
-#    in the travis directory in nixpkgs
+{ lib, bundlerEnv, ruby, bundlerUpdateScript }:
 
 bundlerEnv {
   inherit ruby;
   pname = "travis";
   gemdir = ./.;
 
+  passthru.updateScript = bundlerUpdateScript "travis";
+
   meta = with lib; {
     description = "CLI and Ruby client library for Travis CI";
     homepage    = https://github.com/travis-ci/travis.rb;
     license     = licenses.mit;
-    maintainers = with maintainers; [ zimbatm ];
+    maintainers = with maintainers; [ zimbatm nicknovitski ];
   };
 }
diff --git a/pkgs/development/tools/misc/watson-ruby/default.nix b/pkgs/development/tools/misc/watson-ruby/default.nix
index 32f94a1f228..d6b8eb5b95f 100644
--- a/pkgs/development/tools/misc/watson-ruby/default.nix
+++ b/pkgs/development/tools/misc/watson-ruby/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, bundlerEnv, ruby }:
+{ stdenv, bundlerEnv, ruby, bundlerUpdateScript }:
 
 
 stdenv.mkDerivation rec {
@@ -19,11 +19,13 @@ stdenv.mkDerivation rec {
     ln -s ${env}/bin/watson $out/bin/watson
   '';
 
+  passthru.updateScript = bundlerUpdateScript "watson-ruby";
+
   meta = with stdenv.lib; {
     description = "An inline issue manager";
     homepage    = http://goosecode.com/watson/;
     license     = with licenses; mit;
-    maintainers = with maintainers; [ robertodr ];
+    maintainers = with maintainers; [ robertodr nicknovitski ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/redis-dump/default.nix b/pkgs/development/tools/redis-dump/default.nix
index c8311786010..646d04c266f 100644
--- a/pkgs/development/tools/redis-dump/default.nix
+++ b/pkgs/development/tools/redis-dump/default.nix
@@ -1,15 +1,17 @@
-{ lib, bundlerApp }:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "redis-dump";
   gemdir = ./.;
   exes = [ "redis-dump" ];
 
+  passthru.updateScript = bundlerUpdateScript "redis-dump";
+
   meta = with lib; {
     description = "Backup and restore your Redis data to and from JSON";
     homepage    = http://delanotes.com/redis-dump/;
     license     = licenses.mit;
-    maintainers = with maintainers; [ offline manveru ];
+    maintainers = with maintainers; [ offline manveru nicknovitski ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/ronn/default.nix b/pkgs/development/tools/ronn/default.nix
index 5f20e89d408..499cec2e6a7 100644
--- a/pkgs/development/tools/ronn/default.nix
+++ b/pkgs/development/tools/ronn/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, bundlerEnv, makeWrapper, groff }:
+{ stdenv, lib, bundlerEnv, bundlerUpdateScript, makeWrapper, groff }:
 
 stdenv.mkDerivation rec {
   name = "ronn-${version}";
@@ -19,11 +19,13 @@ stdenv.mkDerivation rec {
       --set PATH ${groff}/bin
   '';
 
+  passthru.updateScript = bundlerUpdateScript "ronn";
+
   meta = with lib; {
     description = "markdown-based tool for building manpages";
     homepage = https://rtomayko.github.io/ronn/;
     license = licenses.mit;
-    maintainers = with maintainers; [ zimbatm ];
+    maintainers = with maintainers; [ zimbatm nicknovitski ];
     platforms = env.ruby.meta.platforms;
   };
 }
diff --git a/pkgs/development/tools/rubocop/default.nix b/pkgs/development/tools/rubocop/default.nix
index b91a36cb061..5d965fc87a7 100644
--- a/pkgs/development/tools/rubocop/default.nix
+++ b/pkgs/development/tools/rubocop/default.nix
@@ -1,4 +1,4 @@
-{ lib, bundlerEnv, ruby }:
+{ lib, bundlerEnv, ruby, bundlerUpdateScript }:
 
 bundlerEnv rec {
   pname = "rubocop";
@@ -7,6 +7,8 @@ bundlerEnv rec {
 
   gemdir = ./.;
 
+  passthru.updateScript = bundlerUpdateScript "rubocop";
+
   meta = with lib; {
     description = "Automatic Ruby code style checking tool";
     homepage = "https://docs.rubocop.org/";
diff --git a/pkgs/development/tools/sass/default.nix b/pkgs/development/tools/sass/default.nix
index c204ba8cd40..6d9a7f1c080 100644
--- a/pkgs/development/tools/sass/default.nix
+++ b/pkgs/development/tools/sass/default.nix
@@ -1,15 +1,17 @@
-{ lib, bundlerApp }:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "sass";
   gemdir = ./.;
   exes = [ "sass" "sass-convert" "scss" ];
 
+  passthru.updateScript = bundlerUpdateScript "sass";
+
   meta = with lib; {
     description = "Tools and Ruby libraries for the CSS3 extension languages: Sass and SCSS";
     homepage    = https://sass-lang.com;
     license     = licenses.mit;
-    maintainers = with maintainers; [ romildo manveru ];
+    maintainers = with maintainers; [ romildo manveru nicknovitski ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/scss-lint/default.nix b/pkgs/development/tools/scss-lint/default.nix
index d1d0dbababa..8d17969b55e 100644
--- a/pkgs/development/tools/scss-lint/default.nix
+++ b/pkgs/development/tools/scss-lint/default.nix
@@ -1,15 +1,17 @@
-{ lib, bundlerApp }:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "scss_lint";
   gemdir = ./.;
   exes = [ "scss-lint" ];
 
+  passthru.updateScript = bundlerUpdateScript "scss-lint";
+
   meta = with lib; {
     description = "A tool to help keep your SCSS files clean and readable";
     homepage    = https://github.com/brigade/scss-lint;
     license     = licenses.mit;
-    maintainers = [ maintainers.lovek323 ];
+    maintainers = with maintainers; [ lovek323 nicknovitski ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/sqlint/default.nix b/pkgs/development/tools/sqlint/default.nix
index 67fbd09f102..d7ff9199460 100644
--- a/pkgs/development/tools/sqlint/default.nix
+++ b/pkgs/development/tools/sqlint/default.nix
@@ -1,4 +1,4 @@
-{ lib, bundlerApp, fetchurl, ruby }:
+{ lib, bundlerApp, fetchurl, bundlerUpdateScript }:
 
 let
   LIB_PG_QUERY_TAG = "10-1.0.1";
@@ -10,7 +10,6 @@ let
 in bundlerApp {
   pname = "sqlint";
   gemdir = ./.;
-  inherit ruby;
 
   exes = [ "sqlint" ];
 
@@ -24,11 +23,13 @@ in bundlerApp {
     };
   };
 
+  passthru.updateScript = bundlerUpdateScript "sqlint";
+
   meta = with lib; {
     description = "Simple SQL linter";
     homepage    = https://github.com/purcell/sqlint;
     license     = licenses.mit;
-    maintainers = with maintainers; [ ariutta ];
+    maintainers = with maintainers; [ ariutta nicknovitski ];
     platforms   = with platforms; [ "x86_64-linux" "x86_64-darwin" ];
   };
 }
diff --git a/pkgs/development/tools/xcpretty/default.nix b/pkgs/development/tools/xcpretty/default.nix
index 99af752086f..84a6798afe3 100644
--- a/pkgs/development/tools/xcpretty/default.nix
+++ b/pkgs/development/tools/xcpretty/default.nix
@@ -1,4 +1,4 @@
-{ lib, bundlerApp, bundler, bundix }:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "xcpretty";
@@ -7,13 +7,7 @@ bundlerApp {
   exes = [ "xcpretty" ];
 
   passthru = {
-    updateScript = ''
-      set -e
-      echo
-      cd ${toString ./.}
-      ${bundler}/bin/bundle lock --update
-      ${bundix}/bin/bundix
-    '';
+    updateScript = bundlerUpdateScript "xcpretty";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/web/mailcatcher/default.nix b/pkgs/development/web/mailcatcher/default.nix
index a2fa509232d..f960fe19278 100644
--- a/pkgs/development/web/mailcatcher/default.nix
+++ b/pkgs/development/web/mailcatcher/default.nix
@@ -1,15 +1,17 @@
-{ lib, bundlerApp }:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "mailcatcher";
   gemdir = ./.;
   exes = [ "mailcatcher" "catchmail" ];
 
+  passthru.updateScript = bundlerUpdateScript "mailcatcher";
+
   meta = with lib; {
     description = "SMTP server and web interface to locally test outbound emails";
     homepage    = https://mailcatcher.me/;
     license     = licenses.mit;
-    maintainers = [ maintainers.zarelit ];
+    maintainers = with maintainers; [ zarelit nicknovitski ];
     platforms   = platforms.unix;
   };
 }