summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
authorNick Novitski <github@nicknovitski.com>2019-07-22 05:02:47 -0700
committerzimbatm <zimbatm@zimbatm.com>2019-07-22 12:02:47 +0000
commit7136e0d0a6f61734994c566e2cc72fd75733b873 (patch)
treefcaeaea68f596a81fb885790ce87c3aac4bd52ba /pkgs/tools
parentb24841dd2260516bfde0b9029619a0f9ef87e97c (diff)
downloadnixpkgs-7136e0d0a6f61734994c566e2cc72fd75733b873.tar
nixpkgs-7136e0d0a6f61734994c566e2cc72fd75733b873.tar.gz
nixpkgs-7136e0d0a6f61734994c566e2cc72fd75733b873.tar.bz2
nixpkgs-7136e0d0a6f61734994c566e2cc72fd75733b873.tar.lz
nixpkgs-7136e0d0a6f61734994c566e2cc72fd75733b873.tar.xz
nixpkgs-7136e0d0a6f61734994c566e2cc72fd75733b873.tar.zst
nixpkgs-7136e0d0a6f61734994c566e2cc72fd75733b873.zip
bundlerUpdateScript: init and use (#64822)
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/admin/fastlane/default.nix5
-rwxr-xr-xpkgs/tools/admin/fastlane/update10
-rw-r--r--pkgs/tools/admin/oxidized/default.nix6
-rw-r--r--pkgs/tools/backup/lvmsync/default.nix6
-rw-r--r--pkgs/tools/inputmethods/fusuma/default.nix6
-rw-r--r--pkgs/tools/misc/docker-sync/default.nix6
-rw-r--r--pkgs/tools/misc/fluentd/default.nix6
-rw-r--r--pkgs/tools/misc/homesick/default.nix8
-rw-r--r--pkgs/tools/misc/lolcat/default.nix6
-rw-r--r--pkgs/tools/misc/pws/default.nix8
-rw-r--r--pkgs/tools/misc/riemann-tools/default.nix6
-rw-r--r--pkgs/tools/misc/t/default.nix6
-rw-r--r--pkgs/tools/misc/td/default.nix6
-rw-r--r--pkgs/tools/misc/teamocil/default.nix5
-rwxr-xr-xpkgs/tools/misc/teamocil/update10
-rw-r--r--pkgs/tools/networking/hue-cli/default.nix6
-rw-r--r--pkgs/tools/networking/maphosts/default.nix6
-rw-r--r--pkgs/tools/package-management/elm-github-install/default.nix8
-rw-r--r--pkgs/tools/package-management/fpm/default.nix6
-rwxr-xr-xpkgs/tools/package-management/fpm/update10
-rw-r--r--pkgs/tools/security/bundler-audit/default.nix6
-rw-r--r--pkgs/tools/system/colorls/default.nix6
-rw-r--r--pkgs/tools/system/hiera-eyaml/default.nix6
-rw-r--r--pkgs/tools/system/procodile/default.nix6
-rw-r--r--pkgs/tools/system/r10k/default.nix6
-rw-r--r--pkgs/tools/text/bcat/default.nix6
-rw-r--r--pkgs/tools/text/papertrail/default.nix13
-rw-r--r--pkgs/tools/text/papertrail/shell.nix19
-rw-r--r--pkgs/tools/text/reckon/default.nix7
-rw-r--r--pkgs/tools/text/ruby-zoom/default.nix6
-rw-r--r--pkgs/tools/typesetting/asciidoctor/default.nix12
-rwxr-xr-xpkgs/tools/typesetting/asciidoctor/update.sh6
32 files changed, 119 insertions, 116 deletions
diff --git a/pkgs/tools/admin/fastlane/default.nix b/pkgs/tools/admin/fastlane/default.nix
index 8aba7524008..3dbc8eea87b 100644
--- a/pkgs/tools/admin/fastlane/default.nix
+++ b/pkgs/tools/admin/fastlane/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, bundlerEnv, ruby, makeWrapper }:
+{ stdenv, bundlerEnv, ruby, bundlerUpdateScript, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
      --set FASTLANE_SKIP_UPDATE_CHECK 1
   '';
 
+  passthru.updateScript = bundlerUpdateScript "fastlane";
+
   meta = with stdenv.lib; {
     description     = "A tool to automate building and releasing iOS and Android apps";
     longDescription = "fastlane is a tool for iOS and Android developers to automate tedious tasks like generating screenshots, dealing with provisioning profiles, and releasing your application.";
@@ -28,6 +30,7 @@ stdenv.mkDerivation rec {
     license         = licenses.mit;
     maintainers     = with maintainers; [
       peterromfeldhk
+      nicknovitski
     ];
   };
 }
diff --git a/pkgs/tools/admin/fastlane/update b/pkgs/tools/admin/fastlane/update
deleted file mode 100755
index 22d1e52e297..00000000000
--- a/pkgs/tools/admin/fastlane/update
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/usr/bin/env nix-shell
-#! nix-shell -i bash -p bash ruby bundler bundix
-
-rm Gemfile.lock
-bundler install
-bundix
-
-if [ "clean" == "$1" ]; then
-  rm -r ~/.gem
-fi
diff --git a/pkgs/tools/admin/oxidized/default.nix b/pkgs/tools/admin/oxidized/default.nix
index 25b8bdb6585..e49d3957659 100644
--- a/pkgs/tools/admin/oxidized/default.nix
+++ b/pkgs/tools/admin/oxidized/default.nix
@@ -1,4 +1,4 @@
-{ lib, ruby, bundlerApp }:
+{ lib, ruby, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp rec {
   pname = "oxidized";
@@ -8,11 +8,13 @@ bundlerApp rec {
 
   exes = [ "oxidized" "oxidized-web" "oxidized-script" ];
 
+  passthru.updateScript = bundlerUpdateScript "oxidized";
+
   meta = with lib; {
     description = "Oxidized is a network device configuration backup tool. It's a RANCID replacement!";
     homepage    = https://github.com/ytti/oxidized;
     license     = licenses.asl20;
-    maintainers = [ maintainers.willibutz ];
+    maintainers = with maintainers; [ willibutz nicknovitski ];
     platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/tools/backup/lvmsync/default.nix b/pkgs/tools/backup/lvmsync/default.nix
index dc589316a58..0ed70ade829 100644
--- a/pkgs/tools/backup/lvmsync/default.nix
+++ b/pkgs/tools/backup/lvmsync/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, bundlerEnv, ruby, makeWrapper }:
+{ stdenv, bundlerEnv, ruby, bundlerUpdateScript, makeWrapper }:
 
 let
 
@@ -26,12 +26,14 @@ in stdenv.mkDerivation rec {
     makeWrapper ${env}/bin/lvmsync $out/bin/lvmsync
   '';
 
+  passthru.updateScript = bundlerUpdateScript "lvmsync";
+
   meta = with stdenv.lib; {
     description = "Optimised synchronisation of LVM snapshots over a network";
     homepage = http://theshed.hezmatt.org/lvmsync/;
     license = licenses.gpl3;
     platforms = platforms.all;
-    maintainers = with maintainers; [ jluttine ];
+    maintainers = with maintainers; [ jluttine nicknovitski ];
   };
 
 }
diff --git a/pkgs/tools/inputmethods/fusuma/default.nix b/pkgs/tools/inputmethods/fusuma/default.nix
index 2630ab0fc81..b410a21cd6b 100644
--- a/pkgs/tools/inputmethods/fusuma/default.nix
+++ b/pkgs/tools/inputmethods/fusuma/default.nix
@@ -1,4 +1,4 @@
-{ lib, bundlerApp, makeWrapper, libinput }:
+{ lib, bundlerApp, bundlerUpdateScript, makeWrapper, libinput }:
 
 bundlerApp {
   pname = "fusuma";
@@ -12,11 +12,13 @@ bundlerApp {
       --prefix PATH : ${lib.makeBinPath [ libinput ]}
   '';
 
+  passthru.updateScript = bundlerUpdateScript "fusuma";
+
   meta = with lib; {
     description = "Multitouch gestures with libinput driver on X11, Linux";
     homepage    = https://github.com/iberianpig/fusuma;
     license     = licenses.mit;
-    maintainers = with maintainers; [ jfrankenau ];
+    maintainers = with maintainers; [ jfrankenau nicknovitski ];
     platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/docker-sync/default.nix b/pkgs/tools/misc/docker-sync/default.nix
index e541fc0f0d4..e75b8347568 100644
--- a/pkgs/tools/misc/docker-sync/default.nix
+++ b/pkgs/tools/misc/docker-sync/default.nix
@@ -1,4 +1,4 @@
-{ lib, ruby, bundlerApp }:
+{ lib, ruby, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "docker-sync";
@@ -8,11 +8,13 @@ bundlerApp {
 
   exes = ["docker-sync"];
 
+  passthru.updateScript = bundlerUpdateScript "docker-sync";
+
   meta = with lib; {
     description = "Run your application at full speed while syncing your code for development";
     homepage = http://docker-sync.io;
     license = licenses.gpl3;
-    maintainers = [ maintainers.manveru ];
+    maintainers = with maintainers; [ manveru nicknovitski ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/fluentd/default.nix b/pkgs/tools/misc/fluentd/default.nix
index c9ee511ff83..18d03982f37 100644
--- a/pkgs/tools/misc/fluentd/default.nix
+++ b/pkgs/tools/misc/fluentd/default.nix
@@ -1,4 +1,4 @@
-{ lib, bundlerEnv, ruby }:
+{ lib, bundlerEnv, ruby, bundlerUpdateScript }:
 
 bundlerEnv {
   inherit ruby;
@@ -6,11 +6,13 @@ bundlerEnv {
   pname = "fluentd";
   gemdir = ./.;
 
+  passthru.updateScript = bundlerUpdateScript "fluentd";
+
   meta = with lib; {
     description = "A data collector";
     homepage    = https://www.fluentd.org/;
     license     = licenses.asl20;
-    maintainers = with maintainers; [ offline ];
+    maintainers = with maintainers; [ offline nicknovitski ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/homesick/default.nix b/pkgs/tools/misc/homesick/default.nix
index d35267fae27..00a9bf85650 100644
--- a/pkgs/tools/misc/homesick/default.nix
+++ b/pkgs/tools/misc/homesick/default.nix
@@ -1,6 +1,6 @@
-{ lib, bundlerEnv, git}:
+{ lib, bundlerEnv, bundlerUpdateScript, git }:
 bundlerEnv {
-  name = "homesick-1.1.6";
+  pname = "homesick";
 
   gemdir = ./.;
 
@@ -10,6 +10,8 @@ bundlerEnv {
     sed 1a'ENV["PATH"] = "${git}/bin:#{ENV["PATH"] ? ":#{ENV["PATH"]}" : "" }"' -i $out/bin/homesick
   '';
 
+  passthru.updateScript = bundlerUpdateScript "homesick";
+
   meta = with lib; {
     description = "Your home directory is your castle. Don't leave your dotfiles behind";
     longDescription =
@@ -20,7 +22,7 @@ bundlerEnv {
       '';
     homepage = https://github.com/technicalpickles/homesick;
     license = licenses.mit;
-    maintainers = with maintainers; [ aaronschif ];
+    maintainers = with maintainers; [ aaronschif nicknovitski ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/lolcat/default.nix b/pkgs/tools/misc/lolcat/default.nix
index 5b9466426bd..25efcdf3461 100644
--- a/pkgs/tools/misc/lolcat/default.nix
+++ b/pkgs/tools/misc/lolcat/default.nix
@@ -1,14 +1,16 @@
-{ lib, bundlerApp }:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "lolcat";
   gemdir = ./.;
   exes = [ "lolcat" ];
 
+  passthru.updateScript = bundlerUpdateScript "lolcat";
+
   meta = with lib; {
     description = "A rainbow version of cat";
     homepage    = https://github.com/busyloop/lolcat;
     license     = licenses.bsd3;
-    maintainers = with maintainers; [ StillerHarpo manveru ];
+    maintainers = with maintainers; [ StillerHarpo manveru nicknovitski ];
   };
 }
diff --git a/pkgs/tools/misc/pws/default.nix b/pkgs/tools/misc/pws/default.nix
index 7294c61da8f..d5f2fd4afd4 100644
--- a/pkgs/tools/misc/pws/default.nix
+++ b/pkgs/tools/misc/pws/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, lib, bundlerEnv, ruby, xsel, makeWrapper }:
+{ stdenv, lib, bundlerEnv, ruby, bundlerUpdateScript, xsel, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "pws-1.0.6";
+  name = "pws-${(import ./gemset.nix).pws.version}";
 
   env = bundlerEnv {
     name = "${name}-gems";
@@ -21,11 +21,13 @@ stdenv.mkDerivation rec {
       --set PATH '"${xsel}/bin/:$PATH"'
   '';
 
+  passthru.updateScript = bundlerUpdateScript "pws";
+
   meta = with lib; {
     description = "Command-line password safe";
     homepage    = https://github.com/janlelis/pws;
     license     = licenses.mit;
-    maintainers = [ maintainers.swistak35 ];
+    maintainers = with maintainers; [ swistak35 nicknovitski ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/riemann-tools/default.nix b/pkgs/tools/misc/riemann-tools/default.nix
index 6a3e1f3deb1..a9977aefd66 100644
--- a/pkgs/tools/misc/riemann-tools/default.nix
+++ b/pkgs/tools/misc/riemann-tools/default.nix
@@ -1,4 +1,4 @@
-{ lib, bundlerApp }:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "riemann-tools";
@@ -26,10 +26,12 @@ bundlerApp {
     "riemann-zookeeper"
   ];
 
+  passthru.updateScript = bundlerUpdateScript "riemann-tools";
+
   meta = with lib; {
     description = "Tools to submit data to Riemann";
     homepage = "https://riemann.io";
-    maintainers = with maintainers; [ manveru ];
+    maintainers = with maintainers; [ manveru nicknovitski ];
     license = licenses.mit;
   };
 }
diff --git a/pkgs/tools/misc/t/default.nix b/pkgs/tools/misc/t/default.nix
index 53e8471fb53..aa34b98bbe2 100644
--- a/pkgs/tools/misc/t/default.nix
+++ b/pkgs/tools/misc/t/default.nix
@@ -1,15 +1,17 @@
-{ lib, bundlerApp }:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "t";
   gemdir = ./.;
   exes = [ "t" ];
 
+  passthru.updateScript = bundlerUpdateScript "t";
+
   meta = with lib; {
     description = "A command-line power tool for Twitter";
     homepage    = http://sferik.github.io/t/;
     license     = licenses.asl20;
-    maintainers = with maintainers; [ offline manveru ];
+    maintainers = with maintainers; [ offline manveru nicknovitski ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/td/default.nix b/pkgs/tools/misc/td/default.nix
index 121eff450b5..437bdb0373f 100644
--- a/pkgs/tools/misc/td/default.nix
+++ b/pkgs/tools/misc/td/default.nix
@@ -1,15 +1,17 @@
-{ lib, bundlerApp }:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "td";
   gemdir = ./.;
   exes = [ "td" ];
 
+  passthru.updateScript = bundlerUpdateScript "td";
+
   meta = with lib; {
     description = "CLI to manage data on Treasure Data, the Hadoop-based cloud data warehousing.";
     homepage    = https://github.com/treasure-data/td;
     license     = licenses.asl20;
-    maintainers =  with maintainers; [ groodt ];
+    maintainers =  with maintainers; [ groodt nicknovitski ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/teamocil/default.nix b/pkgs/tools/misc/teamocil/default.nix
index 2215e4d4fee..82aba612699 100644
--- a/pkgs/tools/misc/teamocil/default.nix
+++ b/pkgs/tools/misc/teamocil/default.nix
@@ -1,10 +1,12 @@
-{ lib, bundlerEnv, ruby }:
+{ lib, bundlerEnv, ruby, bundlerUpdateScript }:
 
 bundlerEnv rec {
   inherit ruby;
   pname = "teamocil";
   gemdir = ./.;
 
+  passthru.updateScript = bundlerUpdateScript "teamocil";
+
   meta = with lib; {
     description     = "A simple tool used to automatically create windows and panes in tmux with YAML files";
     homepage        = https://github.com/remiprev/teamocil;
@@ -12,6 +14,7 @@ bundlerEnv rec {
     platforms       = platforms.all;
     maintainers     = with maintainers; [
       zachcoyle 
+      nicknovitski
     ];
   };
 }
diff --git a/pkgs/tools/misc/teamocil/update b/pkgs/tools/misc/teamocil/update
deleted file mode 100755
index 58a7bd4a453..00000000000
--- a/pkgs/tools/misc/teamocil/update
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/usr/bin/env nix-shell
-#! nix-shell -i bash -p bash ruby bundler bundix
-
-rm Gemfile.lock
-bundler install
-bundix
-
-if [ "clean" == "$1" ]; then
-  rm -rf ~/.gem
-fi
diff --git a/pkgs/tools/networking/hue-cli/default.nix b/pkgs/tools/networking/hue-cli/default.nix
index ae51bb69bda..b9b4a8eac9d 100644
--- a/pkgs/tools/networking/hue-cli/default.nix
+++ b/pkgs/tools/networking/hue-cli/default.nix
@@ -1,15 +1,17 @@
-{ lib, bundlerApp }:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "hue-cli";
   gemdir = ./.;
   exes = [ "hue" ];
 
+  passthru.updateScript = bundlerUpdateScript "hue-cli";
+
   meta = with lib; {
     description = "Command line interface for controlling Philips Hue system's lights and bridge";
     homepage =  https://github.com/birkirb/hue-cli;
     license = licenses.mit;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ manveru ];
+    maintainers = with maintainers; [ manveru nicknovitski ];
   };
 }
diff --git a/pkgs/tools/networking/maphosts/default.nix b/pkgs/tools/networking/maphosts/default.nix
index 3a48814928e..e54a2b21d9f 100644
--- a/pkgs/tools/networking/maphosts/default.nix
+++ b/pkgs/tools/networking/maphosts/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, bundlerEnv, ruby }:
+{ stdenv, lib, bundlerEnv, ruby, bundlerUpdateScript }:
 
 stdenv.mkDerivation rec {
   name = "maphosts-${env.gems.maphosts.version}";
@@ -16,11 +16,13 @@ stdenv.mkDerivation rec {
     ln -s "${env}/bin/maphosts" "$out/bin/maphosts"
   '';
 
+  passthru.updateScript = bundlerUpdateScript "maphosts";
+
   meta = with lib; {
     description = "Small command line application for keeping your project hostnames in sync with /etc/hosts";
     homepage    = https://github.com/mpscholten/maphosts;
     license     = licenses.mit;
-    maintainers = with maintainers; [ mpscholten ];
+    maintainers = with maintainers; [ mpscholten nicknovitski ];
     platforms   = platforms.all;
   };
 }
diff --git a/pkgs/tools/package-management/elm-github-install/default.nix b/pkgs/tools/package-management/elm-github-install/default.nix
index 1f70dc1c8c8..5703a13745b 100644
--- a/pkgs/tools/package-management/elm-github-install/default.nix
+++ b/pkgs/tools/package-management/elm-github-install/default.nix
@@ -1,17 +1,21 @@
-{ lib, bundlerEnv, ruby }:
+{ lib, bundlerEnv, ruby, bundlerUpdateScript }:
 
 bundlerEnv rec {
+  pname = "elm_install";
   name = "elm-github-install-${version}";
 
   version = (import ./gemset.nix).elm_install.version;
+
   inherit ruby;
   gemdir = ./.;
 
+  passthru.updateScript = bundlerUpdateScript "elm-github-install";
+
   meta = with lib; {
     description = "Install Elm packages from git repositories.";
     homepage    = https://github.com/gdotdesign/elm-github-install;
     license     = licenses.unfree;
-    maintainers = [ maintainers.roberth ];
+    maintainers = with maintainers; [ roberth nicknovitski ];
     platforms   = platforms.all;
   };
 }
diff --git a/pkgs/tools/package-management/fpm/default.nix b/pkgs/tools/package-management/fpm/default.nix
index 905c686fede..ccb50717acc 100644
--- a/pkgs/tools/package-management/fpm/default.nix
+++ b/pkgs/tools/package-management/fpm/default.nix
@@ -1,15 +1,17 @@
-{ lib, bundlerApp }:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "fpm";
   gemdir = ./.;
   exes = [ "fpm" ];
 
+  passthru.updateScript = bundlerUpdateScript "fpm";
+
   meta = with lib; {
     description = "Tool to build packages for multiple platforms with ease";
     homepage    = https://github.com/jordansissel/fpm;
     license     = licenses.mit;
-    maintainers = with maintainers; [ manveru ];
+    maintainers = with maintainers; [ manveru nicknovitski ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/tools/package-management/fpm/update b/pkgs/tools/package-management/fpm/update
deleted file mode 100755
index 22d1e52e297..00000000000
--- a/pkgs/tools/package-management/fpm/update
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/usr/bin/env nix-shell
-#! nix-shell -i bash -p bash ruby bundler bundix
-
-rm Gemfile.lock
-bundler install
-bundix
-
-if [ "clean" == "$1" ]; then
-  rm -r ~/.gem
-fi
diff --git a/pkgs/tools/security/bundler-audit/default.nix b/pkgs/tools/security/bundler-audit/default.nix
index 8b19b6103d4..3712c129cf6 100644
--- a/pkgs/tools/security/bundler-audit/default.nix
+++ b/pkgs/tools/security/bundler-audit/default.nix
@@ -1,4 +1,4 @@
-{ bundlerEnv, ruby, lib }:
+{ bundlerEnv, ruby, lib, bundlerUpdateScript }:
 
 bundlerEnv rec {
   name = "${pname}-${version}";
@@ -8,6 +8,8 @@ bundlerEnv rec {
   inherit ruby;
   gemdir = ./.;
 
+  passthru.updateScript = bundlerUpdateScript "bundler-audit";
+
   meta = with lib; {
     description = "Patch-level verification for Bundler";
     longDescription = ''
@@ -20,7 +22,7 @@ bundlerEnv rec {
     '';
     homepage    = https://github.com/rubysec/bundler-audit;
     license     = licenses.gpl3Plus;
-    maintainers = with maintainers; [ primeos ];
+    maintainers = with maintainers; [ primeos nicknovitski ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/tools/system/colorls/default.nix b/pkgs/tools/system/colorls/default.nix
index 45c3bdf1f40..62670fa11a0 100644
--- a/pkgs/tools/system/colorls/default.nix
+++ b/pkgs/tools/system/colorls/default.nix
@@ -1,4 +1,4 @@
-{ lib, bundlerApp, ruby, ... }:
+{ lib, bundlerApp, ruby, bundlerUpdateScript }:
 
 bundlerApp rec {
   pname = "colorls";
@@ -6,11 +6,13 @@ bundlerApp rec {
   gemdir = ./.;
   exes = [ "colorls" ];
 
+  passthru.updateScript = bundlerUpdateScript "colorls";
+
   meta = with lib; {
     description = "Prettified LS";
     homepage    = https://github.com/athityakumar/colorls;
     license     = with licenses; mit;
-    maintainers = with maintainers; [ lukebfox ];
+    maintainers = with maintainers; [ lukebfox nicknovitski ];
     platforms   = ruby.meta.platforms;
   };
 }
diff --git a/pkgs/tools/system/hiera-eyaml/default.nix b/pkgs/tools/system/hiera-eyaml/default.nix
index e0ff7d5ca8b..33d97aa7d6b 100644
--- a/pkgs/tools/system/hiera-eyaml/default.nix
+++ b/pkgs/tools/system/hiera-eyaml/default.nix
@@ -1,15 +1,17 @@
-{ lib, bundlerEnv, ruby }:
+{ lib, bundlerEnv, ruby, bundlerUpdateScript }:
 
 bundlerEnv {
   inherit ruby;
   pname = "hiera-eyaml";
   gemdir = ./.;
 
+  passthru.updateScript = bundlerUpdateScript "hiera-eyaml";
+
   meta = with lib; {
     description = "Per-value asymmetric encryption of sensitive data for Hiera";
     homepage = https://github.com/TomPoulton/hiera-eyaml;
     license = licenses.mit;
-    maintainers = [ maintainers.benley ];
+    maintainers = with maintainers; [ benley nicknovitski ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/system/procodile/default.nix b/pkgs/tools/system/procodile/default.nix
index 22dc59a9e8e..3ae80a312ed 100644
--- a/pkgs/tools/system/procodile/default.nix
+++ b/pkgs/tools/system/procodile/default.nix
@@ -1,15 +1,17 @@
-{ lib, bundlerApp }:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "procodile";
   gemdir = ./.;
   exes = [ "procodile" ];
 
+  passthru.updateScript = bundlerUpdateScript "procodile";
+
   meta = with lib; {
     description = "Run processes in the background (and foreground) on Mac & Linux from a Procfile (for production and/or development environments)";
     homepage    = https://adam.ac/procodile;
     license     = with licenses; mit;
-    maintainers = with maintainers; [ ravloony manveru ];
+    maintainers = with maintainers; [ ravloony manveru nicknovitski ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/tools/system/r10k/default.nix b/pkgs/tools/system/r10k/default.nix
index 43d35410760..56e4e4f94fa 100644
--- a/pkgs/tools/system/r10k/default.nix
+++ b/pkgs/tools/system/r10k/default.nix
@@ -1,4 +1,4 @@
-{ lib, bundlerApp, makeWrapper, git, gnutar, gzip }:
+{ lib, bundlerApp, bundlerUpdateScript, makeWrapper, git, gnutar, gzip }:
 
 bundlerApp {
   pname = "r10k";
@@ -11,11 +11,13 @@ bundlerApp {
     wrapProgram $out/bin/r10k --prefix PATH : ${lib.makeBinPath [ git gnutar gzip ]}
   '';
 
+  passthru.updateScript = bundlerUpdateScript "r10k";
+
   meta = with lib; {
     description = "Puppet environment and module deployment";
     homepage    = https://github.com/puppetlabs/r10k;
     license     = licenses.asl20;
-    maintainers = with maintainers; [ zimbatm manveru ];
+    maintainers = with maintainers; [ zimbatm manveru nicknovitski ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/text/bcat/default.nix b/pkgs/tools/text/bcat/default.nix
index 72fb8aa8e2e..e8000f17cde 100644
--- a/pkgs/tools/text/bcat/default.nix
+++ b/pkgs/tools/text/bcat/default.nix
@@ -1,15 +1,17 @@
-{ lib, bundlerApp }:
+{ lib, bundlerApp, bundlerUpdateScript }:
 
 bundlerApp {
   pname = "bcat";
   gemdir = ./.;
   exes = [ "bcat" "btee" "a2h" ];
 
+  passthru.updateScript = bundlerUpdateScript "bcat";
+
   meta = with lib; {
     description = "Pipe to browser utility";
     homepage    = http://rtomayko.github.com/bcat/;
     license     = licenses.mit;
-    maintainers = [ maintainers.jraygauthier ];
+    maintainers = with maintainers; [ jraygauthier nicknovitski ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/tools/text/papertrail/default.nix b/pkgs/tools/text/papertrail/default.nix
index a02ca1cd3dd..05213ff1a87 100644
--- a/pkgs/tools/text/papertrail/default.nix
+++ b/pkgs/tools/text/papertrail/default.nix
@@ -1,7 +1,6 @@
-{ stdenv, bundlerEnv, ruby}:
+{ stdenv, bundlerEnv, ruby, bundlerUpdateScript }:
 
 let
-  # To update, just run `nix-shell` in this directory.
   papertrail-env = bundlerEnv rec {
     name = "papertrail-env";
     inherit ruby;
@@ -18,4 +17,14 @@ in stdenv.mkDerivation {
     mkdir -p $out/bin
     ln -s ${papertrail-env}/bin/papertrail $out/bin/papertrail
   '';
+
+  passthru.updateScript = bundlerUpdateScript "papertrail";
+
+  meta = with stdenv.lib; {
+    description = "Command-line client for Papertrail log management service";
+    homepage    = http://github.com/papertrail/papertrail-cli/;
+    license     = licenses.mit;
+    maintainers = with maintainers; [ nicknovitski ];
+    platforms   = ruby.meta.platforms;
+  };
 }
diff --git a/pkgs/tools/text/papertrail/shell.nix b/pkgs/tools/text/papertrail/shell.nix
deleted file mode 100644
index 55a7a18f57b..00000000000
--- a/pkgs/tools/text/papertrail/shell.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ pkgs ? import <nixpkgs> {} }:
-
-pkgs.stdenv.mkDerivation {
-  name = "papertrail";
-  src = ./.;
-
-  buildInputs = with pkgs; [
-    bundix
-    bundler
-    ruby
-  ];
-
-  shellHook = ''
-    truncate --size 0 Gemfile.lock
-    bundle install --path=vendor/bundle
-    rm -rf vendor .bundle
-    bundix
-  '';
-}
diff --git a/pkgs/tools/text/reckon/default.nix b/pkgs/tools/text/reckon/default.nix
index b97ffc7c58a..9e3e4d5b41d 100644
--- a/pkgs/tools/text/reckon/default.nix
+++ b/pkgs/tools/text/reckon/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, lib, bundlerEnv, makeWrapper }:
+{ stdenv, lib, bundlerEnv, bundlerUpdateScript, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "reckon-${version}";
-  version = "0.4.4";
+  version = (import ./gemset.nix).reckon.version;
 
   env = bundlerEnv {
     name = "${name}-gems";
@@ -19,9 +19,12 @@ stdenv.mkDerivation rec {
     makeWrapper ${env}/bin/reckon $out/bin/reckon
   '';
 
+  passthru.updateScript = bundlerUpdateScript "reckon";
+
   meta = with lib; {
     description = "Flexibly import bank account CSV files into Ledger for command line accounting";
     license = licenses.mit;
+    maintainers = with maintainers; [ nicknovitski ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/text/ruby-zoom/default.nix b/pkgs/tools/text/ruby-zoom/default.nix
index b939e1500e4..c3953840836 100644
--- a/pkgs/tools/text/ruby-zoom/default.nix
+++ b/pkgs/tools/text/ruby-zoom/default.nix
@@ -1,4 +1,4 @@
-{ lib, bundlerEnv, ruby, stdenv }:
+{ lib, bundlerEnv, ruby, bundlerUpdateScript }:
 
 bundlerEnv {
   pname = "ruby-zoom";
@@ -6,11 +6,13 @@ bundlerEnv {
   inherit ruby;
   gemdir = ./.;
 
+  passthru.updateScript = bundlerUpdateScript "ruby-zoom";
+
   meta = with lib; {
     description = "Quickly open CLI search results in your favorite editor!";
     homepage    = https://gitlab.com/mjwhitta/zoom;
     license     = with licenses; gpl3;
-    maintainers = with stdenv.lib.maintainers; [ vmandela ];
+    maintainers = with maintainers; [ vmandela nicknovitski ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/tools/typesetting/asciidoctor/default.nix b/pkgs/tools/typesetting/asciidoctor/default.nix
index 2f1c7e46154..20bbe782d91 100644
--- a/pkgs/tools/typesetting/asciidoctor/default.nix
+++ b/pkgs/tools/typesetting/asciidoctor/default.nix
@@ -1,8 +1,7 @@
 { lib, bundlerApp, makeWrapper,
   # Optional dependencies, can be null
   epubcheck, kindlegen,
-  # For the update shell
-  mkShell, bundix
+  bundlerUpdateScript
 }:
 
 let
@@ -26,21 +25,16 @@ let
       '';
 
     passthru = {
-      inherit updateShell;
+      updateScript = bundlerUpdateScript "asciidoctor";
     };
 
     meta = with lib; {
       description = "A faster Asciidoc processor written in Ruby";
       homepage = https://asciidoctor.org/;
       license = licenses.mit;
-      maintainers = with maintainers; [ gpyh ];
+      maintainers = with maintainers; [ gpyh nicknovitski ];
       platforms = platforms.unix;
     };
   };
-
-  updateShell = mkShell {
-    inputsFrom = lib.attrValues app.gems;
-    buildInputs = [ bundix ];
-  };
 in
   app
diff --git a/pkgs/tools/typesetting/asciidoctor/update.sh b/pkgs/tools/typesetting/asciidoctor/update.sh
deleted file mode 100755
index 1f7e5541cee..00000000000
--- a/pkgs/tools/typesetting/asciidoctor/update.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-nix-shell ../../../.. -A asciidoctor.updateShell --run '
-  rm gemset.nix Gemfile.lock
-  bundix -m --bundle-pack-path $TMPDIR/asciidoctor-ruby-bundle
-  rm -r .bundle
-'