summary refs log tree commit diff
path: root/pkgs/misc
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/misc')
-rw-r--r--pkgs/misc/arm-trusted-firmware/default.nix2
-rw-r--r--pkgs/misc/base16-shell-preview/default.nix2
-rw-r--r--pkgs/misc/beep/default.nix4
-rw-r--r--pkgs/misc/calaos/installer/default.nix2
-rw-r--r--pkgs/misc/cups/cups-pk-helper.nix2
-rw-r--r--pkgs/misc/cups/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/brgenml1cupswrapper/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/brgenml1lpr/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/brlaser/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/brother/mfcl3770cdw/default.nix4
-rw-r--r--pkgs/misc/cups/drivers/canon/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/cnijfilter2/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/cnijfilter_2_80/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/cnijfilter_4_00/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/cups-bjnp/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/dymo/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/estudio/default.nix4
-rw-r--r--pkgs/misc/cups/drivers/fxlinuxprint/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/googlecloudprint/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/hl1110/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/hl3140cw/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/hll2340dw/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/hll2390dw-cups/default.nix4
-rw-r--r--pkgs/misc/cups/drivers/mfcj470dwcupswrapper/default.nix4
-rw-r--r--pkgs/misc/cups/drivers/mfcj470dwlpr/default.nix4
-rw-r--r--pkgs/misc/cups/drivers/mfcj6510dwcupswrapper/default.nix4
-rw-r--r--pkgs/misc/cups/drivers/mfcj6510dwlpr/default.nix4
-rw-r--r--pkgs/misc/cups/drivers/mfcl2700dncupswrapper/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/mfcl2700dnlpr/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/mfcl2720dwcupswrapper/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/mfcl2720dwlpr/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/mfcl2740dwcupswrapper/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/mfcl2740dwlpr/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/mfcl8690cdwcupswrapper/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/mfcl8690cdwlpr/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/samsung/1.00.36/default.nix4
-rw-r--r--pkgs/misc/cups/drivers/samsung/1.00.37.nix4
-rw-r--r--pkgs/misc/cups/drivers/samsung/4.00.39/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/samsung/4.01.17.nix2
-rw-r--r--pkgs/misc/cups/drivers/splix/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/zj-58/default.nix2
-rw-r--r--pkgs/misc/cups/filters.nix2
-rw-r--r--pkgs/misc/documentation-highlighter/default.nix2
-rw-r--r--pkgs/misc/doge/default.nix2
-rw-r--r--pkgs/misc/drivers/epson-201106w/default.nix2
-rw-r--r--pkgs/misc/drivers/epson-workforce-635-nx625-series/default.nix2
-rw-r--r--pkgs/misc/drivers/epson_201207w/default.nix2
-rw-r--r--pkgs/misc/drivers/gutenprint/bin.nix2
-rw-r--r--pkgs/misc/drivers/gutenprint/default.nix2
-rw-r--r--pkgs/misc/drivers/hplip/3.16.11.nix4
-rw-r--r--pkgs/misc/drivers/hplip/3.18.5.nix4
-rw-r--r--pkgs/misc/drivers/hplip/default.nix4
-rw-r--r--pkgs/misc/drivers/m33-linux/default.nix2
-rw-r--r--pkgs/misc/drivers/moltengamepad/default.nix2
-rw-r--r--pkgs/misc/drivers/postscript-lexmark/default.nix2
-rw-r--r--pkgs/misc/drivers/sc-controller/default.nix2
-rw-r--r--pkgs/misc/drivers/steamcontroller/default.nix2
-rw-r--r--pkgs/misc/drivers/sundtek/default.nix2
-rw-r--r--pkgs/misc/drivers/utsushi/default.nix4
-rw-r--r--pkgs/misc/drivers/xboxdrv/default.nix6
-rw-r--r--pkgs/misc/drivers/xow/default.nix33
-rw-r--r--pkgs/misc/drivers/xp-pen-g430/default.nix37
-rw-r--r--pkgs/misc/drivers/xwiimote/default.nix2
-rw-r--r--pkgs/misc/emulators/atari++/default.nix2
-rw-r--r--pkgs/misc/emulators/atari800/default.nix18
-rw-r--r--pkgs/misc/emulators/attract-mode/default.nix2
-rw-r--r--pkgs/misc/emulators/blastem/default.nix2
-rw-r--r--pkgs/misc/emulators/bsod/default.nix4
-rw-r--r--pkgs/misc/emulators/ccemux/default.nix2
-rw-r--r--pkgs/misc/emulators/cdemu/base.nix2
-rw-r--r--pkgs/misc/emulators/cdemu/vhba.nix2
-rw-r--r--pkgs/misc/emulators/citra/default.nix10
-rw-r--r--pkgs/misc/emulators/darcnes/default.nix2
-rw-r--r--pkgs/misc/emulators/desmume/default.nix2
-rw-r--r--pkgs/misc/emulators/dlx/default.nix2
-rw-r--r--pkgs/misc/emulators/dolphin-emu/default.nix87
-rw-r--r--pkgs/misc/emulators/dolphin-emu/master.nix10
-rw-r--r--pkgs/misc/emulators/dosbox/default.nix2
-rw-r--r--pkgs/misc/emulators/emulationstation/default.nix2
-rw-r--r--pkgs/misc/emulators/epsxe/default.nix2
-rw-r--r--pkgs/misc/emulators/fakenes/default.nix4
-rw-r--r--pkgs/misc/emulators/fceux/default.nix2
-rw-r--r--pkgs/misc/emulators/firebird-emu/default.nix2
-rw-r--r--pkgs/misc/emulators/fuse-emulator/default.nix2
-rw-r--r--pkgs/misc/emulators/gens-gs/default.nix4
-rw-r--r--pkgs/misc/emulators/gxemul/default.nix2
-rw-r--r--pkgs/misc/emulators/hatari/default.nix2
-rw-r--r--pkgs/misc/emulators/higan/default.nix53
-rw-r--r--pkgs/misc/emulators/kega-fusion/default.nix2
-rw-r--r--pkgs/misc/emulators/libdsk/default.nix2
-rw-r--r--pkgs/misc/emulators/mame/default.nix34
-rw-r--r--pkgs/misc/emulators/mednafen/default.nix4
-rw-r--r--pkgs/misc/emulators/mgba/default.nix2
-rw-r--r--pkgs/misc/emulators/mupen64plus/default.nix2
-rw-r--r--pkgs/misc/emulators/nestopia/default.nix2
-rw-r--r--pkgs/misc/emulators/openmsx/default.nix13
-rw-r--r--pkgs/misc/emulators/pcsxr/default.nix2
-rw-r--r--pkgs/misc/emulators/qmc2/default.nix2
-rw-r--r--pkgs/misc/emulators/retroarch/cores.nix4
-rw-r--r--pkgs/misc/emulators/retroarch/default.nix2
-rw-r--r--pkgs/misc/emulators/retrofe/default.nix4
-rw-r--r--pkgs/misc/emulators/rpcs3/default.nix18
-rw-r--r--pkgs/misc/emulators/stella/default.nix16
-rw-r--r--pkgs/misc/emulators/uae/default.nix2
-rw-r--r--pkgs/misc/emulators/vbam/default.nix2
-rw-r--r--pkgs/misc/emulators/vice/default.nix4
-rw-r--r--pkgs/misc/emulators/wine/sources.nix8
-rw-r--r--pkgs/misc/emulators/wine/winetricks.nix2
-rw-r--r--pkgs/misc/emulators/wxmupen64plus/default.nix2
-rw-r--r--pkgs/misc/emulators/yabause/default.nix2
-rw-r--r--pkgs/misc/emulators/zsnes/default.nix2
-rw-r--r--pkgs/misc/frescobaldi/default.nix4
-rw-r--r--pkgs/misc/ghostscript/default.nix2
-rw-r--r--pkgs/misc/gnash/default.nix2
-rw-r--r--pkgs/misc/gnuk/generic.nix2
-rw-r--r--pkgs/misc/jackaudio/default.nix2
-rw-r--r--pkgs/misc/jackaudio/jack1.nix2
-rw-r--r--pkgs/misc/lguf-brightness/default.nix2
-rw-r--r--pkgs/misc/logging/beats/6.x.nix2
-rw-r--r--pkgs/misc/logging/beats/7.x.nix2
-rw-r--r--pkgs/misc/long-shebang/default.nix2
-rw-r--r--pkgs/misc/mxt-app/default.nix2
-rw-r--r--pkgs/misc/riscv-pk/default.nix2
-rw-r--r--pkgs/misc/rkdeveloptool/default.nix8
-rw-r--r--pkgs/misc/sailsd/default.nix2
-rw-r--r--pkgs/misc/scrcpy/default.nix2
-rw-r--r--pkgs/misc/screensavers/alock/default.nix4
-rw-r--r--pkgs/misc/screensavers/betterlockscreen/default.nix2
-rw-r--r--pkgs/misc/screensavers/electricsheep/default.nix2
-rw-r--r--pkgs/misc/screensavers/i3lock-pixeled/default.nix2
-rw-r--r--pkgs/misc/screensavers/light-locker/default.nix2
-rw-r--r--pkgs/misc/screensavers/pipes/default.nix2
-rw-r--r--pkgs/misc/screensavers/slock/default.nix2
-rw-r--r--pkgs/misc/screensavers/vlock/default.nix2
-rw-r--r--pkgs/misc/screensavers/xlockmore/default.nix2
-rw-r--r--pkgs/misc/screensavers/xscreensaver/default.nix6
-rw-r--r--pkgs/misc/screensavers/xssproxy/default.nix2
-rw-r--r--pkgs/misc/screensavers/xtrlock-pam/default.nix2
-rw-r--r--pkgs/misc/solfege/default.nix24
-rw-r--r--pkgs/misc/sound-of-sorting/default.nix2
-rw-r--r--pkgs/misc/stabber/default.nix2
-rw-r--r--pkgs/misc/talkfilters/default.nix2
-rw-r--r--pkgs/misc/tmux-plugins/default.nix204
-rw-r--r--pkgs/misc/tpm2-pkcs11/default.nix4
-rw-r--r--pkgs/misc/uboot/default.nix2
-rw-r--r--pkgs/misc/urbit/default.nix2
-rw-r--r--pkgs/misc/vim-plugins/aliases.nix14
-rw-r--r--pkgs/misc/vim-plugins/default.nix1
-rw-r--r--pkgs/misc/vim-plugins/deprecated.json18
-rw-r--r--pkgs/misc/vim-plugins/generated.nix270
-rw-r--r--pkgs/misc/vim-plugins/overrides.nix35
-rwxr-xr-xpkgs/misc/vim-plugins/update.py183
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names64
-rw-r--r--pkgs/misc/vscode-extensions/cpptools/default.nix4
-rw-r--r--pkgs/misc/vscode-extensions/python/default.nix4
-rw-r--r--pkgs/misc/vscode-extensions/remote-ssh/default.nix6
-rw-r--r--pkgs/misc/vscode-extensions/vscode-utils.nix7
-rw-r--r--pkgs/misc/xosd/default.nix2
158 files changed, 988 insertions, 511 deletions
diff --git a/pkgs/misc/arm-trusted-firmware/default.nix b/pkgs/misc/arm-trusted-firmware/default.nix
index ead87f6fab4..664fa8fcb88 100644
--- a/pkgs/misc/arm-trusted-firmware/default.nix
+++ b/pkgs/misc/arm-trusted-firmware/default.nix
@@ -48,7 +48,7 @@ let
     enableParallelBuilding = false;
 
     meta = with lib; {
-      homepage = https://github.com/ARM-software/arm-trusted-firmware;
+      homepage = "https://github.com/ARM-software/arm-trusted-firmware";
       description = "A reference implementation of secure world software for ARMv8-A";
       license = licenses.bsd3;
       maintainers = [ maintainers.lopsided98 ];
diff --git a/pkgs/misc/base16-shell-preview/default.nix b/pkgs/misc/base16-shell-preview/default.nix
index 72b7de3b9a2..15e0596e410 100644
--- a/pkgs/misc/base16-shell-preview/default.nix
+++ b/pkgs/misc/base16-shell-preview/default.nix
@@ -16,7 +16,7 @@ python3Packages.buildPythonApplication rec {
 
   meta = with lib; {
     description = "Browse and preview Base16 Shell themes in your terminal";
-    homepage = https://github.com/nvllsvm/base16-shell-preview;
+    homepage = "https://github.com/nvllsvm/base16-shell-preview";
     license = licenses.mit;
     maintainers = [ maintainers.rencire ];
   };
diff --git a/pkgs/misc/beep/default.nix b/pkgs/misc/beep/default.nix
index b98560992e3..40a8849ba3f 100644
--- a/pkgs/misc/beep/default.nix
+++ b/pkgs/misc/beep/default.nix
@@ -6,7 +6,7 @@
 stdenv.mkDerivation {
   name = "beep-1.3";
   src = fetchurl {
-    url = http://www.johnath.com/beep/beep-1.3.tar.gz;
+    url = "http://www.johnath.com/beep/beep-1.3.tar.gz";
     sha256 = "0bgch6jq5cahakk3kbr9549iysf2dik09afixxy5brbxk1xfzb2r";
   };
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
   '';
   meta = {
     description = "The advanced PC speaker beeper";
-    homepage = http://www.johnath.com/beep/;
+    homepage = "http://www.johnath.com/beep/";
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/misc/calaos/installer/default.nix b/pkgs/misc/calaos/installer/default.nix
index 618bc6d8505..81f00d59f69 100644
--- a/pkgs/misc/calaos/installer/default.nix
+++ b/pkgs/misc/calaos/installer/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Calaos Installer, a tool to create calaos configuration";
-    homepage = https://www.calaos.fr/;
+    homepage = "https://www.calaos.fr/";
     license = licenses.gpl3Plus;
     platforms = platforms.all;
     maintainers = with maintainers; [ tiramiseb ];
diff --git a/pkgs/misc/cups/cups-pk-helper.nix b/pkgs/misc/cups/cups-pk-helper.nix
index 6534d300e82..3151bace558 100644
--- a/pkgs/misc/cups/cups-pk-helper.nix
+++ b/pkgs/misc/cups/cups-pk-helper.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "PolicyKit helper to configure cups with fine-grained privileges";
-    homepage = http://www.freedesktop.org/wiki/Software/cups-pk-helper/;
+    homepage = "http://www.freedesktop.org/wiki/Software/cups-pk-helper/";
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix
index 6786623fee3..f229ced8936 100644
--- a/pkgs/misc/cups/default.nix
+++ b/pkgs/misc/cups/default.nix
@@ -151,7 +151,7 @@ stdenv.mkDerivation rec {
     '';
 
   meta = {
-    homepage = https://cups.org/;
+    homepage = "https://cups.org/";
     description = "A standards-based printing system for UNIX";
     license = licenses.gpl2; # actually LGPL for the library and GPL for the rest
     maintainers = with maintainers; [ matthewbauer ];
diff --git a/pkgs/misc/cups/drivers/brgenml1cupswrapper/default.nix b/pkgs/misc/cups/drivers/brgenml1cupswrapper/default.nix
index 4464b5ba11b..5faf6a2198b 100644
--- a/pkgs/misc/cups/drivers/brgenml1cupswrapper/default.nix
+++ b/pkgs/misc/cups/drivers/brgenml1cupswrapper/default.nix
@@ -116,7 +116,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Brother BrGenML1 CUPS wrapper driver";
-    homepage = http://www.brother.com;
+    homepage = "http://www.brother.com";
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [ jraygauthier ];
diff --git a/pkgs/misc/cups/drivers/brgenml1lpr/default.nix b/pkgs/misc/cups/drivers/brgenml1lpr/default.nix
index 2df3cfe6733..985de63637c 100644
--- a/pkgs/misc/cups/drivers/brgenml1lpr/default.nix
+++ b/pkgs/misc/cups/drivers/brgenml1lpr/default.nix
@@ -85,7 +85,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Brother BrGenML1 LPR driver";
-    homepage = http://www.brother.com;
+    homepage = "http://www.brother.com";
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.unfreeRedistributable;
     maintainers = with stdenv.lib.maintainers; [ jraygauthier ];
diff --git a/pkgs/misc/cups/drivers/brlaser/default.nix b/pkgs/misc/cups/drivers/brlaser/default.nix
index bf0f4ef8279..5e44c8dc493 100644
--- a/pkgs/misc/cups/drivers/brlaser/default.nix
+++ b/pkgs/misc/cups/drivers/brlaser/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
            Brother MFC-L2710DW
            Lenovo M7605D
       '';
-    homepage = https://github.com/pdewacht/brlaser;
+    homepage = "https://github.com/pdewacht/brlaser";
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ StijnDW ];
diff --git a/pkgs/misc/cups/drivers/brother/mfcl3770cdw/default.nix b/pkgs/misc/cups/drivers/brother/mfcl3770cdw/default.nix
index f101ffef95b..de93a5a7f8b 100644
--- a/pkgs/misc/cups/drivers/brother/mfcl3770cdw/default.nix
+++ b/pkgs/misc/cups/drivers/brother/mfcl3770cdw/default.nix
@@ -47,7 +47,7 @@ in rec {
 
     meta = {
       description = "Brother ${lib.strings.toUpper model} driver";
-      homepage = http://www.brother.com/;
+      homepage = "http://www.brother.com/";
       license = stdenv.lib.licenses.unfree;
       platforms = [ "x86_64-linux" "i686-linux" ];
       maintainers = [ stdenv.lib.maintainers.steveej ];
@@ -79,7 +79,7 @@ in rec {
 
     meta = {
       description = "Brother ${lib.strings.toUpper model} CUPS wrapper driver";
-      homepage = http://www.brother.com/;
+      homepage = "http://www.brother.com/";
       license = stdenv.lib.licenses.gpl2;
       platforms = [ "x86_64-linux" "i686-linux" ];
       maintainers = [ stdenv.lib.maintainers.steveej ];
diff --git a/pkgs/misc/cups/drivers/canon/default.nix b/pkgs/misc/cups/drivers/canon/default.nix
index adc4ead94b7..dbc6390ef49 100644
--- a/pkgs/misc/cups/drivers/canon/default.nix
+++ b/pkgs/misc/cups/drivers/canon/default.nix
@@ -216,7 +216,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "CUPS Linux drivers for Canon printers";
-    homepage = http://www.canon.com/;
+    homepage = "http://www.canon.com/";
     license = licenses.unfree;
     maintainers = with maintainers; [
       kylesferrazza
diff --git a/pkgs/misc/cups/drivers/cnijfilter2/default.nix b/pkgs/misc/cups/drivers/cnijfilter2/default.nix
index 364a7336bf3..323163bed33 100644
--- a/pkgs/misc/cups/drivers/cnijfilter2/default.nix
+++ b/pkgs/misc/cups/drivers/cnijfilter2/default.nix
@@ -115,7 +115,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "Canon InkJet printer drivers for the MG7500, MG6700, MG6600, MG5600, MG2900, MB2000, MB2300, iB4000, MB5000, MB5300, iP110, E450, MX490, E480, MG7700, MG6900, MG6800, MG5700, MG3600, and G3000 series.";
-    homepage = http://support-th.canon-asia.com/contents/TH/EN/0100712901.html;
+    homepage = "http://support-th.canon-asia.com/contents/TH/EN/0100712901.html";
     license = licenses.unfree;
     platforms = platforms.linux;
     maintainers = with maintainers; [ cstrahan ];
diff --git a/pkgs/misc/cups/drivers/cnijfilter_2_80/default.nix b/pkgs/misc/cups/drivers/cnijfilter_2_80/default.nix
index a09311a8292..2cb3fe01ddb 100644
--- a/pkgs/misc/cups/drivers/cnijfilter_2_80/default.nix
+++ b/pkgs/misc/cups/drivers/cnijfilter_2_80/default.nix
@@ -101,7 +101,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "Canon InkJet printer drivers for the iP5400, MP520, MP210, MP140, iP3500, and MP610 series.  (MP520 drivers also work for MX700.)";
-    homepage = http://support-asia.canon-asia.com/content/EN/0100084101.html;
+    homepage = "http://support-asia.canon-asia.com/content/EN/0100084101.html";
     license = licenses.unfree;
     platforms = platforms.linux;
     maintainers = with maintainers; [ jerith666 ];
diff --git a/pkgs/misc/cups/drivers/cnijfilter_4_00/default.nix b/pkgs/misc/cups/drivers/cnijfilter_4_00/default.nix
index 8866b425ca8..679d8906994 100644
--- a/pkgs/misc/cups/drivers/cnijfilter_4_00/default.nix
+++ b/pkgs/misc/cups/drivers/cnijfilter_4_00/default.nix
@@ -142,7 +142,7 @@ in stdenv.mkDerivation {
 
   meta = with lib; {
     description = "Canon InkJet printer drivers for the MG2400 MG2500 MG3500 MG5500 MG6400 MG6500 MG7100 and P200 series.";
-    homepage = https://www.canon-europe.com/support/consumer_products/products/fax__multifunctionals/inkjet/pixma_mg_series/pixma_mg5550.aspx?type=drivers&driverdetailid=tcm:13-1094072;
+    homepage = "https://www.canon-europe.com/support/consumer_products/products/fax__multifunctionals/inkjet/pixma_mg_series/pixma_mg5550.aspx?type=drivers&driverdetailid=tcm:13-1094072";
     license = licenses.unfree;
     platforms = platforms.linux;
     maintainers = with maintainers; [ chpatrick ];
diff --git a/pkgs/misc/cups/drivers/cups-bjnp/default.nix b/pkgs/misc/cups/drivers/cups-bjnp/default.nix
index 0c91b782117..e9fac1c73e2 100644
--- a/pkgs/misc/cups/drivers/cups-bjnp/default.nix
+++ b/pkgs/misc/cups/drivers/cups-bjnp/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
       BJNP protocol. This back-end allows Cups to print over the network to a
       Canon printer. The design is based on reverse engineering of the protocol.
     '';
-    homepage = http://cups-bjnp.sourceforge.net;
+    homepage = "http://cups-bjnp.sourceforge.net";
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/misc/cups/drivers/dymo/default.nix b/pkgs/misc/cups/drivers/dymo/default.nix
index c2b912007d8..eccbae60104 100644
--- a/pkgs/misc/cups/drivers/dymo/default.nix
+++ b/pkgs/misc/cups/drivers/dymo/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "CUPS Linux drivers and SDK for DYMO printers";
-    homepage = http://www.dymo.com/;
+    homepage = "http://www.dymo.com/";
     license = lib.licenses.gpl2;
     maintainers = with lib.maintainers; [ makefu ];
   };
diff --git a/pkgs/misc/cups/drivers/estudio/default.nix b/pkgs/misc/cups/drivers/estudio/default.nix
index ad8b0089a87..9aaae31488d 100644
--- a/pkgs/misc/cups/drivers/estudio/default.nix
+++ b/pkgs/misc/cups/drivers/estudio/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation {
   version = "7.89";
 
   src = fetchurl {
-    url = http://business.toshiba.com/downloads/KB/f1Ulds/15178/TOSHIBA_ColorMFP_CUPS.tar;
+    url = "http://business.toshiba.com/downloads/KB/f1Ulds/15178/TOSHIBA_ColorMFP_CUPS.tar";
     sha256 = "0qz4r7q55i0adf4fv3aqnfqgi2pz3jb1jixkqm9x6nk4vanyjf4r";
   };
 
@@ -47,7 +47,7 @@ stdenv.mkDerivation {
       TOSHIBA e-STUDIO6540C, TOSHIBA e-STUDIO6550C, TOSHIBA e-STUDIO6560C,
       TOSHIBA e-STUDIO6570C and TOSHIBA e-STUDIO7506AC.
     '';
-    homepage = http://business.toshiba.com/support/downloads/index.html;
+    homepage = "http://business.toshiba.com/support/downloads/index.html";
     license = licenses.unfree;
     maintainers = [ maintainers.jpotier ];
   };
diff --git a/pkgs/misc/cups/drivers/fxlinuxprint/default.nix b/pkgs/misc/cups/drivers/fxlinuxprint/default.nix
index 23651a57df8..30d73787104 100644
--- a/pkgs/misc/cups/drivers/fxlinuxprint/default.nix
+++ b/pkgs/misc/cups/drivers/fxlinuxprint/default.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
       DocuCentre-VI C2271/C3370/C3371/C4471/C5571/C6671/C7771
       DocuPrint 3205 d/3208 d/3505 d/3508 d/4405 d/4408 d
     '';
-    homepage = https://onlinesupport.fujixerox.com;
+    homepage = "https://onlinesupport.fujixerox.com";
     license = licenses.unfree;
     maintainers = with maintainers; [ delan ];
     platforms = platforms.linux;
diff --git a/pkgs/misc/cups/drivers/googlecloudprint/default.nix b/pkgs/misc/cups/drivers/googlecloudprint/default.nix
index 0dcd518de84..9b612c43a00 100644
--- a/pkgs/misc/cups/drivers/googlecloudprint/default.nix
+++ b/pkgs/misc/cups/drivers/googlecloudprint/default.nix
@@ -57,7 +57,7 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Google Cloud Print driver for CUPS, allows printing to printers hosted on Google Cloud Print";
-    homepage    = http://ccp.niftiestsoftware.com;
+    homepage    = "http://ccp.niftiestsoftware.com";
     platforms   = platforms.linux;
     license     = licenses.gpl3;
   };
diff --git a/pkgs/misc/cups/drivers/hl1110/default.nix b/pkgs/misc/cups/drivers/hl1110/default.nix
index 701d4b6a100..194ef6cc327 100644
--- a/pkgs/misc/cups/drivers/hl1110/default.nix
+++ b/pkgs/misc/cups/drivers/hl1110/default.nix
@@ -64,7 +64,7 @@ stdenv.mkDerivation {
     '';
 
   meta = {
-    homepage = http://www.brother.com/;
+    homepage = "http://www.brother.com/";
     description = "Brother HL1110 printer driver";
     license = stdenv.lib.licenses.unfree;
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/misc/cups/drivers/hl3140cw/default.nix b/pkgs/misc/cups/drivers/hl3140cw/default.nix
index 001a3c1eac0..9dabf053fd6 100644
--- a/pkgs/misc/cups/drivers/hl3140cw/default.nix
+++ b/pkgs/misc/cups/drivers/hl3140cw/default.nix
@@ -69,7 +69,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    homepage = http://www.brother.com/;
+    homepage = "http://www.brother.com/";
     description = "Brother hl3140cw printer driver";
     license = stdenv.lib.licenses.unfree;
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/misc/cups/drivers/hll2340dw/default.nix b/pkgs/misc/cups/drivers/hll2340dw/default.nix
index 653f72a0b61..a291f166288 100644
--- a/pkgs/misc/cups/drivers/hll2340dw/default.nix
+++ b/pkgs/misc/cups/drivers/hll2340dw/default.nix
@@ -58,7 +58,7 @@ stdenv.mkDerivation {
     '';
 
   meta = with stdenv.lib; {
-    homepage = http://www.brother.com/;
+    homepage = "http://www.brother.com/";
     description = "Brother hl-l2340dw printer driver";
     license = licenses.unfree;
     platforms = platforms.linux;
diff --git a/pkgs/misc/cups/drivers/hll2390dw-cups/default.nix b/pkgs/misc/cups/drivers/hll2390dw-cups/default.nix
index 90f9a8e943a..0a55ee0c8bb 100644
--- a/pkgs/misc/cups/drivers/hll2390dw-cups/default.nix
+++ b/pkgs/misc/cups/drivers/hll2390dw-cups/default.nix
@@ -60,11 +60,11 @@ stdenv.mkDerivation rec {
     '';
 
   meta = with stdenv.lib; {
-    homepage = http://www.brother.com/;
+    homepage = "http://www.brother.com/";
     description = "Brother HL-L2390DW combined print driver";
     license = licenses.unfree;
     platforms = [ "x86_64-linux" ];
-    downloadPage = http://support.brother.com/g/b/downloadlist.aspx?c=us_ot&lang=en&prod=hll2390dw_us&os=128;
+    downloadPage = "http://support.brother.com/g/b/downloadlist.aspx?c=us_ot&lang=en&prod=hll2390dw_us&os=128";
     maintainers = [ maintainers.samueldr ];
   };
 }
diff --git a/pkgs/misc/cups/drivers/mfcj470dwcupswrapper/default.nix b/pkgs/misc/cups/drivers/mfcj470dwcupswrapper/default.nix
index c7484e6d30b..23ee927a3bf 100644
--- a/pkgs/misc/cups/drivers/mfcj470dwcupswrapper/default.nix
+++ b/pkgs/misc/cups/drivers/mfcj470dwcupswrapper/default.nix
@@ -46,11 +46,11 @@ stdenv.mkDerivation rec {
     '';
 
   meta = {
-    homepage = http://www.brother.com/;
+    homepage = "http://www.brother.com/";
     description = "Brother MFC-J470DW CUPS wrapper driver";
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
-    downloadPage = http://support.brother.com/g/b/downloadlist.aspx?c=us&lang=en&prod=mfcj470dw_us_eu_as&os=128;
+    downloadPage = "http://support.brother.com/g/b/downloadlist.aspx?c=us&lang=en&prod=mfcj470dw_us_eu_as&os=128";
     maintainers = [ stdenv.lib.maintainers.yochai ];
   };
 }
diff --git a/pkgs/misc/cups/drivers/mfcj470dwlpr/default.nix b/pkgs/misc/cups/drivers/mfcj470dwlpr/default.nix
index befafd855bc..31b5c1dbd37 100644
--- a/pkgs/misc/cups/drivers/mfcj470dwlpr/default.nix
+++ b/pkgs/misc/cups/drivers/mfcj470dwlpr/default.nix
@@ -35,11 +35,11 @@ stdenv.mkDerivation rec {
     '';
 
   meta = {
-    homepage = http://www.brother.com/;
+    homepage = "http://www.brother.com/";
     description = "Brother MFC-J470DW LPR driver";
     license = stdenv.lib.licenses.unfree;
     platforms = stdenv.lib.platforms.linux;
-    downloadPage = http://support.brother.com/g/b/downloadlist.aspx?c=us&lang=en&prod=mfcj470dw_us_eu_as&os=128;
+    downloadPage = "http://support.brother.com/g/b/downloadlist.aspx?c=us&lang=en&prod=mfcj470dw_us_eu_as&os=128";
     maintainers = [ stdenv.lib.maintainers.yochai ];
   };
 }
diff --git a/pkgs/misc/cups/drivers/mfcj6510dwcupswrapper/default.nix b/pkgs/misc/cups/drivers/mfcj6510dwcupswrapper/default.nix
index 4ec9e3fc6c8..8a5c9644512 100644
--- a/pkgs/misc/cups/drivers/mfcj6510dwcupswrapper/default.nix
+++ b/pkgs/misc/cups/drivers/mfcj6510dwcupswrapper/default.nix
@@ -55,11 +55,11 @@ stdenv.mkDerivation rec {
     '';
 
   meta = with stdenv.lib; {
-    homepage = http://www.brother.com/;
+    homepage = "http://www.brother.com/";
     description = "Brother MFC-J6510DW CUPS wrapper driver";
     license = with licenses; gpl2;
     platforms = with platforms; linux;
-    downloadPage = http://support.brother.com/g/b/downloadlist.aspx?c=us&lang=en&prod=mfcj6510dw_all&os=128;
+    downloadPage = "http://support.brother.com/g/b/downloadlist.aspx?c=us&lang=en&prod=mfcj6510dw_all&os=128";
     maintainers = with maintainers; [ ramkromberg ];
   };
 }
diff --git a/pkgs/misc/cups/drivers/mfcj6510dwlpr/default.nix b/pkgs/misc/cups/drivers/mfcj6510dwlpr/default.nix
index b12ef18e46c..46ce7abb28e 100644
--- a/pkgs/misc/cups/drivers/mfcj6510dwlpr/default.nix
+++ b/pkgs/misc/cups/drivers/mfcj6510dwlpr/default.nix
@@ -80,8 +80,8 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description  = "Brother MFC-J6510DW LPR driver";
-    downloadPage = http://support.brother.com/g/b/downloadlist.aspx?c=us&lang=en&prod=mfcj6510dw_all&os=128;
-    homepage     = http://www.brother.com/;
+    downloadPage = "http://support.brother.com/g/b/downloadlist.aspx?c=us&lang=en&prod=mfcj6510dw_all&os=128";
+    homepage     = "http://www.brother.com/";
     license      = with licenses; unfree;
     maintainers  = with maintainers; [ ramkromberg ];
     platforms    = with platforms; linux;
diff --git a/pkgs/misc/cups/drivers/mfcl2700dncupswrapper/default.nix b/pkgs/misc/cups/drivers/mfcl2700dncupswrapper/default.nix
index 1673c2d5c5c..27cb40a9e4f 100644
--- a/pkgs/misc/cups/drivers/mfcl2700dncupswrapper/default.nix
+++ b/pkgs/misc/cups/drivers/mfcl2700dncupswrapper/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Brother MFC-L2700DN CUPS wrapper driver";
-    homepage = http://www.brother.com/;
+    homepage = "http://www.brother.com/";
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.tv ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/misc/cups/drivers/mfcl2700dnlpr/default.nix b/pkgs/misc/cups/drivers/mfcl2700dnlpr/default.nix
index 91110104bc9..24d3e5cab7f 100644
--- a/pkgs/misc/cups/drivers/mfcl2700dnlpr/default.nix
+++ b/pkgs/misc/cups/drivers/mfcl2700dnlpr/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Brother MFC-L2700DN LPR driver";
-    homepage = http://www.brother.com/;
+    homepage = "http://www.brother.com/";
     license = stdenv.lib.licenses.unfree;
     maintainers = [ stdenv.lib.maintainers.tv ];
     platforms = [ "i686-linux" ];
diff --git a/pkgs/misc/cups/drivers/mfcl2720dwcupswrapper/default.nix b/pkgs/misc/cups/drivers/mfcl2720dwcupswrapper/default.nix
index b58e7b4faa4..8a2ce7edf26 100644
--- a/pkgs/misc/cups/drivers/mfcl2720dwcupswrapper/default.nix
+++ b/pkgs/misc/cups/drivers/mfcl2720dwcupswrapper/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Brother MFC-L2720DW CUPS wrapper driver";
-    homepage = http://www.brother.com/;
+    homepage = "http://www.brother.com/";
     license = stdenv.lib.licenses.gpl2;
     platforms = [ "x86_64-linux" "i686-linux" ];
     maintainers = [ stdenv.lib.maintainers.xeji ];
diff --git a/pkgs/misc/cups/drivers/mfcl2720dwlpr/default.nix b/pkgs/misc/cups/drivers/mfcl2720dwlpr/default.nix
index b4b16563610..0dc9eed2ac0 100644
--- a/pkgs/misc/cups/drivers/mfcl2720dwlpr/default.nix
+++ b/pkgs/misc/cups/drivers/mfcl2720dwlpr/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Brother MFC-L2720DW lpr driver";
-    homepage = http://www.brother.com/;
+    homepage = "http://www.brother.com/";
     license = stdenv.lib.licenses.unfree;
     platforms = [ "x86_64-linux" "i686-linux" ];
     maintainers = [ stdenv.lib.maintainers.xeji ];
diff --git a/pkgs/misc/cups/drivers/mfcl2740dwcupswrapper/default.nix b/pkgs/misc/cups/drivers/mfcl2740dwcupswrapper/default.nix
index f2303a45a2f..f2143df321c 100644
--- a/pkgs/misc/cups/drivers/mfcl2740dwcupswrapper/default.nix
+++ b/pkgs/misc/cups/drivers/mfcl2740dwcupswrapper/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Brother MFC-L2740DW CUPS wrapper driver";
-    homepage = http://www.brother.com/;
+    homepage = "http://www.brother.com/";
     license = stdenv.lib.licenses.gpl2;
     platforms = [ "x86_64-linux" "i686-linux" ];
     maintainers = [ stdenv.lib.maintainers.enzime ];
diff --git a/pkgs/misc/cups/drivers/mfcl2740dwlpr/default.nix b/pkgs/misc/cups/drivers/mfcl2740dwlpr/default.nix
index c2209806724..74571611b44 100644
--- a/pkgs/misc/cups/drivers/mfcl2740dwlpr/default.nix
+++ b/pkgs/misc/cups/drivers/mfcl2740dwlpr/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Brother MFC-L2740DW lpr driver";
-    homepage = http://www.brother.com/;
+    homepage = "http://www.brother.com/";
     license = stdenv.lib.licenses.unfree;
     platforms = [ "x86_64-linux" "i686-linux" ];
     maintainers = [ stdenv.lib.maintainers.enzime ];
diff --git a/pkgs/misc/cups/drivers/mfcl8690cdwcupswrapper/default.nix b/pkgs/misc/cups/drivers/mfcl8690cdwcupswrapper/default.nix
index 50f3b583e42..d82c0ad9a86 100644
--- a/pkgs/misc/cups/drivers/mfcl8690cdwcupswrapper/default.nix
+++ b/pkgs/misc/cups/drivers/mfcl8690cdwcupswrapper/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Brother MFC-L8690CDW CUPS wrapper driver";
-    homepage = http://www.brother.com/;
+    homepage = "http://www.brother.com/";
     license = stdenv.lib.licenses.unfree;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.fuzzy-id ];
diff --git a/pkgs/misc/cups/drivers/mfcl8690cdwlpr/default.nix b/pkgs/misc/cups/drivers/mfcl8690cdwlpr/default.nix
index 0e088401c0a..9e3c529e898 100644
--- a/pkgs/misc/cups/drivers/mfcl8690cdwlpr/default.nix
+++ b/pkgs/misc/cups/drivers/mfcl8690cdwlpr/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Brother MFC-L8690CDW LPR printer driver";
-    homepage = http://www.brother.com/;
+    homepage = "http://www.brother.com/";
     license = stdenv.lib.licenses.unfree;
     maintainers = [ stdenv.lib.maintainers.fuzzy-id ];
     platforms = [ "i686-linux" ];
diff --git a/pkgs/misc/cups/drivers/samsung/1.00.36/default.nix b/pkgs/misc/cups/drivers/samsung/1.00.36/default.nix
index 8c906db642e..308be5337d0 100644
--- a/pkgs/misc/cups/drivers/samsung/1.00.36/default.nix
+++ b/pkgs/misc/cups/drivers/samsung/1.00.36/default.nix
@@ -104,8 +104,8 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Unified Linux Driver for Samsung printers and scanners";
-    homepage = http://www.bchemnet.com/suldr;
-    downloadPage = http://www.bchemnet.com/suldr/driver/;
+    homepage = "http://www.bchemnet.com/suldr";
+    downloadPage = "http://www.bchemnet.com/suldr/driver/";
     license = licenses.unfree;
 
     # Tested on linux-x86_64. Might work on linux-i386.
diff --git a/pkgs/misc/cups/drivers/samsung/1.00.37.nix b/pkgs/misc/cups/drivers/samsung/1.00.37.nix
index 9135441a6e7..b7e75c2a16a 100644
--- a/pkgs/misc/cups/drivers/samsung/1.00.37.nix
+++ b/pkgs/misc/cups/drivers/samsung/1.00.37.nix
@@ -87,8 +87,8 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Unified Linux Driver for Samsung printers and scanners";
-    homepage = http://www.bchemnet.com/suldr;
-    downloadPage = http://www.bchemnet.com/suldr/driver/;
+    homepage = "http://www.bchemnet.com/suldr";
+    downloadPage = "http://www.bchemnet.com/suldr/driver/";
     license = licenses.unfree;
 
     # Tested on linux-x86_64. Might work on linux-i386.
diff --git a/pkgs/misc/cups/drivers/samsung/4.00.39/default.nix b/pkgs/misc/cups/drivers/samsung/4.00.39/default.nix
index 5dc39793070..c3c3613bbda 100644
--- a/pkgs/misc/cups/drivers/samsung/4.00.39/default.nix
+++ b/pkgs/misc/cups/drivers/samsung/4.00.39/default.nix
@@ -36,7 +36,7 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Samsung's Linux printing drivers; includes binaries without source code";
-    homepage = http://www.samsung.com/;
+    homepage = "http://www.samsung.com/";
     license = licenses.unfree;
     platforms = platforms.linux;
     broken = true;   # libscmssc.so and libmfp.so can't find their library dependencies at run-time
diff --git a/pkgs/misc/cups/drivers/samsung/4.01.17.nix b/pkgs/misc/cups/drivers/samsung/4.01.17.nix
index f81fa27503f..755003e4d30 100644
--- a/pkgs/misc/cups/drivers/samsung/4.01.17.nix
+++ b/pkgs/misc/cups/drivers/samsung/4.01.17.nix
@@ -74,7 +74,7 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Samsung's Linux printing drivers; includes binaries without source code";
-    homepage = http://www.samsung.com/;
+    homepage = "http://www.samsung.com/";
     license = licenses.unfree;
     platforms = platforms.linux;
     maintainers = with maintainers; [ joko ];
diff --git a/pkgs/misc/cups/drivers/splix/default.nix b/pkgs/misc/cups/drivers/splix/default.nix
index e227de086de..c65ca401d60 100644
--- a/pkgs/misc/cups/drivers/splix/default.nix
+++ b/pkgs/misc/cups/drivers/splix/default.nix
@@ -47,7 +47,7 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "CUPS drivers for SPL (Samsung Printer Language) printers";
-    homepage = http://splix.ap2c.org;
+    homepage = "http://splix.ap2c.org";
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ jfrankenau peti ];
diff --git a/pkgs/misc/cups/drivers/zj-58/default.nix b/pkgs/misc/cups/drivers/zj-58/default.nix
index 87a023af1ca..67df20df491 100644
--- a/pkgs/misc/cups/drivers/zj-58/default.nix
+++ b/pkgs/misc/cups/drivers/zj-58/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "CUPS filter for thermal printer Zjiang ZJ-58";
-    homepage = https://github.com/klirichek/zj-58;
+    homepage = "https://github.com/klirichek/zj-58";
     platforms = platforms.linux;
     maintainers = with maintainers; [ makefu ];
     license = licenses.bsd2;
diff --git a/pkgs/misc/cups/filters.nix b/pkgs/misc/cups/filters.nix
index 76f68e50750..217f0c7f0da 100644
--- a/pkgs/misc/cups/filters.nix
+++ b/pkgs/misc/cups/filters.nix
@@ -63,7 +63,7 @@ in stdenv.mkDerivation rec {
   doCheck = false; # fails 4 out of 6 tests
 
   meta = {
-    homepage = http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters;
+    homepage = "http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters";
     description = "Backends, filters, and other software that was once part of the core CUPS distribution but is no longer maintained by Apple Inc";
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/misc/documentation-highlighter/default.nix b/pkgs/misc/documentation-highlighter/default.nix
index a9fbcc178bb..72f1da6b0de 100644
--- a/pkgs/misc/documentation-highlighter/default.nix
+++ b/pkgs/misc/documentation-highlighter/default.nix
@@ -2,7 +2,7 @@
 runCommand "documentation-highlighter" {
   meta = {
     description = "Highlight.js sources for the Nix Ecosystem's documentation.";
-    homepage = https://highlightjs.org;
+    homepage = "https://highlightjs.org";
     license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.all;
     maintainers = [ stdenv.lib.maintainers.grahamc ];
diff --git a/pkgs/misc/doge/default.nix b/pkgs/misc/doge/default.nix
index 37acfbf4a8a..37a3b4be706 100644
--- a/pkgs/misc/doge/default.nix
+++ b/pkgs/misc/doge/default.nix
@@ -10,7 +10,7 @@ python3Packages.buildPythonPackage rec {
   };
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/thiderman/doge;
+    homepage = "https://github.com/thiderman/doge";
     description = "wow very terminal doge";
     license = licenses.mit;
     maintainers = with maintainers; [ Gonzih ];
diff --git a/pkgs/misc/drivers/epson-201106w/default.nix b/pkgs/misc/drivers/epson-201106w/default.nix
index 448bac92ae8..95eb59f7167 100644
--- a/pkgs/misc/drivers/epson-201106w/default.nix
+++ b/pkgs/misc/drivers/epson-201106w/default.nix
@@ -49,7 +49,7 @@ in
     '';
 
     meta = with stdenv.lib; {
-      homepage = https://www.openprinting.org/driver/epson-201106w;
+      homepage = "https://www.openprinting.org/driver/epson-201106w";
       description = "Epson printer driver (BX535WD, BX630FW, BX635FWD, ME940FW, NX530, NX635, NX635, SX535WD, WorkForce 545, WorkForce 645";
       longDescription = ''
         This software is a filter program used with the Common UNIX Printing
diff --git a/pkgs/misc/drivers/epson-workforce-635-nx625-series/default.nix b/pkgs/misc/drivers/epson-workforce-635-nx625-series/default.nix
index 0cc5537180b..e06a0c91162 100644
--- a/pkgs/misc/drivers/epson-workforce-635-nx625-series/default.nix
+++ b/pkgs/misc/drivers/epson-workforce-635-nx625-series/default.nix
@@ -94,7 +94,7 @@ in stdenv.mkDerivation rec {
           drivers = [ pkgs.${name} ];
         };
     '';
-    downloadPage = https://download.ebz.epson.net/dsc/du/02/DriverDownloadInfo.do?LG2=EN&CN2=&DSCMI=16857&DSCCHK=4334d3487503d7f916ccf5d58071b05b7687294f;
+    downloadPage = "https://download.ebz.epson.net/dsc/du/02/DriverDownloadInfo.do?LG2=EN&CN2=&DSCMI=16857&DSCCHK=4334d3487503d7f916ccf5d58071b05b7687294f";
     license = with lib.licenses; [ lgpl21 epson ];
     maintainers = [ lib.maintainers.jorsn ];
     platforms = [ "x86_64-linux" "i686-linux" ];
diff --git a/pkgs/misc/drivers/epson_201207w/default.nix b/pkgs/misc/drivers/epson_201207w/default.nix
index fc854c00796..6a9782715d2 100644
--- a/pkgs/misc/drivers/epson_201207w/default.nix
+++ b/pkgs/misc/drivers/epson_201207w/default.nix
@@ -47,7 +47,7 @@ in
     '';
 
     meta = with stdenv.lib; {
-      homepage = https://www.openprinting.org/driver/epson-201207w;
+      homepage = "https://www.openprinting.org/driver/epson-201207w";
       description = "Epson printer driver (L110, L210, L300, L350, L355, L550, L555)";
       longDescription = ''
         This software is a filter program used with the Common UNIX Printing
diff --git a/pkgs/misc/drivers/gutenprint/bin.nix b/pkgs/misc/drivers/gutenprint/bin.nix
index 6cf754192f8..4adb96e1299 100644
--- a/pkgs/misc/drivers/gutenprint/bin.nix
+++ b/pkgs/misc/drivers/gutenprint/bin.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
   name = "cups-gutenprint-binary-5.0.1";
 
   src = if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl {
-    url = https://www.openprinting.org/download/printdriver/debian/dists/lsb3.1/main/binary-amd64/gutenprint_5.0.1-1lsb3.1_amd64.deb;
+    url = "https://www.openprinting.org/download/printdriver/debian/dists/lsb3.1/main/binary-amd64/gutenprint_5.0.1-1lsb3.1_amd64.deb";
     sha256 = "0an5gba6r6v54r53s2gj2fjk8fzpl4lrksjas2333528b0k8gbbc";
   } else throw "TODO"; # get from openprint.com -> drivers -> gutenprint
 
diff --git a/pkgs/misc/drivers/gutenprint/default.nix b/pkgs/misc/drivers/gutenprint/default.nix
index 7c8750905d9..96c0968882d 100644
--- a/pkgs/misc/drivers/gutenprint/default.nix
+++ b/pkgs/misc/drivers/gutenprint/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Ghostscript and cups printer drivers";
-    homepage = https://sourceforge.net/projects/gimp-print/;
+    homepage = "https://sourceforge.net/projects/gimp-print/";
     license = licenses.gpl2;
     platforms = platforms.linux;
     isGutenprint = true;
diff --git a/pkgs/misc/drivers/hplip/3.16.11.nix b/pkgs/misc/drivers/hplip/3.16.11.nix
index 3b03c300db3..452c2c425c1 100644
--- a/pkgs/misc/drivers/hplip/3.16.11.nix
+++ b/pkgs/misc/drivers/hplip/3.16.11.nix
@@ -181,8 +181,8 @@ python2Packages.buildPythonApplication {
 
   meta = with stdenv.lib; {
     description = "Print, scan and fax HP drivers for Linux";
-    homepage = http://hplipopensource.com/;
-    downloadPage = https://sourceforge.net/projects/hplip/files/hplip/;
+    homepage = "http://hplipopensource.com/";
+    downloadPage = "https://sourceforge.net/projects/hplip/files/hplip/";
     license = if withPlugin
       then licenses.unfree
       else with licenses; [ mit bsd2 gpl2Plus ];
diff --git a/pkgs/misc/drivers/hplip/3.18.5.nix b/pkgs/misc/drivers/hplip/3.18.5.nix
index ab1794c1251..80cd39b9233 100644
--- a/pkgs/misc/drivers/hplip/3.18.5.nix
+++ b/pkgs/misc/drivers/hplip/3.18.5.nix
@@ -213,8 +213,8 @@ python2Packages.buildPythonApplication {
 
   meta = with stdenv.lib; {
     description = "Print, scan and fax HP drivers for Linux";
-    homepage = https://developers.hp.com/hp-linux-imaging-and-printing;
-    downloadPage = https://sourceforge.net/projects/hplip/files/hplip/;
+    homepage = "https://developers.hp.com/hp-linux-imaging-and-printing";
+    downloadPage = "https://sourceforge.net/projects/hplip/files/hplip/";
     license = if withPlugin
       then licenses.unfree
       else with licenses; [ mit bsd2 gpl2Plus ];
diff --git a/pkgs/misc/drivers/hplip/default.nix b/pkgs/misc/drivers/hplip/default.nix
index 4678442abd9..b1853e28589 100644
--- a/pkgs/misc/drivers/hplip/default.nix
+++ b/pkgs/misc/drivers/hplip/default.nix
@@ -220,8 +220,8 @@ python3Packages.buildPythonApplication {
 
   meta = with stdenv.lib; {
     description = "Print, scan and fax HP drivers for Linux";
-    homepage = https://developers.hp.com/hp-linux-imaging-and-printing;
-    downloadPage = https://sourceforge.net/projects/hplip/files/hplip/;
+    homepage = "https://developers.hp.com/hp-linux-imaging-and-printing";
+    downloadPage = "https://sourceforge.net/projects/hplip/files/hplip/";
     license = if withPlugin
       then licenses.unfree
       else with licenses; [ mit bsd2 gpl2Plus ];
diff --git a/pkgs/misc/drivers/m33-linux/default.nix b/pkgs/misc/drivers/m33-linux/default.nix
index 492488f675f..cb78bd3498a 100644
--- a/pkgs/misc/drivers/m33-linux/default.nix
+++ b/pkgs/misc/drivers/m33-linux/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/donovan6000/M3D-Linux;
+    homepage = "https://github.com/donovan6000/M3D-Linux";
     description = "A Linux program that can communicate with the Micro 3D printer";
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/pkgs/misc/drivers/moltengamepad/default.nix b/pkgs/misc/drivers/moltengamepad/default.nix
index 2dd32a93219..e5b3b5bab22 100644
--- a/pkgs/misc/drivers/moltengamepad/default.nix
+++ b/pkgs/misc/drivers/moltengamepad/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/jgeumlek/MoltenGamepad;
+    homepage = "https://github.com/jgeumlek/MoltenGamepad";
     description = "Flexible Linux input device translator, geared for gamepads";
     license = licenses.mit;
     maintainers = [ maintainers.ebzzry ];
diff --git a/pkgs/misc/drivers/postscript-lexmark/default.nix b/pkgs/misc/drivers/postscript-lexmark/default.nix
index cd322bf8fdb..74b7c68d38e 100644
--- a/pkgs/misc/drivers/postscript-lexmark/default.nix
+++ b/pkgs/misc/drivers/postscript-lexmark/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://www.openprinting.org/driver/Postscript-Lexmark/;
+    homepage = "http://www.openprinting.org/driver/Postscript-Lexmark/";
     description = "Lexmark Postscript Drivers";
     platforms = platforms.linux;
   };
diff --git a/pkgs/misc/drivers/sc-controller/default.nix b/pkgs/misc/drivers/sc-controller/default.nix
index b977b2c0c15..4de6e54cd5f 100644
--- a/pkgs/misc/drivers/sc-controller/default.nix
+++ b/pkgs/misc/drivers/sc-controller/default.nix
@@ -53,7 +53,7 @@ buildPythonApplication rec {
   '';
 
   meta = with lib; {
-    homepage    = https://github.com/kozec/sc-controller;
+    homepage    = "https://github.com/kozec/sc-controller";
     # donations: https://www.patreon.com/kozec
     description = "User-mode driver and GUI for Steam Controller and other controllers";
     license     = licenses.gpl2;
diff --git a/pkgs/misc/drivers/steamcontroller/default.nix b/pkgs/misc/drivers/steamcontroller/default.nix
index 4b19932450e..ca5607b5307 100644
--- a/pkgs/misc/drivers/steamcontroller/default.nix
+++ b/pkgs/misc/drivers/steamcontroller/default.nix
@@ -27,7 +27,7 @@ buildPythonApplication {
 
   meta = with stdenv.lib; {
     description = "A standalone Steam controller driver";
-    homepage    = https://github.com/ynsta/steamcontroller;
+    homepage    = "https://github.com/ynsta/steamcontroller";
     license     = licenses.mit;
     maintainers = with maintainers; [ rnhmjoj ];
     platforms   = platforms.linux;
diff --git a/pkgs/misc/drivers/sundtek/default.nix b/pkgs/misc/drivers/sundtek/default.nix
index 5b1641a098d..b94a0978284 100644
--- a/pkgs/misc/drivers/sundtek/default.nix
+++ b/pkgs/misc/drivers/sundtek/default.nix
@@ -46,6 +46,6 @@ in
       maintainers = [ maintainers.simonvandel ];
       platforms = platforms.unix;
       license = licenses.unfree;
-      homepage = https://support.sundtek.com/index.php/topic,1573.0.html;
+      homepage = "https://support.sundtek.com/index.php/topic,1573.0.html";
     };
   }
diff --git a/pkgs/misc/drivers/utsushi/default.nix b/pkgs/misc/drivers/utsushi/default.nix
index ad7659d060a..294bb8a0203 100644
--- a/pkgs/misc/drivers/utsushi/default.nix
+++ b/pkgs/misc/drivers/utsushi/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitLab, autoreconfHook, pkg-config, boost, gtkmm2
-, imagemagick, sane-backends, tesseract4, udev, libusb}:
+, imagemagick, sane-backends, tesseract4, udev, libusb1}:
 
 stdenv.mkDerivation rec {
   pname = "utsushi";
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     imagemagick
     sane-backends
     udev.dev
-    libusb.dev
+    libusb1.dev
   ];
 
   NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations -Wno-error=parentheses -Wno-error=unused-variable";
diff --git a/pkgs/misc/drivers/xboxdrv/default.nix b/pkgs/misc/drivers/xboxdrv/default.nix
index e2f2bcc2f24..eb0511b0c4e 100644
--- a/pkgs/misc/drivers/xboxdrv/default.nix
+++ b/pkgs/misc/drivers/xboxdrv/default.nix
@@ -13,12 +13,12 @@ in stdenv.mkDerivation {
   };
 
   makeFlags = [ "PREFIX=$(out)" ];
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ scons libX11 libusb1 boost glib dbus-glib ];
+  nativeBuildInputs = [ pkgconfig scons.py2 ];
+  buildInputs = [ libX11 libusb1 boost glib dbus-glib ];
   dontUseSconsInstall = true;
 
   meta = with stdenv.lib; {
-    homepage = https://pingus.seul.org/~grumbel/xboxdrv/;
+    homepage = "https://pingus.seul.org/~grumbel/xboxdrv/";
     description = "Xbox/Xbox360 (and more) gamepad driver for Linux that works in userspace";
     license = licenses.gpl3Plus;
     maintainers = [ ];
diff --git a/pkgs/misc/drivers/xow/default.nix b/pkgs/misc/drivers/xow/default.nix
new file mode 100644
index 00000000000..8702c480457
--- /dev/null
+++ b/pkgs/misc/drivers/xow/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, libusb1 }:
+
+stdenv.mkDerivation rec {
+  pname = "xow";
+  version = "0.4";
+
+  src = fetchFromGitHub {
+    owner = "medusalix";
+    repo = "xow";
+    rev = "v${version}";
+    sha256 = "1xkwcx2gqip9v2h3zjmrn7sgcck3midl5alhsmr3zivgdipamynv";
+  };
+
+  makeFlags = [
+    "BUILD=RELEASE"
+    "VERSION=${version}"
+    "BINDIR=${placeholder ''out''}/bin"
+    "UDEVDIR=${placeholder ''out''}/lib/udev/rules.d"
+    "MODLDIR=${placeholder ''out''}/lib/modules-load.d"
+    "MODPDIR=${placeholder ''out''}/lib/modprobe.d"
+    "SYSDDIR=${placeholder ''out''}/lib/systemd/system"
+  ];
+  enableParallelBuilding = true;
+  buildInputs = [ libusb1 ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/medusalix/xow";
+    description = "Linux driver for the Xbox One wireless dongle";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.jansol ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/misc/drivers/xp-pen-g430/default.nix b/pkgs/misc/drivers/xp-pen-g430/default.nix
new file mode 100644
index 00000000000..c382239f26a
--- /dev/null
+++ b/pkgs/misc/drivers/xp-pen-g430/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchzip, autoPatchelfHook, libusb1, libX11, libXtst, qtbase, wrapQtAppsHook, libglvnd }:
+stdenv.mkDerivation rec {
+  pname = "xp-pen-G430";
+  version = "20190820";
+
+  src = fetchzip {
+    url = "https://download01.xp-pen.com/file/2019/08/Linux%20Beta%20Driver(${version}).zip";
+    sha256 = "091kfqxxj90pdmwncgfl8ldi70pdhwryh3cls30654983m8cgnby";
+  } + /Linux_Pentablet_V1.3.0.0.tar.gz;
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+    wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    libusb1
+    libX11
+    libXtst
+    qtbase
+    libglvnd
+    stdenv.cc.cc.lib
+  ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp {Pentablet_Driver,config.xml} "$out"/bin
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://www.xp-pen.com/download-46.html";
+    description = "Driver for the XP-PEN G430 drawing tablet";
+    license = licenses.unfree;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ ivar ];
+  };
+}
diff --git a/pkgs/misc/drivers/xwiimote/default.nix b/pkgs/misc/drivers/xwiimote/default.nix
index a21584afa4c..3b7b42990af 100644
--- a/pkgs/misc/drivers/xwiimote/default.nix
+++ b/pkgs/misc/drivers/xwiimote/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   configureFlags = [ "--with-doxygen=no" ];
 
   meta = {
-    homepage = http://dvdhrm.github.io/xwiimote;
+    homepage = "http://dvdhrm.github.io/xwiimote";
     description = "Userspace utilities to control connected Nintendo Wii Remotes";
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.mit;
diff --git a/pkgs/misc/emulators/atari++/default.nix b/pkgs/misc/emulators/atari++/default.nix
index 2e6ccd0a491..768c7ae7098 100644
--- a/pkgs/misc/emulators/atari++/default.nix
+++ b/pkgs/misc/emulators/atari++/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec{
   '';
 
   meta = {
-    homepage = http://www.xl-project.com/;
+    homepage = "http://www.xl-project.com/";
     description = "An enhanced, cycle-accurated Atari emulator";
     longDescription = ''
       The Atari++ Emulator is a Unix based emulator of the Atari eight
diff --git a/pkgs/misc/emulators/atari800/default.nix b/pkgs/misc/emulators/atari800/default.nix
index 38dc54ea9d7..bb6323d18e0 100644
--- a/pkgs/misc/emulators/atari800/default.nix
+++ b/pkgs/misc/emulators/atari800/default.nix
@@ -1,16 +1,20 @@
-{ stdenv, fetchurl
+{ stdenv, fetchFromGitHub, autoreconfHook
 , unzip, zlib, SDL, readline, libGLU, libGL, libX11 }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec{
   pname = "atari800";
-  version = "4.0.0";
+  version = "4.2.0";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/atari800/atari800/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1dcynsf8i52y7zyg62bkbhl3rdd22ss95zs2s9jm4y5jvn4vks88";
+  src = fetchFromGitHub {
+    owner = "atari800";
+    repo = "atari800";
+    rev = "ATARI800_${replaceChars ["."] ["_"] version}";
+    sha256 = "15l08clqqayi9izrgsz9achan6gl4x57wqsc8mad3yn0xayzz3qy";
   };
 
+  nativeBuildInputs = [ autoreconfHook ];
+
   buildInputs = [ unzip zlib SDL readline libGLU libGL libX11 ];
 
   configureFlags = [
@@ -23,10 +27,8 @@ stdenv.mkDerivation rec{
     "--enable-riodevice"
   ];
 
-  preConfigure = "cd src";
-
   meta = {
-    homepage = http://atari800.sourceforge.net/;
+    homepage = "https://atari800.github.io/";
     description = "An Atari 8-bit emulator";
     longDescription = ''
       Atari800 is the emulator of Atari 8-bit computer systems and
diff --git a/pkgs/misc/emulators/attract-mode/default.nix b/pkgs/misc/emulators/attract-mode/default.nix
index 6c47109fb65..18c78c84d6c 100644
--- a/pkgs/misc/emulators/attract-mode/default.nix
+++ b/pkgs/misc/emulators/attract-mode/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A frontend for arcade cabinets and media PCs";
-    homepage = http://attractmode.org;
+    homepage = "http://attractmode.org";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ hrdinka ];
     platforms = with platforms; linux;
diff --git a/pkgs/misc/emulators/blastem/default.nix b/pkgs/misc/emulators/blastem/default.nix
index 0d4c7ab7216..f4cef93141d 100644
--- a/pkgs/misc/emulators/blastem/default.nix
+++ b/pkgs/misc/emulators/blastem/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    homepage = https://www.retrodev.com/blastem/;
+    homepage = "https://www.retrodev.com/blastem/";
     description = "The fast and accurate Genesis emulator";
     maintainers = with stdenv.lib.maintainers; [ puffnfresh ];
     license = stdenv.lib.licenses.gpl3;
diff --git a/pkgs/misc/emulators/bsod/default.nix b/pkgs/misc/emulators/bsod/default.nix
index 8575d654feb..56b85227cda 100644
--- a/pkgs/misc/emulators/bsod/default.nix
+++ b/pkgs/misc/emulators/bsod/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "bsod-0.1";
 
   src = fetchurl {
-    url = https://www.vanheusden.com/bsod/bsod-0.1.tgz;
+    url = "https://www.vanheusden.com/bsod/bsod-0.1.tgz";
     sha256 = "0hqwacazyq5rhc04j8w8w0j0dgb6ca8k66c9lxf6bsyi6wvbhvmd";
   };
 
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
       microsoft windows experience.  Bsod displays the famous windows xp
       blue screen of death on the console.  Errors and drivers causing the
       error are selected randomly from a large set of examples.";
-    homepage = http://www.vanheusden.com/bsod/;
+    homepage = "http://www.vanheusden.com/bsod/";
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.antono ];
diff --git a/pkgs/misc/emulators/ccemux/default.nix b/pkgs/misc/emulators/ccemux/default.nix
index 12777032870..fc5d4c81388 100644
--- a/pkgs/misc/emulators/ccemux/default.nix
+++ b/pkgs/misc/emulators/ccemux/default.nix
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A modular ComputerCraft emulator";
-    homepage = https://github.com/CCEmuX/CCEmuX;
+    homepage = "https://github.com/CCEmuX/CCEmuX";
     license = licenses.mit;
     maintainers = with maintainers; [ CrazedProgrammer ];
   };
diff --git a/pkgs/misc/emulators/cdemu/base.nix b/pkgs/misc/emulators/cdemu/base.nix
index e587151d3e7..f493faaac54 100644
--- a/pkgs/misc/emulators/cdemu/base.nix
+++ b/pkgs/misc/emulators/cdemu/base.nix
@@ -29,7 +29,7 @@ in stdenv.mkDerivation ({
 
       Optical media emulated by CDemu can be mounted within Linux. Automounting is also allowed.
     '';
-    homepage = http://cdemu.sourceforge.net/;
+    homepage = "http://cdemu.sourceforge.net/";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with stdenv.lib.maintainers; [ bendlas ];
diff --git a/pkgs/misc/emulators/cdemu/vhba.nix b/pkgs/misc/emulators/cdemu/vhba.nix
index df25fb96eb1..9723e53a8fd 100644
--- a/pkgs/misc/emulators/cdemu/vhba.nix
+++ b/pkgs/misc/emulators/cdemu/vhba.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Provides a Virtual (SCSI) HBA";
-    homepage = http://cdemu.sourceforge.net/about/vhba/;
+    homepage = "http://cdemu.sourceforge.net/about/vhba/";
     platforms = platforms.linux;
     license = licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [ bendlas ];
diff --git a/pkgs/misc/emulators/citra/default.nix b/pkgs/misc/emulators/citra/default.nix
index ca6ad37b5aa..efe4770a7b0 100644
--- a/pkgs/misc/emulators/citra/default.nix
+++ b/pkgs/misc/emulators/citra/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchgit, cmake, SDL2, qtbase, qtmultimedia, boost }:
+{ stdenv, mkDerivation, lib, fetchgit, cmake, SDL2, qtbase, qtmultimedia, boost }:
 
-stdenv.mkDerivation {
+mkDerivation {
   pname = "citra";
-  version = "2019-10-05";
+  version = "2020-03-21";
 
   # Submodules
   src = fetchgit {
     url = "https://github.com/citra-emu/citra";
-    rev = "35690e3ac7a340d941d3bf56080cf5aa6187c5c3";
-    sha256 = "11a4mdjabn3qrh0nn4pjl5fxs9nhf1k27wd486csfx88q2q9jvq8";
+    rev = "8722b970c52f2c0d8e82561477edb62a53ae9dbb";
+    sha256 = "0c1zn1f84h4f6n6p0aqz905yvv5qpdmkj2z58yla6bfgbzabfyrj";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/misc/emulators/darcnes/default.nix b/pkgs/misc/emulators/darcnes/default.nix
index bdec34e396f..3ea98c571e8 100644
--- a/pkgs/misc/emulators/darcnes/default.nix
+++ b/pkgs/misc/emulators/darcnes/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   installPhase = "install -Dt $out/bin darcnes";
 
   meta = {
-    homepage = https://web.archive.org/web/20130502171725/http://www.dridus.com/~nyef/darcnes/;
+    homepage = "https://web.archive.org/web/20130502171725/http://www.dridus.com/~nyef/darcnes/";
     description = "Sega Master System, Game Gear, SG-1000, NES, ColecoVision and Apple II emulator";
     # Prohibited commercial use, credit required.
     license = stdenv.lib.licenses.free;
diff --git a/pkgs/misc/emulators/desmume/default.nix b/pkgs/misc/emulators/desmume/default.nix
index d5d63cc2694..27c1a2cb9c3 100644
--- a/pkgs/misc/emulators/desmume/default.nix
+++ b/pkgs/misc/emulators/desmume/default.nix
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
       roms. DeSmuME is also able to emulate nearly all of the
       commercial nds rom titles which other DS Emulators aren't.
     '';
-    homepage = http://www.desmume.com ;
+    homepage = "http://www.desmume.com";
     license = licenses.gpl1Plus;
     maintainers = [ maintainers.AndersonTorres ];
     platforms = platforms.linux;
diff --git a/pkgs/misc/emulators/dlx/default.nix b/pkgs/misc/emulators/dlx/default.nix
index ad111a61514..215f2ee46f9 100644
--- a/pkgs/misc/emulators/dlx/default.nix
+++ b/pkgs/misc/emulators/dlx/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    homepage = http://www.davidviner.com/dlx.php;
+    homepage = "http://www.davidviner.com/dlx.php";
     description = "DLX Simulator";
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/misc/emulators/dolphin-emu/default.nix b/pkgs/misc/emulators/dolphin-emu/default.nix
index cc49ef2aa1d..b460aa7a485 100644
--- a/pkgs/misc/emulators/dolphin-emu/default.nix
+++ b/pkgs/misc/emulators/dolphin-emu/default.nix
@@ -1,17 +1,44 @@
-{ stdenv, lib, fetchpatch, pkgconfig, cmake, bluez, ffmpeg, libao, gtk2, glib
-, libGLU, libGL , gettext, libpthreadstubs, libXrandr, libXext, readline
-, openal , libXdmcp, portaudio, fetchFromGitHub, libusb, libevdev
-, wxGTK30, soundtouch, miniupnpc, mbedtls, curl, lzo, sfml
-, libpulseaudio ? null }:
+{ stdenv
+, lib
+, fetchpatch
+, pkgconfig
+, cmake
+, bluez
+, ffmpeg
+, libao
+, gtk2
+, glib
+, libGLU
+, libGL
+, gettext
+, libpthreadstubs
+, libXrandr
+, libXext
+, readline
+, openal
+, libXdmcp
+, portaudio
+, fetchFromGitHub
+, libusb1
+, libevdev
+, wxGTK30
+, soundtouch
+, miniupnpc
+, mbedtls
+, curl
+, lzo
+, sfml
+, libpulseaudio ? null
+}:
 
 stdenv.mkDerivation rec {
   pname = "dolphin-emu";
   version = "5.0";
 
   src = fetchFromGitHub {
-    owner  = "dolphin-emu";
-    repo   = "dolphin";
-    rev    = version;
+    owner = "dolphin-emu";
+    repo = "dolphin";
+    rev = version;
     sha256 = "07mlfnh0hwvk6xarcg315x7z2j0qbg9g7cm040df9c8psiahc3g6";
   };
 
@@ -44,15 +71,45 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake bluez ffmpeg libao libGLU libGL gtk2 glib
-                  gettext libpthreadstubs libXrandr libXext readline openal
-                  libevdev libXdmcp portaudio libusb libpulseaudio
-                  libevdev libXdmcp portaudio libusb libpulseaudio
-                  wxGTK30 soundtouch miniupnpc mbedtls curl lzo sfml ];
+  nativeBuildInputs = [
+    pkgconfig
+    cmake
+  ];
+
+  buildInputs = [
+    bluez
+    ffmpeg
+    libao
+    libGLU
+    libGL
+    gtk2
+    glib
+    gettext
+    libpthreadstubs
+    libXrandr
+    libXext
+    readline
+    openal
+    libevdev
+    libXdmcp
+    portaudio
+    libpulseaudio
+    libevdev
+    libXdmcp
+    portaudio
+    libusb1
+    libpulseaudio
+    wxGTK30
+    soundtouch
+    miniupnpc
+    mbedtls
+    curl
+    lzo
+    sfml
+  ];
 
   meta = with lib; {
-    homepage = https://dolphin-emu.org/;
+    homepage = "https://dolphin-emu.org/";
     description = "Gamecube/Wii/Triforce emulator for x86_64 and ARMv8";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ MP2E ashkitten ];
diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix
index e6e19e81242..aa77356600b 100644
--- a/pkgs/misc/emulators/dolphin-emu/master.nix
+++ b/pkgs/misc/emulators/dolphin-emu/master.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, makeDesktopItem, pkgconfig, cmake
 , wrapQtAppsHook, qtbase, bluez, ffmpeg, libao, libGLU, libGL, pcre, gettext
-, libXrandr, libusb, lzo, libpthreadstubs, libXext, libXxf86vm, libXinerama
+, libXrandr, libusb1, lzo, libpthreadstubs, libXext, libXxf86vm, libXinerama
 , libSM, libXdmcp, readline, openal, udev, libevdev, portaudio, curl, alsaLib
 , miniupnpc, enet, mbedtls, soundtouch, sfml
 , vulkan-loader ? null, libpulseaudio ? null
@@ -21,13 +21,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "dolphin-emu";
-  version = "5.0-11608";
+  version = "5.0-11824";
 
   src = fetchFromGitHub {
     owner = "dolphin-emu";
     repo = "dolphin";
-    rev = "69ee15e5ef369d51681540e6714f02554e3bd8a6";
-    sha256 = "1svi9mnddhjcv64xh3y9l68k3rix7wimq8b0mqf5hp7qrda07lx8";
+    rev = "1b97f081b8eff9012132a4124537968bdb0e03e0";
+    sha256 = "1v96hcn34040vjsw83k8p0r0nb8rrdcz80h4ngirxzm36b3l7w6m";
   };
 
   enableParallelBuilding = true;
@@ -37,7 +37,7 @@ in stdenv.mkDerivation rec {
   buildInputs = [
     curl ffmpeg libao libGLU libGL pcre gettext libpthreadstubs libpulseaudio
     libXrandr libXext libXxf86vm libXinerama libSM readline openal libXdmcp lzo
-    portaudio libusb libpng hidapi miniupnpc enet mbedtls soundtouch sfml
+    portaudio libusb1 libpng hidapi miniupnpc enet mbedtls soundtouch sfml
     qtbase
   ] ++ lib.optionals stdenv.isLinux [
     bluez udev libevdev alsaLib vulkan-loader
diff --git a/pkgs/misc/emulators/dosbox/default.nix b/pkgs/misc/emulators/dosbox/default.nix
index 5b770a6471a..b70f0e058c0 100644
--- a/pkgs/misc/emulators/dosbox/default.nix
+++ b/pkgs/misc/emulators/dosbox/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with lib; {
-    homepage = http://www.dosbox.com/;
+    homepage = "http://www.dosbox.com/";
     description = "A DOS emulator";
     platforms = platforms.unix;
     maintainers = with maintainers; [ matthewbauer ];
diff --git a/pkgs/misc/emulators/emulationstation/default.nix b/pkgs/misc/emulators/emulationstation/default.nix
index 722f6b25429..af83d4b9f34 100644
--- a/pkgs/misc/emulators/emulationstation/default.nix
+++ b/pkgs/misc/emulators/emulationstation/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "A flexible emulator front-end supporting keyboardless navigation and custom system themes";
-    homepage = https://emulationstation.org;
+    homepage = "https://emulationstation.org";
     maintainers = [ stdenv.lib.maintainers.edwtjo ];
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/misc/emulators/epsxe/default.nix b/pkgs/misc/emulators/epsxe/default.nix
index 81202008db1..493cf4c2628 100644
--- a/pkgs/misc/emulators/epsxe/default.nix
+++ b/pkgs/misc/emulators/epsxe/default.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = http://epsxe.com/;
+    homepage = "http://epsxe.com/";
     description = "Enhanced PSX (PlayStation 1) emulator";
     license = licenses.unfree;
     maintainers = with maintainers; [ yegortimoshenko ];
diff --git a/pkgs/misc/emulators/fakenes/default.nix b/pkgs/misc/emulators/fakenes/default.nix
index 704cef52e5e..d7c8a185a09 100644
--- a/pkgs/misc/emulators/fakenes/default.nix
+++ b/pkgs/misc/emulators/fakenes/default.nix
@@ -4,7 +4,7 @@
 stdenv.mkDerivation {
   name = "fakenes-0.5.9b3";
   src = fetchurl {
-    url = mirror://sourceforge/fakenes/fakenes-0.5.9-beta3.tar.gz;
+    url = "mirror://sourceforge/fakenes/fakenes-0.5.9-beta3.tar.gz";
     sha256 = "026h67s4pzc1vma59pmzk02iy379255qbai2q74wln9bxqcpniy4";
   };
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
   patches = [ ./build.patch ];
 
   meta = {
-    homepage = http://fakenes.sourceforge.net/;
+    homepage = "http://fakenes.sourceforge.net/";
     license = stdenv.lib.licenses.gpl2Plus;
     description = "Portable Open Source NES Emulator";
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/misc/emulators/fceux/default.nix b/pkgs/misc/emulators/fceux/default.nix
index 58a6a1dd442..0d4b4cd3576 100644
--- a/pkgs/misc/emulators/fceux/default.nix
+++ b/pkgs/misc/emulators/fceux/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation {
     description = "A Nintendo Entertainment System (NES) Emulator";
     license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.scubed2 ];
-    homepage = http://www.fceux.com/;
+    homepage = "http://www.fceux.com/";
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/misc/emulators/firebird-emu/default.nix b/pkgs/misc/emulators/firebird-emu/default.nix
index 079af05e794..583e692e133 100644
--- a/pkgs/misc/emulators/firebird-emu/default.nix
+++ b/pkgs/misc/emulators/firebird-emu/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = https://github.com/nspire-emus/firebird;
+    homepage = "https://github.com/nspire-emus/firebird";
     description = "Third-party multi-platform emulator of the ARM-based TI-Nspireâ„¢ calculators";
     license = stdenv.lib.licenses.gpl3;
     maintainers = with stdenv.lib.maintainers; [ pneumaticat ];
diff --git a/pkgs/misc/emulators/fuse-emulator/default.nix b/pkgs/misc/emulators/fuse-emulator/default.nix
index a3a379eb2cf..e2334a62a13 100644
--- a/pkgs/misc/emulators/fuse-emulator/default.nix
+++ b/pkgs/misc/emulators/fuse-emulator/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with lib; {
-    homepage = http://fuse-emulator.sourceforge.net/;
+    homepage = "http://fuse-emulator.sourceforge.net/";
     description = "ZX Spectrum emulator";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/misc/emulators/gens-gs/default.nix b/pkgs/misc/emulators/gens-gs/default.nix
index 4120ec7ba6a..a9449808d52 100644
--- a/pkgs/misc/emulators/gens-gs/default.nix
+++ b/pkgs/misc/emulators/gens-gs/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "gens-gs-7";
 
   src = fetchurl {
-    url = http://retrocdn.net/images/6/6d/Gens-gs-r7.tar.gz;
+    url = "http://retrocdn.net/images/6/6d/Gens-gs-r7.tar.gz";
     sha256 = "1ha5s6d3y7s9aq9f4zmn9p88109c3mrj36z2w68jhiw5xrxws833";
   };
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
   NIX_CFLAGS_COMPILE = "-UGTK_DISABLE_DEPRECATED -UGSEAL_ENABLE";
 
   meta = with stdenv.lib; {
-    homepage = https://segaretro.org/Gens/GS;
+    homepage = "https://segaretro.org/Gens/GS";
     description = "A Genesis/Mega Drive emulator";
     platforms = [ "i686-linux" ];
     license = licenses.gpl2Plus;
diff --git a/pkgs/misc/emulators/gxemul/default.nix b/pkgs/misc/emulators/gxemul/default.nix
index 04c5b441f01..e742fde90ac 100644
--- a/pkgs/misc/emulators/gxemul/default.nix
+++ b/pkgs/misc/emulators/gxemul/default.nix
@@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
       and serial controllers. The emulation is working well enough to
       allow several unmodified "guest" operating systems to run.
     '';
-    homepage = http://gxemul.sourceforge.net/;
+    homepage = "http://gxemul.sourceforge.net/";
   };
 }
diff --git a/pkgs/misc/emulators/hatari/default.nix b/pkgs/misc/emulators/hatari/default.nix
index 278d8d8dc5f..db1a6664c54 100644
--- a/pkgs/misc/emulators/hatari/default.nix
+++ b/pkgs/misc/emulators/hatari/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ zlib SDL cmake ];
 
   meta = {
-    homepage = http://hatari.tuxfamily.org/;
+    homepage = "http://hatari.tuxfamily.org/";
     description = "Atari ST/STE/TT/Falcon emulator";
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/misc/emulators/higan/default.nix b/pkgs/misc/emulators/higan/default.nix
index c1e64d26b47..f77ce6635f2 100644
--- a/pkgs/misc/emulators/higan/default.nix
+++ b/pkgs/misc/emulators/higan/default.nix
@@ -1,8 +1,9 @@
 { stdenv, fetchurl
-, p7zip, pkgconfig
+, p7zip, pkgconfig, libicns
 , libX11, libXv
 , udev
 , libGLU, libGL, SDL
+, Carbon, Cocoa, OpenGL, OpenAL
 , libao, openal, libpulseaudio
 , gtk2, gtksourceview
 , runtimeShell }:
@@ -21,11 +22,24 @@ stdenv.mkDerivation rec {
   };
 
   patches = [ ./0001-change-flags.diff ];
-  postPatch = "sed '1i#include <cmath>' -i higan/fc/ppu/ppu.cpp";
+  postPatch = ''
+    sed '1i#include <cmath>' -i higan/fc/ppu/ppu.cpp
+
+    for file in icarus/GNUmakefile higan/target-tomoko/GNUmakefile; do
+      substituteInPlace "$file" \
+        --replace 'sips -s format icns data/$(name).png --out out/$(name).app/Contents/Resources/$(name).icns' \
+                  'png2icns out/$(name).app/Contents/Resources/$(name).icns data/$(name).png'
+    done
+  '';
+
+  nativeBuildInputs = [ p7zip pkgconfig ]
+    ++ optional stdenv.isDarwin [ libicns ];
 
   buildInputs =
-  [ p7zip pkgconfig libX11 libXv udev libGLU libGL
-    SDL libao openal libpulseaudio gtk2 gtksourceview ];
+    [ SDL libao ]
+    ++ optionals stdenv.isLinux [ openal libpulseaudio udev libX11 libXv libGLU libGL gtk2 gtksourceview ]
+    ++ optionals stdenv.isDarwin [ Carbon Cocoa OpenGL OpenAL ]
+    ;
 
   unpackPhase = ''
     7z x $src
@@ -38,27 +52,36 @@ stdenv.mkDerivation rec {
   '';
 
   # Now the cheats file will be distributed separately
-  installPhase = ''
-    install -dm 755 $out/bin $out/share/applications $out/share/higan $out/share/pixmaps
-    install -m 755 icarus/out/icarus $out/bin/
-    install -m 755 higan/out/higan $out/bin/
-    install -m 644 higan/data/higan.desktop $out/share/applications/
-    install -m 644 higan/data/higan.png $out/share/pixmaps/higan-icon.png
-    install -m 644 higan/resource/logo/higan.png $out/share/pixmaps/higan-logo.png
+  installPhase = (if !stdenv.isDarwin then ''
+    mkdir -p "$out"/bin "$out"/share/applications "$out"/share/pixmaps
+    install -m 755 icarus/out/icarus "$out"/bin/
+    install -m 755 higan/out/higan "$out"/bin/
+    install -m 644 higan/data/higan.desktop "$out"/share/applications/
+    install -m 644 higan/data/higan.png "$out"/share/pixmaps/higan-icon.png
+    install -m 644 higan/resource/logo/higan.png "$out"/share/pixmaps/higan-logo.png
+  '' else ''
+    mkdir "$out"
+    mv higan/out/higan.app "$out"/
+    mv icarus/out/icarus.app "$out"/
+  '') + ''
+    mkdir -p  "$out"/share/higan
     cp --recursive --no-dereference --preserve='links' --no-preserve='ownership' \
-      higan/systems/* $out/share/higan/
+      higan/systems/* "$out"/share/higan/
   '';
 
-  fixupPhase = ''
+  fixupPhase = let
+    dest = if !stdenv.isDarwin then "\\$HOME/.local/share/higan" else "\\$HOME/Library/Application Support/higan";
+  in ''
     # A dirty workaround, suggested by @cpages:
     # we create a first-run script to populate
     # the local $HOME with all the auxiliary
     # stuff needed by higan at runtime
 
+    mkdir -p "$out"/bin
     cat <<EOF > $out/bin/higan-init.sh
     #!${runtimeShell}
 
-    cp --recursive --update $out/share/higan/*.sys \$HOME/.local/share/higan/
+    cp --recursive --update $out/share/higan/*.sys "${dest}"/
 
     EOF
 
@@ -77,7 +100,7 @@ stdenv.mkDerivation rec {
         - NEC's PC Engine, SuperGrafx;
         - Bandai's WonderSwan, WonderSwan Color.
     '';
-    homepage = https://byuu.org/emulation/higan/;
+    homepage = "https://byuu.org/emulation/higan/";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = with platforms; unix;
diff --git a/pkgs/misc/emulators/kega-fusion/default.nix b/pkgs/misc/emulators/kega-fusion/default.nix
index da6a7c8bf2f..0b6fb0dea54 100644
--- a/pkgs/misc/emulators/kega-fusion/default.nix
+++ b/pkgs/misc/emulators/kega-fusion/default.nix
@@ -70,7 +70,7 @@ in stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "Sega SG1000, SC3000, SF7000, Master System, Game Gear, Genesis/Megadrive, SVP, Pico, SegaCD/MegaCD and 32X emulator";
-    homepage = https://www.carpeludum.com/kega-fusion/;
+    homepage = "https://www.carpeludum.com/kega-fusion/";
     maintainers = with maintainers; [ abbradar ];
     license = licenses.unfreeRedistributable;
     platforms = [ "i686-linux" ];
diff --git a/pkgs/misc/emulators/libdsk/default.nix b/pkgs/misc/emulators/libdsk/default.nix
index cb64c30be49..6a2f94e77e6 100644
--- a/pkgs/misc/emulators/libdsk/default.nix
+++ b/pkgs/misc/emulators/libdsk/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A library for accessing discs and disc image files";
-    homepage = http://www.seasip.info/Unix/LibDsk/;
+    homepage = "http://www.seasip.info/Unix/LibDsk/";
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.genesis ];
     platforms = platforms.linux;
diff --git a/pkgs/misc/emulators/mame/default.nix b/pkgs/misc/emulators/mame/default.nix
index a0455b88bec..9b2204869b2 100644
--- a/pkgs/misc/emulators/mame/default.nix
+++ b/pkgs/misc/emulators/mame/default.nix
@@ -1,14 +1,17 @@
 { stdenv, mkDerivation, fetchFromGitHub, makeDesktopItem, makeWrapper
 , python, pkgconfig, SDL2, SDL2_ttf, alsaLib, which, qtbase, libXinerama
+, libpcap, CoreAudioKit, ForceFeedback
 , installShellFiles }:
 
+with stdenv;
+
 let
   majorVersion = "0";
-  minorVersion = "218";
+  minorVersion = "219";
 
   desktopItem = makeDesktopItem {
     name = "MAME";
-    exec = "mame${stdenv.lib.optionalString stdenv.is64bit "64"}";
+    exec = "mame${lib.optionalString stdenv.is64bit "64"}";
     desktopName = "MAME";
     genericName = "MAME is a multi-purpose emulation framework";
     categories = "System;Emulator;";
@@ -23,17 +26,26 @@ in mkDerivation {
     owner = "mamedev";
     repo = "mame";
     rev = "mame${majorVersion}${minorVersion}";
-    sha256 = "11qschyxhi45pbpf9q3k71kybqxmcfhjml8axqpi43sv4q2ack6q";
+    sha256 = "048ar1j2vsrvqqc3spy9qcch2lbxn0ycd9lv4ig5wfnvjkdjdvgr";
   };
 
   hardeningDisable = [ "fortify" ];
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=maybe-uninitialized" ];
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=maybe-uninitialized" "-Wno-error=missing-braces" ];
 
-  makeFlags = [ "TOOLS=1" ];
+  makeFlags = [
+    "TOOLS=1"
+    "USE_LIBSDL=1"
+  ]
+  ++ lib.optionals stdenv.cc.isClang [ "CC=clang" "CXX=clang++" ]
+  ;
 
   dontWrapQtApps = true;
 
-  buildInputs = [ SDL2 SDL2_ttf alsaLib qtbase libXinerama ];
+  buildInputs =
+    [ SDL2 SDL2_ttf qtbase libXinerama ]
+    ++ lib.optional stdenv.isLinux alsaLib
+    ++ lib.optionals stdenv.isDarwin [ libpcap CoreAudioKit ForceFeedback ]
+    ;
   nativeBuildInputs = [ python pkgconfig which makeWrapper installShellFiles ];
 
   # by default MAME assumes that paths with stock resources
@@ -58,16 +70,18 @@ in mkDerivation {
     installManPage ${dest}/docs/man/*.1 ${dest}/docs/man/*.6
 
     mv artwork plugins samples ${dest}
-
+  '' + lib.optionalString stdenv.isLinux ''
     mkdir -p $out/share
     ln -s ${desktopItem}/share/applications $out/share
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Is a multi-purpose emulation framework";
-    homepage = https://www.mamedev.org/;
+    homepage = "https://www.mamedev.org/";
     license = with licenses; [ bsd3 gpl2Plus ];
-    platforms = [ "x86_64-linux" "i686-linux" ];
+    platforms = platforms.unix;
+    # makefile needs fixes for install target
+    badPlatforms = [ "aarch64-linux" ];
     maintainers = with maintainers; [ gnidorah ];
   };
 }
diff --git a/pkgs/misc/emulators/mednafen/default.nix b/pkgs/misc/emulators/mednafen/default.nix
index 777c9f043f4..feedfc2603e 100644
--- a/pkgs/misc/emulators/mednafen/default.nix
+++ b/pkgs/misc/emulators/mednafen/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mednafen";
-  version = "1.22.2";
+  version = "1.24.1";
 
   src = fetchurl {
     url = "https://mednafen.github.io/releases/files/${pname}-${version}.tar.xz";
-    sha256 = "159gvzrf4as1fp74czzc14vamhd6s3hlnvwglfgdd5j6d6n37m7s";
+    sha256 = "1rszcy5lgfrw0f9b62sd69kgz1xziki3d55vpqh6k9jdmwzxyym4";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/misc/emulators/mgba/default.nix b/pkgs/misc/emulators/mgba/default.nix
index 59773764661..5611b344cb1 100644
--- a/pkgs/misc/emulators/mgba/default.nix
+++ b/pkgs/misc/emulators/mgba/default.nix
@@ -37,7 +37,7 @@ in stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://mgba.io;
+    homepage = "https://mgba.io";
     description = "A modern GBA emulator with a focus on accuracy";
 
     longDescription = ''
diff --git a/pkgs/misc/emulators/mupen64plus/default.nix b/pkgs/misc/emulators/mupen64plus/default.nix
index ee3aab1834a..621559627a7 100644
--- a/pkgs/misc/emulators/mupen64plus/default.nix
+++ b/pkgs/misc/emulators/mupen64plus/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "A Nintendo 64 Emulator";
     license = licenses.gpl2Plus;
-    homepage = http://www.mupen64plus.org/;
+    homepage = "http://www.mupen64plus.org/";
     maintainers = [ maintainers.sander ];
     platforms = [ "x86_64-linux" ];
   };
diff --git a/pkgs/misc/emulators/nestopia/default.nix b/pkgs/misc/emulators/nestopia/default.nix
index 20c7c39312a..5050df007f6 100644
--- a/pkgs/misc/emulators/nestopia/default.nix
+++ b/pkgs/misc/emulators/nestopia/default.nix
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = {
-    homepage = http://0ldsk00l.ca/nestopia/;
+    homepage = "http://0ldsk00l.ca/nestopia/";
     description = "NES emulator with a focus on accuracy";
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/misc/emulators/openmsx/default.nix b/pkgs/misc/emulators/openmsx/default.nix
index 6ac6f93750e..68b464f4d35 100644
--- a/pkgs/misc/emulators/openmsx/default.nix
+++ b/pkgs/misc/emulators/openmsx/default.nix
@@ -6,16 +6,17 @@
 , freetype, tcl, zlib
 }:
 
-stdenv.mkDerivation {
+with stdenv.lib;
+stdenv.mkDerivation rec {
 
   pname = "openmsx";
-  version = "git-2017-11-02";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "openMSX";
     repo = "openMSX";
-    rev = "eeb74206ae347a3b17e9b99f91f2b4682c5db22c";
-    sha256 = "170amj7k6wjhwx6psbplqljvckvhxxbv3aw72jrdxl1fb8zlnq3s";
+    rev = "RELEASE_0_15_0";
+    sha256 = "1lv5kdw0812mkf7k20z2djzk0pbs792xq2mibbnz9rfjf02whi7l";
     fetchSubmodules = true;
   };
 
@@ -35,13 +36,13 @@ stdenv.mkDerivation {
   # for providing support to Nixpkgs :)
   TCL_CONFIG="${tcl}/lib/";
 
-  meta = with stdenv.lib; {
+  meta = {
     description = "A MSX emulator";
     longDescription = ''
       OpenMSX is an emulator for the MSX home computer system. Its goal is
       to emulate all aspects of the MSX with 100% accuracy.
     '';
-    homepage = https://openmsx.org;
+    homepage = "https://openmsx.org";
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/misc/emulators/pcsxr/default.nix b/pkgs/misc/emulators/pcsxr/default.nix
index 1035061d057..ae608f56312 100644
--- a/pkgs/misc/emulators/pcsxr/default.nix
+++ b/pkgs/misc/emulators/pcsxr/default.nix
@@ -79,7 +79,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Playstation 1 emulator";
-    homepage = https://pcsxr.codeplex.com/;
+    homepage = "https://pcsxr.codeplex.com/";
     maintainers = with maintainers; [ rardiol ];
     license = licenses.gpl2Plus;
     platforms = platforms.all;
diff --git a/pkgs/misc/emulators/qmc2/default.nix b/pkgs/misc/emulators/qmc2/default.nix
index 660eba5fd03..1242a1ef11a 100644
--- a/pkgs/misc/emulators/qmc2/default.nix
+++ b/pkgs/misc/emulators/qmc2/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A Qt frontend for MAME/MESS";
-    homepage = https://qmc2.batcom-it.net;
+    homepage = "https://qmc2.batcom-it.net";
     license = licenses.gpl2;
     maintainers = [ maintainers.genesis ];
     platforms = platforms.linux;
diff --git a/pkgs/misc/emulators/retroarch/cores.nix b/pkgs/misc/emulators/retroarch/cores.nix
index b1d01e12b62..0ebd2b82a9a 100644
--- a/pkgs/misc/emulators/retroarch/cores.nix
+++ b/pkgs/misc/emulators/retroarch/cores.nix
@@ -22,7 +22,7 @@ let
     makeFlags = [
       "platform=${{
         linux = "unix";
-        darwin = "unix";
+        darwin = "osx";
         windows = "win";
       }.${stdenv.hostPlatform.parsed.kernel.name} or stdenv.hostPlatform.parsed.kernel.name}"
       "ARCH=${{
@@ -51,7 +51,7 @@ let
     meta = with stdenv.lib; {
       inherit (a) description license;
       broken = a.broken or false;
-      homepage = https://www.libretro.com/;
+      homepage = "https://www.libretro.com/";
       maintainers = with maintainers; [ edwtjo hrdinka MP2E ];
       platforms = platforms.unix;
     };
diff --git a/pkgs/misc/emulators/retroarch/default.nix b/pkgs/misc/emulators/retroarch/default.nix
index 02d09865432..a91e2de8593 100644
--- a/pkgs/misc/emulators/retroarch/default.nix
+++ b/pkgs/misc/emulators/retroarch/default.nix
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
   preFixup = "rm $out/bin/retroarch-cg2glsl";
 
   meta = {
-    homepage = https://libretro.com;
+    homepage = "https://libretro.com";
     description = "Multi-platform emulator frontend for libretro cores";
     license = licenses.gpl3;
     platforms = platforms.all;
diff --git a/pkgs/misc/emulators/retrofe/default.nix b/pkgs/misc/emulators/retrofe/default.nix
index 44571de3489..d2c904723b1 100644
--- a/pkgs/misc/emulators/retrofe/default.nix
+++ b/pkgs/misc/emulators/retrofe/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation {
   version = "0.6.169";
 
   src = fetchhg {
-    url = https://bitbucket.org/teamretro/retrofe;
+    url = "https://bitbucket.org/teamretro/retrofe";
     rev = "8793e03";
     sha256 = "0cvsg07ff0fdqh5zgiv2fs7s6c98hn150kpxmpw5fn6jilaszwkm";
   };
@@ -70,7 +70,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "A frontend for arcade cabinets and media PCs";
-    homepage = http://retrofe.com;
+    homepage = "http://retrofe.com";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ hrdinka ];
     platforms = with platforms; linux;
diff --git a/pkgs/misc/emulators/rpcs3/default.nix b/pkgs/misc/emulators/rpcs3/default.nix
index 674222dc355..4e022b2868f 100644
--- a/pkgs/misc/emulators/rpcs3/default.nix
+++ b/pkgs/misc/emulators/rpcs3/default.nix
@@ -1,22 +1,22 @@
-{ stdenv, lib, fetchgit, cmake, pkgconfig, git
-, qt5, openal, glew, vulkan-loader, libpng, ffmpeg, libevdev, python27
+{ mkDerivation, lib, fetchgit, cmake, pkgconfig, git
+, qtbase, qtquickcontrols, openal, glew, vulkan-loader, libpng, ffmpeg, libevdev, python3
 , pulseaudioSupport ? true, libpulseaudio
 , waylandSupport ? true, wayland
 , alsaSupport ? true, alsaLib
 }:
 
 let
-  majorVersion = "0.0.6";
-  gitVersion = "8187-790962425"; # echo $(git rev-list HEAD --count)-$(git rev-parse --short HEAD)
+  majorVersion = "0.0.8";
+  gitVersion = "9300-341fdf7eb"; # echo $(git rev-list HEAD --count)-$(git rev-parse --short HEAD)
 in
-stdenv.mkDerivation {
+mkDerivation {
   pname = "rpcs3";
   version = "${majorVersion}-${gitVersion}";
 
   src = fetchgit {
     url = "https://github.com/RPCS3/rpcs3";
-    rev = "790962425cfb893529f72b3ef0dd1424fcc42973";
-    sha256 = "154ys29b9xdws3bp4b7rb3kc0h9hd49g2yf3z9268cdq8aclahaa";
+    rev = "341fdf7eb14763fd06e2eab9a4b2b8f1adf9fdbd";
+    sha256 = "1qx97zkkjl6bmv5rhfyjqynbz0v8h40b2wxqnl59g287wj0yk3y1";
   };
 
   preConfigure = ''
@@ -36,14 +36,14 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ cmake pkgconfig git ];
 
   buildInputs = [
-    qt5.qtbase qt5.qtquickcontrols openal glew vulkan-loader libpng ffmpeg libevdev python27
+    qtbase qtquickcontrols openal glew vulkan-loader libpng ffmpeg libevdev python3
   ] ++ lib.optional pulseaudioSupport libpulseaudio
     ++ lib.optional alsaSupport alsaLib
     ++ lib.optional waylandSupport wayland;
 
   enableParallelBuilding = true;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "PS3 emulator/debugger";
     homepage = "https://rpcs3.net/";
     maintainers = with maintainers; [ abbradar nocent ];
diff --git a/pkgs/misc/emulators/stella/default.nix b/pkgs/misc/emulators/stella/default.nix
index c2d98cda060..72dc48c1f4d 100644
--- a/pkgs/misc/emulators/stella/default.nix
+++ b/pkgs/misc/emulators/stella/default.nix
@@ -1,18 +1,22 @@
-{ stdenv, fetchurl, pkgconfig, SDL2 }:
+{ stdenv, fetchFromGitHub, pkgconfig, SDL2 }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
 
   pname = "stella";
-  version = "4.6.1";
+  version = "6.1.1";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/project/stella/stella/${version}/${pname}-${version}-src.tar.gz";
-    sha256 = "126jph21b70jlxapzmll8pq36i53lb304hbsiap25160vdqid4n1";
+  src = fetchFromGitHub {
+    owner = "stella-emu";
+    repo = "stella";
+    rev = version;
+    sha256 = "1iwhslrkq887v035j68lhblybww8r792515rp2m5qzmdgnjzsvbb";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ SDL2 ];
+  
+  enableParallelBuilding = true;
 
   meta = {
     description = "An open-source Atari 2600 VCS emulator";
@@ -23,7 +27,7 @@ stdenv.mkDerivation rec {
     maintained by Stephen Anthony.
     As of its 3.5 release, Stella is officially donationware. 
     '';
-    homepage = http://stella.sourceforge.net/;
+    homepage = "http://stella-emu.github.io/";
     license = licenses.gpl2;
     maintainers = [ maintainers.AndersonTorres ];
     platforms = platforms.linux;
diff --git a/pkgs/misc/emulators/uae/default.nix b/pkgs/misc/emulators/uae/default.nix
index 313b61b393e..7b52430aa01 100644
--- a/pkgs/misc/emulators/uae/default.nix
+++ b/pkgs/misc/emulators/uae/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Ultimate/Unix/Unusable Amiga Emulator";
     license = stdenv.lib.licenses.gpl2Plus;
-    homepage = http://web.archive.org/web/20130901222855/http://www.amigaemulator.org/;
+    homepage = "http://web.archive.org/web/20130901222855/http://www.amigaemulator.org/";
     maintainers = [ stdenv.lib.maintainers.sander ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/misc/emulators/vbam/default.nix b/pkgs/misc/emulators/vbam/default.nix
index e44b45dbb4b..2aae72b3e20 100644
--- a/pkgs/misc/emulators/vbam/default.nix
+++ b/pkgs/misc/emulators/vbam/default.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
     description = "A merge of the original Visual Boy Advance forks";
     license = licenses.gpl2;
     maintainers = with maintainers; [ lassulus ];
-    homepage = http://vba-m.com/;
+    homepage = "https://vba-m.com/";
     platforms = stdenv.lib.platforms.linux;
     badPlatforms = [ "aarch64-linux" ];
   };
diff --git a/pkgs/misc/emulators/vice/default.nix b/pkgs/misc/emulators/vice/default.nix
index cb083c0aa0d..ca3149785a4 100644
--- a/pkgs/misc/emulators/vice/default.nix
+++ b/pkgs/misc/emulators/vice/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   name = "vice-3.1";
 
   src = fetchurl {
-    url = mirror://sourceforge/vice-emu/vice-3.1.tar.gz;
+    url = "mirror://sourceforge/vice-emu/vice-3.1.tar.gz";
     sha256 = "0h0jbml02s2a36hr78dxv1zshmfhxp1wadpcdl09aq416fb1bf1y";
   };
 
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Commodore 64, 128 and other emulators";
-    homepage = http://www.viceteam.org;
+    homepage = "http://www.viceteam.org";
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.sander ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/misc/emulators/wine/sources.nix
index 06b3a950ba0..0e3eb2ce698 100644
--- a/pkgs/misc/emulators/wine/sources.nix
+++ b/pkgs/misc/emulators/wine/sources.nix
@@ -39,16 +39,16 @@ in rec {
 
   unstable = fetchurl rec {
     # NOTE: Don't forget to change the SHA256 for staging as well.
-    version = "5.0";
-    url = "https://dl.winehq.org/wine/source/5.0/wine-${version}.tar.xz";
-    sha256 = "1d0kcy338radq07hrnzcpc9lc9j2fvzjh37q673002x8d6x5058q";
+    version = "5.5";
+    url = "https://dl.winehq.org/wine/source/5.x/wine-${version}.tar.xz";
+    sha256 = "1z7mvl6fgk7cg8vmy157r8azcz89srnckbzvsc6cva7a1fdi7qx0";
     inherit (stable) mono gecko32 gecko64;
   };
 
   staging = fetchFromGitHub rec {
     # https://github.com/wine-staging/wine-staging/releases
     inherit (unstable) version;
-    sha256 = "054m2glvav29qnlgr3p36kahyv3kbxzba82djzqpc7cmsrin0d3f";
+    sha256 = "0wcj73xcxsk5897m5fg14cjir2md167m09jjjv9z9n6157bfr9fw";
     owner = "wine-staging";
     repo = "wine-staging";
     rev = "v${version}";
diff --git a/pkgs/misc/emulators/wine/winetricks.nix b/pkgs/misc/emulators/wine/winetricks.nix
index 76606edf53c..444ef29b784 100644
--- a/pkgs/misc/emulators/wine/winetricks.nix
+++ b/pkgs/misc/emulators/wine/winetricks.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A script to install DLLs needed to work around problems in Wine";
     license = stdenv.lib.licenses.lgpl21;
-    homepage = https://github.com/Winetricks/winetricks;
+    homepage = "https://github.com/Winetricks/winetricks";
     maintainers = with stdenv.lib.maintainers; [ the-kenny ];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/misc/emulators/wxmupen64plus/default.nix b/pkgs/misc/emulators/wxmupen64plus/default.nix
index 2416ddd65b7..4e90a524aa7 100644
--- a/pkgs/misc/emulators/wxmupen64plus/default.nix
+++ b/pkgs/misc/emulators/wxmupen64plus/default.nix
@@ -25,6 +25,6 @@ stdenv.mkDerivation {
   meta = {
     description = "GUI for the Mupen64Plus 2.0 emulator";
     license = stdenv.lib.licenses.gpl2Plus;
-    homepage = https://bitbucket.org/auria/wxmupen64plus/wiki/Home;
+    homepage = "https://bitbucket.org/auria/wxmupen64plus/wiki/Home";
   };
 }
diff --git a/pkgs/misc/emulators/yabause/default.nix b/pkgs/misc/emulators/yabause/default.nix
index abceb752b2f..d29d7b1e7b8 100644
--- a/pkgs/misc/emulators/yabause/default.nix
+++ b/pkgs/misc/emulators/yabause/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "An open-source Sega Saturn emulator";
-    homepage = https://yabause.org/;
+    homepage = "https://yabause.org/";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.linux;
diff --git a/pkgs/misc/emulators/zsnes/default.nix b/pkgs/misc/emulators/zsnes/default.nix
index 55fe49895c9..142a49b8d18 100644
--- a/pkgs/misc/emulators/zsnes/default.nix
+++ b/pkgs/misc/emulators/zsnes/default.nix
@@ -57,7 +57,7 @@ in stdenv.mkDerivation {
     description = "A Super Nintendo Entertainment System Emulator";
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.sander ];
-    homepage = http://www.zsnes.com;
+    homepage = "http://www.zsnes.com";
     platforms = [ "i686-linux" "x86_64-linux" ];
   };
 }
diff --git a/pkgs/misc/frescobaldi/default.nix b/pkgs/misc/frescobaldi/default.nix
index abf4970c616..830d5bea36a 100644
--- a/pkgs/misc/frescobaldi/default.nix
+++ b/pkgs/misc/frescobaldi/default.nix
@@ -1,7 +1,7 @@
 { lib, buildPythonApplication, fetchFromGitHub, python3Packages, pyqtwebengine, lilypond }:
 
 buildPythonApplication rec {
-  name = "frescobaldi-${version}";
+  pname = "frescobaldi";
   version = "3.1.1";
 
   src = fetchFromGitHub {
@@ -28,7 +28,7 @@ buildPythonApplication rec {
   ];
 
   meta = with lib; {
-    homepage = http://frescobaldi.org/;
+    homepage = "https://frescobaldi.org/";
     description = ''Frescobaldi is a LilyPond sheet music text editor'';
     longDescription = ''
       Powerful text editor with syntax highlighting and automatic completion, 
diff --git a/pkgs/misc/ghostscript/default.nix b/pkgs/misc/ghostscript/default.nix
index 37974e41080..161ee8471bc 100644
--- a/pkgs/misc/ghostscript/default.nix
+++ b/pkgs/misc/ghostscript/default.nix
@@ -118,7 +118,7 @@ stdenv.mkDerivation rec {
   passthru = { inherit version; };
 
   meta = {
-    homepage = https://www.ghostscript.com/;
+    homepage = "https://www.ghostscript.com/";
     description = "PostScript interpreter (mainline version)";
 
     longDescription = ''
diff --git a/pkgs/misc/gnash/default.nix b/pkgs/misc/gnash/default.nix
index 56dfe2f19f8..5a4eb1e7f33 100644
--- a/pkgs/misc/gnash/default.nix
+++ b/pkgs/misc/gnash/default.nix
@@ -122,7 +122,7 @@ stdenv.mkDerivation {
   ];
 
   meta = {
-    homepage    = https://savannah.gnu.org/projects/gnash;
+    homepage    = "https://savannah.gnu.org/projects/gnash";
     description = "A flash (SWF) player and browser plugin";
     license     = licenses.gpl3;
     maintainers = with maintainers; [ rnhmjoj ];
diff --git a/pkgs/misc/gnuk/generic.nix b/pkgs/misc/gnuk/generic.nix
index e592b945a40..c7bbb3b530d 100644
--- a/pkgs/misc/gnuk/generic.nix
+++ b/pkgs/misc/gnuk/generic.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://www.fsij.org/pages/gnuk;
+    homepage = "http://www.fsij.org/pages/gnuk";
     description = "An implementation of USB cryptographic token for gpg";
     license = licenses.gpl3;
     platforms = with platforms; linux;
diff --git a/pkgs/misc/jackaudio/default.nix b/pkgs/misc/jackaudio/default.nix
index f6eaa553bb2..d5007560762 100644
--- a/pkgs/misc/jackaudio/default.nix
+++ b/pkgs/misc/jackaudio/default.nix
@@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "JACK audio connection kit, version 2 with jackdbus";
-    homepage = https://jackaudio.org;
+    homepage = "https://jackaudio.org";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ goibhniu ];
diff --git a/pkgs/misc/jackaudio/jack1.nix b/pkgs/misc/jackaudio/jack1.nix
index 39c0d7d50c7..2b5d0d960ca 100644
--- a/pkgs/misc/jackaudio/jack1.nix
+++ b/pkgs/misc/jackaudio/jack1.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "JACK audio connection kit";
-    homepage = https://jackaudio.org;
+    homepage = "https://jackaudio.org";
     license = with licenses; [ gpl2 lgpl21 ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/misc/lguf-brightness/default.nix b/pkgs/misc/lguf-brightness/default.nix
index 297ca955e86..02ce011c59d 100644
--- a/pkgs/misc/lguf-brightness/default.nix
+++ b/pkgs/misc/lguf-brightness/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Adjust brightness for LG UltraFine 4K display (cross platform)";
-    homepage = https://github.com/periklis/lguf-brightness;
+    homepage = "https://github.com/periklis/lguf-brightness";
     license = licenses.lgpl21Plus;
     maintainers = with maintainers; [ periklis ];
     platforms = with platforms; linux ++ darwin;
diff --git a/pkgs/misc/logging/beats/6.x.nix b/pkgs/misc/logging/beats/6.x.nix
index a0a29f95aba..d3f284a2ddb 100644
--- a/pkgs/misc/logging/beats/6.x.nix
+++ b/pkgs/misc/logging/beats/6.x.nix
@@ -16,7 +16,7 @@ let beat = package : extraArgs : buildGoPackage (rec {
       subPackages = [ package ];
 
       meta = with stdenv.lib; {
-        homepage = https://www.elastic.co/products/beats;
+        homepage = "https://www.elastic.co/products/beats";
         license = licenses.asl20;
         maintainers = with maintainers; [ fadenb basvandijk ];
         platforms = platforms.linux;
diff --git a/pkgs/misc/logging/beats/7.x.nix b/pkgs/misc/logging/beats/7.x.nix
index adcbdddfc3a..cdc8417a9c1 100644
--- a/pkgs/misc/logging/beats/7.x.nix
+++ b/pkgs/misc/logging/beats/7.x.nix
@@ -16,7 +16,7 @@ let beat = package : extraArgs : buildGoPackage (rec {
       subPackages = [ package ];
 
       meta = with stdenv.lib; {
-        homepage = https://www.elastic.co/products/beats;
+        homepage = "https://www.elastic.co/products/beats";
         license = licenses.asl20;
         maintainers = with maintainers; [ fadenb basvandijk ];
         platforms = platforms.linux;
diff --git a/pkgs/misc/long-shebang/default.nix b/pkgs/misc/long-shebang/default.nix
index 5af75be690c..753e1f490bb 100644
--- a/pkgs/misc/long-shebang/default.nix
+++ b/pkgs/misc/long-shebang/default.nix
@@ -12,7 +12,7 @@ in stdenv.mkDerivation {
   meta = {
     description = "A tool for #! scripts with more than one argument";
 
-    homepage = https://github.com/shlevy/long-shebang;
+    homepage = "https://github.com/shlevy/long-shebang";
 
     license = stdenv.lib.licenses.mit;
 
diff --git a/pkgs/misc/mxt-app/default.nix b/pkgs/misc/mxt-app/default.nix
index d701bd654d2..a5a621435ee 100644
--- a/pkgs/misc/mxt-app/default.nix
+++ b/pkgs/misc/mxt-app/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec{
 
   meta = with stdenv.lib; {
     description = "Command line utility for Atmel maXTouch devices";
-    homepage = https://github.com/atmel-maxtouch/mxt-app;
+    homepage = "https://github.com/atmel-maxtouch/mxt-app";
     license = licenses.bsd2;
     maintainers = [ maintainers.colemickens ];
     platforms = platforms.linux;
diff --git a/pkgs/misc/riscv-pk/default.nix b/pkgs/misc/riscv-pk/default.nix
index e724869b235..3e1f63e5e30 100644
--- a/pkgs/misc/riscv-pk/default.nix
+++ b/pkgs/misc/riscv-pk/default.nix
@@ -34,7 +34,7 @@ in stdenv.mkDerivation {
 
   meta = {
     description = "RISC-V Proxy Kernel and Bootloader.";
-    homepage = https://github.com/riscv/riscv-pk;
+    homepage = "https://github.com/riscv/riscv-pk";
     license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.riscv;
     maintainers = [ stdenv.lib.maintainers.shlevy ];
diff --git a/pkgs/misc/rkdeveloptool/default.nix b/pkgs/misc/rkdeveloptool/default.nix
index e877629bcb0..8ce4fd8e14c 100644
--- a/pkgs/misc/rkdeveloptool/default.nix
+++ b/pkgs/misc/rkdeveloptool/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation {
   pname = "rkdeveloptool";
-  version = "1.3";
+  version = "unstable-2019-07-01";
 
   src = fetchFromGitHub {
     owner = "rockchip-linux";
     repo = "rkdeveloptool";
-    rev = "081d237ad5bf8f03170c9d60bd94ceefa0352aaf";
-    sha256 = "05hh7j3xgb8l1k1v2lis3nvlc0gp87ihzg6jci7m5lkkm5qgv3ji";
+    rev = "6e92ebcf8b1812da02663494a68972f956e490d3";
+    sha256 = "0zwrkqfxd671iy69v3q0844gfdpm1yk51i9qh2rqc969bd8glxga";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
   buildInputs = [ libusb1 ];
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/rockchip-linux/rkdeveloptool;
+    homepage = "https://github.com/rockchip-linux/rkdeveloptool";
     description = "A tool from Rockchip to communicate with Rockusb devices";
     license = licenses.gpl2;
     maintainers = [ maintainers.lopsided98 ];
diff --git a/pkgs/misc/sailsd/default.nix b/pkgs/misc/sailsd/default.nix
index 49d86491aa0..0dca0701098 100644
--- a/pkgs/misc/sailsd/default.nix
+++ b/pkgs/misc/sailsd/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Simulator daemon for autonomous sailing boats";
-    homepage = https://github.com/sails-simulator/sailsd;
+    homepage = "https://github.com/sails-simulator/sailsd";
     license = licenses.gpl3;
     longDescription = ''
       Sails is a simulator designed to test the AI of autonomous sailing
diff --git a/pkgs/misc/scrcpy/default.nix b/pkgs/misc/scrcpy/default.nix
index 6e5822b5a6f..c47825f9010 100644
--- a/pkgs/misc/scrcpy/default.nix
+++ b/pkgs/misc/scrcpy/default.nix
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Display and control Android devices over USB or TCP/IP";
-    homepage = https://github.com/Genymobile/scrcpy;
+    homepage = "https://github.com/Genymobile/scrcpy";
     license = licenses.asl20;
     platforms = platforms.unix;
     maintainers = with maintainers; [ deltaevo lukeadams ];
diff --git a/pkgs/misc/screensavers/alock/default.nix b/pkgs/misc/screensavers/alock/default.nix
index 59d5a146e16..c9340b2503e 100644
--- a/pkgs/misc/screensavers/alock/default.nix
+++ b/pkgs/misc/screensavers/alock/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   name = "alock-${date}";
 
   src = fetchgit {
-    url = https://github.com/Arkq/alock;
+    url = "https://github.com/Arkq/alock";
     rev = "2035e1d4a2293432f5503e82d10f899232eb0f38";
     sha256 = "1by954fjn0ryqda89zlmq3gclakg3gz7zy1wjrbgw4lzsk538va6";
   };
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/Arkq/alock;
+    homepage = "https://github.com/Arkq/alock";
     description = "Simple screen lock application for X server";
     longDescription = ''
       alock locks the X server until the user enters a password
diff --git a/pkgs/misc/screensavers/betterlockscreen/default.nix b/pkgs/misc/screensavers/betterlockscreen/default.nix
index d25f253bd00..36f89819570 100644
--- a/pkgs/misc/screensavers/betterlockscreen/default.nix
+++ b/pkgs/misc/screensavers/betterlockscreen/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Betterlockscreen is a simple minimal lock screen which allows you to cache images with different filters and lockscreen with blazing speed.";
-    homepage = https://github.com/pavanjadhaw/betterlockscreen;
+    homepage = "https://github.com/pavanjadhaw/betterlockscreen";
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ eyjhb ];
diff --git a/pkgs/misc/screensavers/electricsheep/default.nix b/pkgs/misc/screensavers/electricsheep/default.nix
index b36f8bf98de..71a248bcfa1 100644
--- a/pkgs/misc/screensavers/electricsheep/default.nix
+++ b/pkgs/misc/screensavers/electricsheep/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Electric Sheep, a distributed screen saver for evolving artificial organisms";
-    homepage = https://electricsheep.org/;
+    homepage = "https://electricsheep.org/";
     maintainers = with maintainers; [ nand0p fpletz ];
     platforms = platforms.linux;
     license = licenses.gpl1;
diff --git a/pkgs/misc/screensavers/i3lock-pixeled/default.nix b/pkgs/misc/screensavers/i3lock-pixeled/default.nix
index ae61291b087..5ffe5f72265 100644
--- a/pkgs/misc/screensavers/i3lock-pixeled/default.nix
+++ b/pkgs/misc/screensavers/i3lock-pixeled/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Simple i3lock helper which pixels a screenshot by scaling it down and up to get a pixeled version of the screen when the lock is active.";
-    homepage = https://gitlab.com/Ma27/i3lock-pixeled;
+    homepage = "https://gitlab.com/Ma27/i3lock-pixeled";
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ ma27 ];
diff --git a/pkgs/misc/screensavers/light-locker/default.nix b/pkgs/misc/screensavers/light-locker/default.nix
index 9763949cf98..4d257650338 100644
--- a/pkgs/misc/screensavers/light-locker/default.nix
+++ b/pkgs/misc/screensavers/light-locker/default.nix
@@ -71,7 +71,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/the-cavalry/light-locker;
+    homepage = "https://github.com/the-cavalry/light-locker";
     description = "A simple session-locker for LightDM";
     longDescription = ''
       A simple locker (forked from gnome-screensaver) that aims to
diff --git a/pkgs/misc/screensavers/pipes/default.nix b/pkgs/misc/screensavers/pipes/default.nix
index fb80f9922ce..211b7614f3b 100644
--- a/pkgs/misc/screensavers/pipes/default.nix
+++ b/pkgs/misc/screensavers/pipes/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/pipeseroni/pipes.sh;
+    homepage = "https://github.com/pipeseroni/pipes.sh";
     description = "Animated pipes terminal screensaver";
     license = licenses.mit;
     maintainers = [ maintainers.matthiasbeyer ];
diff --git a/pkgs/misc/screensavers/slock/default.nix b/pkgs/misc/screensavers/slock/default.nix
index 9dadd085067..7df635c10c7 100644
--- a/pkgs/misc/screensavers/slock/default.nix
+++ b/pkgs/misc/screensavers/slock/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = https://tools.suckless.org/slock;
+    homepage = "https://tools.suckless.org/slock";
     description = "Simple X display locker";
     longDescription = ''
       Simple X display locker. This is the simplest X screen locker.
diff --git a/pkgs/misc/screensavers/vlock/default.nix b/pkgs/misc/screensavers/vlock/default.nix
index ae89bbd53cc..83d82e2b3b3 100644
--- a/pkgs/misc/screensavers/vlock/default.nix
+++ b/pkgs/misc/screensavers/vlock/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "vlock-2.2.2";
   src = fetchurl
   {
-    url = mirror://debian/pool/main/v/vlock/vlock_2.2.2.orig.tar.gz;
+    url = "mirror://debian/pool/main/v/vlock/vlock_2.2.2.orig.tar.gz";
     sha256 = "1b9gv7hmlb8swda5bn40lp1yki8b8wv29vdnhcjqfl6ir98551za";
   };
 
diff --git a/pkgs/misc/screensavers/xlockmore/default.nix b/pkgs/misc/screensavers/xlockmore/default.nix
index f18099d3840..2c39ed599e2 100644
--- a/pkgs/misc/screensavers/xlockmore/default.nix
+++ b/pkgs/misc/screensavers/xlockmore/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Screen locker for the X Window System";
-    homepage = http://sillycycle.com/xlockmore.html;
+    homepage = "http://sillycycle.com/xlockmore.html";
     license = licenses.gpl2;
     maintainers = with maintainers; [ pSub ];
     platforms = platforms.linux;
diff --git a/pkgs/misc/screensavers/xscreensaver/default.nix b/pkgs/misc/screensavers/xscreensaver/default.nix
index 1937874a49c..1dd09852d27 100644
--- a/pkgs/misc/screensavers/xscreensaver/default.nix
+++ b/pkgs/misc/screensavers/xscreensaver/default.nix
@@ -5,12 +5,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "5.43";
+  version = "5.44";
   pname = "xscreensaver";
 
   src = fetchurl {
     url = "https://www.jwz.org/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "1571pj1a9998sq14y9366s2rw9wd2kq3l3dvvsk610vyd0fki3qm";
+    sha256 = "15bv05vpfjwsrqbazrjmm382jd7vvw0mp6y9vasn6wvxzjf0in3k";
   };
 
   buildInputs =
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
   ;
 
   meta = {
-    homepage = https://www.jwz.org/xscreensaver/;
+    homepage = "https://www.jwz.org/xscreensaver/";
     description = "A set of screensavers";
     maintainers = with stdenv.lib.maintainers; [ raskin ];
     platforms = stdenv.lib.platforms.unix; # Once had cygwin problems
diff --git a/pkgs/misc/screensavers/xssproxy/default.nix b/pkgs/misc/screensavers/xssproxy/default.nix
index a278e6dc949..cff03f3bed0 100644
--- a/pkgs/misc/screensavers/xssproxy/default.nix
+++ b/pkgs/misc/screensavers/xssproxy/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Forward freedesktop.org Idle Inhibition Service calls to Xss";
-    homepage = https://github.com/timakro/xssproxy;
+    homepage = "https://github.com/timakro/xssproxy";
     license = stdenv.lib.licenses.gpl3;
     maintainers = with stdenv.lib.maintainers; [ benley ];
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/misc/screensavers/xtrlock-pam/default.nix b/pkgs/misc/screensavers/xtrlock-pam/default.nix
index 1aa1f347ab4..ca4623e3068 100644
--- a/pkgs/misc/screensavers/xtrlock-pam/default.nix
+++ b/pkgs/misc/screensavers/xtrlock-pam/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    homepage = https://github.com/aanatoly/xtrlock-pam;
+    homepage = "https://github.com/aanatoly/xtrlock-pam";
     description = "PAM based X11 screen locker";
     license = "unknown";
     maintainers = with stdenv.lib.maintainers; [ tstrobel ];
diff --git a/pkgs/misc/solfege/default.nix b/pkgs/misc/solfege/default.nix
index 7ca9843e2e3..aea4da3eaeb 100644
--- a/pkgs/misc/solfege/default.nix
+++ b/pkgs/misc/solfege/default.nix
@@ -1,12 +1,10 @@
 { stdenv, fetchurl, pkgconfig, pythonPackages, gettext, texinfo
 , ghostscript, librsvg, gdk-pixbuf, txt2man, timidity, mpg123
 , alsaUtils, vorbis-tools, csound, lilypond
-, makeWrapper
+, wrapGAppsHook
 }:
 
-let
-  inherit (pythonPackages) python pygtk;
-in stdenv.mkDerivation rec {
+pythonPackages.buildPythonApplication rec {
   name = "solfege-3.22.2";
 
   src = fetchurl {
@@ -14,10 +12,9 @@ in stdenv.mkDerivation rec {
     sha256 = "1r4g93ka7i8jh5glii5nza0zq0wy4sw0gfzpvkcrhj9yr1h0jsp4";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ python pygtk gettext texinfo
-    ghostscript librsvg gdk-pixbuf txt2man makeWrapper
-  ];
+  nativeBuildInputs = [ gettext texinfo pkgconfig wrapGAppsHook ];
+  buildInputs = [ librsvg ];
+  propagatedBuildInputs = [ pythonPackages.pygtk ];
 
   preBuild = ''
     sed -i -e 's|wav_player=.*|wav_player=${alsaUtils}/bin/aplay|' \
@@ -29,16 +26,13 @@ in stdenv.mkDerivation rec {
            default.config
   '';
 
-  postInstall = ''
-      set -x
-      wrapProgram "$out/bin/solfege" \
-          --prefix PYTHONPATH ':' "$PYTHONPATH" \
-          --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
-  '';
+  format = "other";
+
+  enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
     description = "Ear training program";
-    homepage = http://www.solfege.org/;
+    homepage = "http://www.solfege.org/";
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
diff --git a/pkgs/misc/sound-of-sorting/default.nix b/pkgs/misc/sound-of-sorting/default.nix
index 1072bac7816..6b1c91d088e 100644
--- a/pkgs/misc/sound-of-sorting/default.nix
+++ b/pkgs/misc/sound-of-sorting/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib;{
     description = "Audibilization and Visualization of Sorting Algorithms";
-    homepage = http://panthema.net/2013/sound-of-sorting/;
+    homepage = "http://panthema.net/2013/sound-of-sorting/";
     license = with licenses; gpl3;
     maintainers = with maintainers; [ AndersonTorres ];
   };
diff --git a/pkgs/misc/stabber/default.nix b/pkgs/misc/stabber/default.nix
index d0d3fbdf2d7..17ef047ede7 100644
--- a/pkgs/misc/stabber/default.nix
+++ b/pkgs/misc/stabber/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Stubbed XMPP Server";
-    homepage = https://github.com/boothj5/stabber;
+    homepage = "https://github.com/boothj5/stabber";
     license = licenses.gpl3;
     platforms = platforms.unix;
     maintainers = with maintainers; [ hschaeidt ];
diff --git a/pkgs/misc/talkfilters/default.nix b/pkgs/misc/talkfilters/default.nix
index 8154e417e06..a622eca7795 100644
--- a/pkgs/misc/talkfilters/default.nix
+++ b/pkgs/misc/talkfilters/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Converts English text into text that mimics a stereotyped or humorous dialect";
-    homepage = http://www.hyperrealm.com/talkfilters/talkfilters.html;
+    homepage = "http://www.hyperrealm.com/talkfilters/talkfilters.html";
     license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [ ikervagyok ];
     platforms = with stdenv.lib.platforms; unix;
diff --git a/pkgs/misc/tmux-plugins/default.nix b/pkgs/misc/tmux-plugins/default.nix
index 0d10b44ab1e..23c513ea175 100644
--- a/pkgs/misc/tmux-plugins/default.nix
+++ b/pkgs/misc/tmux-plugins/default.nix
@@ -1,6 +1,5 @@
-{ fetchgit
+{ lib
 , fetchFromGitHub
-, lib
 , pkgs
 , reattach-to-user-namespace
 , stdenv
@@ -30,7 +29,7 @@ let
     ...
   }:
     addRtp "${rtpPath}/${path}" rtpFilePath a (stdenv.mkDerivation (a // {
-      name = namePrefix + pluginName;
+      pname = namePrefix + pluginName;
 
       inherit pluginName unpackPhase configurePhase buildPhase addonInfo preInstall postInstall;
 
@@ -56,54 +55,66 @@ in rec {
 
   battery = mkDerivation {
     pluginName = "battery";
-    src = fetchgit {
-      url = "https://github.com/tmux-plugins/tmux-battery";
-      rev = "09be78c35ee84f858f724442b94ad045ade23eb0";
-      sha256 = "0gm6qiay0k5b3yzrabfmh4inyh9r6rfhja2l3r4cixcvc8sgvh8l";
+    version = "unstable-2019-07-04";
+    src = fetchFromGitHub {
+      owner = "tmux-plugins";
+      repo = "tmux-battery";
+      rev = "f8b8e8451990365e0c98c38c184962e4f83b793b";
+      sha256 = "1bhdzsx3kdjqjmm1q4j8937lrpkzf71irr3fqhdbddsghwrrmwim";
     };
   };
 
   continuum = mkDerivation {
     pluginName = "continuum";
-    src = fetchgit {
-      url = "https://github.com/tmux-plugins/tmux-continuum";
-      rev = "90f4a00c41de094864dd4e29231253bcd80d4409";
-      sha256 = "1hviqz62mnq5h4vgcy9bl5004q18yz5b90bnih0ibsna877x3nbc";
+    version = "unstable-2018-02-23";
+    src = fetchFromGitHub {
+      owner = "tmux-plugins";
+      repo = "tmux-continuum";
+      rev = "1531b3770a7cf7373d15fedd239c5331b99342d1";
+      sha256 = "1w3f7gzvv1k25yfr6d1snr2z88p8f87cahrbaslmyphdxpy0fa4m";
     };
     dependencies = [ resurrect ];
   };
 
   copycat = mkDerivation {
     pluginName = "copycat";
-    src = fetchgit {
-      url = "https://github.com/tmux-plugins/tmux-copycat";
-      rev = "6f9b9cd2d93872cef60e3ea7f7ae89598569ed25";
-      sha256 = "12dgn5wnzrhd6sqa64w875ld3lrrny8xvdq6b6lzxyain9q49mrf";
+    version = "unstable-2020-01-09";
+    src = fetchFromGitHub {
+      owner = "tmux-plugins";
+      repo = "tmux-copycat";
+      rev = "77ca3aab2aed8ede3e2b941079b1c92dd221cf5f";
+      sha256 = "1bchwzhai8k5rk32n4lrmh56rw944jqxr8imjk74hyaa7bbn81ds";
     };
   };
 
   cpu = mkDerivation {
     pluginName = "cpu";
-    src = fetchgit {
-      url = "https://github.com/tmux-plugins/tmux-cpu";
-      rev = "12f7a74e25bf59701456e2c0d98b39bb19ec7039";
-      sha256 = "0qxn8ngg297980lj6w8ih2m8m8bxxdbcz5hsjmlia92h5rdkm5kl";
+    version = "unstable-2020-04-05";
+    src = fetchFromGitHub {
+      owner = "tmux-plugins";
+      repo = "tmux-cpu";
+      rev = "8858050756e1fc3c081d37894b441f05ea893a67";
+      sha256 = "1bydzrnd9y5y46hjr844p4ylx2dpijn6pv3w94yyvwbyswmirhff";
     };
   };
 
-  ctrlw = mkDerivation {
+  ctrlw = mkDerivation rec {
     pluginName = "ctrlw";
-    src = fetchgit {
-      url = "https://github.com/eraserhd/tmux-ctrlw";
-      rev = "b456977125c640cd587b786c6a79cb5c7b0f900d";
+    version = "0.1.1";
+    src = fetchFromGitHub {
+      owner = "eraserhd";
+      repo = "tmux-ctrlw";
+      rev = "v${version}";
       sha256 = "1kv5pqfjczd6z7i9jf6j5xmcai50l9bn5p2p1w1l5fi6cj8cz1k1";
     };
   };
 
   fpp = mkDerivation {
     pluginName = "fpp";
-    src = fetchgit {
-      url = "https://github.com/tmux-plugins/tmux-fpp";
+    version = "unstable-2016-03-08";
+    src = fetchFromGitHub {
+      owner = "tmux-plugins";
+      repo = "tmux-fpp";
       rev = "ca125d5a9c80bb156ac114ac3f3d5951a795c80e";
       sha256 = "1b89s6mfzifi7s5iwf22w7niddpq28w48nmqqy00dv38z4yga5ws";
     };
@@ -116,18 +127,22 @@ in rec {
   fzf-tmux-url = mkDerivation {
     pluginName = "fzf-tmux-url";
     rtpFilePath = "fzf-url.tmux";
-    src = fetchgit {
-      url = "https://github.com/wfxr/tmux-fzf-url";
-      rev = "ecd518eec1067234598c01e655b048ff9d06ef2f";
-      sha256 = "0png8hdv91y2nivq5vdii2192mb2qcrkwwn69lzxrdnbfa27qrgv";
+    version = "unstable-2019-12-02";
+    src = fetchFromGitHub {
+      owner = "wfxr";
+      repo = "tmux-fzf-url";
+      rev = "2baa410bf7a0f6ceb62a83770baf90d570406ac0";
+      sha256 = "0rjzzlmxgjrr8g19bg2idcqr9ny07mrq2s39vndg24n0m7znh3fz";
     };
   };
 
   gruvbox = mkDerivation {
     pluginName = "gruvbox";
     rtpFilePath = "gruvbox-tpm.tmux";
-    src = fetchgit {
-      url = "https://github.com/egel/tmux-gruvbox";
+    version = "unstable-2019-05-05";
+    src = fetchFromGitHub {
+      owner = "egel";
+      repo = "tmux-gruvbox";
       rev = "6149fd8b5d6924925b4d5aa6935039780e94f3d6";
       sha256 = "1ykr4yardavd0x7yfrnshd4b0gi8p31pji7i79ib0nss134zncpb";
     };
@@ -135,26 +150,32 @@ in rec {
 
   logging = mkDerivation {
     pluginName = "logging";
-    src = fetchgit {
-      url = "https://github.com/tmux-plugins/tmux-logging";
-      rev = "b2706119cd587230beae02980d3d7fa2d5afebe9";
-      sha256 = "1w1ymscfbz87lypaxgjdva1rg7jw2jyf7nnfgyngghw9m1l2xk2c";
+    version = "unstable-2019-04-19";
+    src = fetchFromGitHub {
+      owner = "tmux-plugins";
+      repo = "tmux-logging";
+      rev = "b085ad423b5d59a2c8b8d71772352e7028b8e1d0";
+      sha256 = "0p0sawysalhi8k2a5hdxniqx6kb24kd8rnvfzkjqigzid5ik37js";
     };
   };
 
   net-speed = mkDerivation {
     pluginName = "net-speed";
-    src = fetchgit {
-      url = "https://github.com/tmux-plugins/tmux-net-speed";
-      rev = "536d2bdd053a3bdfcc5cf7680c0dba76127c95ca";
-      sha256 = "1bly5f40dgiym378jkfwm7qag9xl6qvziqiqnj65yblqd5py325z";
+    version = "unstable-2018-12-02";
+    src = fetchFromGitHub {
+      owner = "tmux-plugins";
+      repo = "tmux-net-speed";
+      rev = "58abb615971cb617821e2e7e41c660334f55a92d";
+      sha256 = "1aj06gdhzcxsydjzf21n9kyxigwf38kh2rg8hh7gnjk260ydqlrc";
     };
   };
 
   maildir-counter = mkDerivation {
     pluginName = "maildir-counter";
-    src = fetchgit {
-      url = "https://github.com/tmux-plugins/tmux-maildir-counter";
+    version = "unstable-2016-11-25";
+    src = fetchFromGitHub {
+      owner = "tmux-plugins";
+      repo = "tmux-maildir-counter";
       rev = "9415f0207e71e37cbd870c9443426dbea6da78b9";
       sha256 = "0dwvqhiv9bjwr01hsi5c57n55jyv5ha5m5q1aqgglf4wyhbnfms4";
     };
@@ -162,8 +183,10 @@ in rec {
 
   online-status = mkDerivation {
     pluginName = "online-status";
-    src = fetchgit {
-      url = "https://github.com/tmux-plugins/tmux-online-status";
+    version = "unstable-2018-11-30";
+    src = fetchFromGitHub {
+      owner = "tmux-plugins";
+      repo = "tmux-online-status";
       rev = "ea86704ced8a20f4a431116aa43f57edcf5a6312";
       sha256 = "1hy3vg8v2sir865ylpm2r4ip1zgd4wlrf24jbwh16m23qdcvc19r";
     };
@@ -171,28 +194,33 @@ in rec {
 
   open = mkDerivation {
     pluginName = "open";
-    src = fetchgit {
-      url = "https://github.com/tmux-plugins/tmux-open";
-      rev = "f99d3189c445188eae5fa9bfeabc95df16deca92";
-      sha256 = "13q3zd5jv7akkjjwhgimmfylrvalxdn54fnpfb14g6xam6h8808m";
+    version = "unstable-2019-12-02";
+    src = fetchFromGitHub {
+      owner = "tmux-plugins";
+      repo = "tmux-open";
+      rev = "cedb4584908bd8458fadc8d3e64101d3cbb48d46";
+      sha256 = "10s0xdhmg0dhpj13ybcq72pw3xgb2dq5v5h2mwidzqyh9g17wndh";
     };
   };
 
   pain-control = mkDerivation {
     pluginName = "pain-control";
-    src = fetchgit {
-      url = "https://github.com/tmux-plugins/tmux-pain-control";
-      rev = "731667692da46d51a6a9dffb4c43384a5d68ff28";
-      sha256 = "1ihpl5wgjmhfgcrasgnydd7vpsar865sx2whra19gpfm4bglmdzl";
+    version = "unstable-2020-02-18";
+    src = fetchFromGitHub {
+      owner = "tmux-plugins";
+      repo = "tmux-pain-control";
+      rev = "2db63de3b08fc64831d833240749133cecb67d92";
+      sha256 = "0w7a6n4n86ysiqcqj12j2hg9r5fznvbp3dz8pzas9q1k3avlk0zk";
     };
   };
 
-  plumb = mkDerivation {
+  plumb = mkDerivation rec {
     pluginName = "plumb";
+    version = "0.1.1";
     src = fetchFromGitHub {
       owner = "eraserhd";
       repo = "tmux-plumb";
-      rev = "v0.1.1";
+      rev = "v${version}";
       sha256 = "1c6k4fdl0az9811r6k164mgd4w5la75xr6x7nabmy046xc0z5i2r";
     };
     postInstall = ''
@@ -202,26 +230,32 @@ in rec {
 
   prefix-highlight = mkDerivation {
     pluginName = "prefix-highlight";
-    src = fetchgit {
-      url = "https://github.com/tmux-plugins/tmux-prefix-highlight";
-      rev = "34f7125ae46e5123bedad03e08027332d1186186";
-      sha256 = "16z8sm8pifg1m9lmv0z50fb0ws9mk5zqs7a1ddl2bfwkqi7yc0c0";
+    version = "unstable-2020-03-26";
+    src = fetchFromGitHub {
+      owner = "tmux-plugins";
+      repo = "tmux-prefix-highlight";
+      rev = "1db6e735aad54503b076391d791c56e1af213917";
+      sha256 = "0ws9blzg00zhz548m51cm6zbrkqlz7jazkr5029vka1f6qk36x0g";
     };
   };
 
   resurrect = mkDerivation {
     pluginName = "resurrect";
-    src = fetchgit {
-      url = "https://github.com/tmux-plugins/tmux-resurrect";
-      rev = "7c77c70483b818d331e46c4cf64c716ded09a152";
-      sha256 = "08gjxwdmfy16xpgi87rp9dj5338imqsy392pixf7xcnr05413ap1";
+    version = "unstable-2020-03-21";
+    src = fetchFromGitHub {
+      owner = "tmux-plugins";
+      repo = "tmux-resurrect";
+      rev = "327c0481ad20c429b4e692e092659f8b3346b08f";
+      sha256 = "0nxfqazww36wwv49dzd39kq4jfls20834hf1458sf5pvmv5cmbyw";
     };
   };
 
   sensible = mkDerivation {
     pluginName = "sensible";
-    src = fetchgit {
-      url = "https://github.com/tmux-plugins/tmux-sensible";
+    version = "unstable-2017-09-05";
+    src = fetchFromGitHub {
+      owner = "tmux-plugins";
+      repo = "tmux-sensible";
       rev = "e91b178ff832b7bcbbf4d99d9f467f63fd1b76b5";
       sha256 = "1z8dfbwblrbmb8sgb0k8h1q0dvfdz7gw57las8nwd5gj6ss1jyvx";
     };
@@ -232,8 +266,10 @@ in rec {
 
   sessionist = mkDerivation {
     pluginName = "sessionist";
-    src = fetchgit {
-      url = "https://github.com/tmux-plugins/tmux-sessionist";
+    version = "unstable-2017-12-03";
+    src = fetchFromGitHub {
+      owner = "tmux-plugins";
+      repo = "tmux-sessionist";
       rev = "09ec86be38eae98ffc27bd0dde605ed10ae0dc89";
       sha256 = "030q2mmj8akbc26jnqn8n7fckg1025p0ildx4wr401b6p1snnlw4";
     };
@@ -241,15 +277,18 @@ in rec {
 
   sidebar = mkDerivation {
     pluginName = "sidebar";
-    src = fetchgit {
-      url = "https://github.com/tmux-plugins/tmux-sidebar";
-      rev = "23014524cab53f8d36373983500fe05a527a444d";
-      sha256 = "1w363587isdip1r81h0vkp5163lpa83lvasg8l04h43sbip2y6i8";
+    version = "unstable-2018-11-30";
+    src = fetchFromGitHub {
+      owner = "tmux-plugins";
+      repo = "tmux-sidebar";
+      rev = "aacbdb45bc5ab69db448a72de4155d0b8dbac677";
+      sha256 = "1bp90zbv19kbbiik0bgb893ybss1jqsnk3353a631993xjwsih7c";
     };
   };
 
   sysstat = mkDerivation {
     pluginName = "sysstat";
+    version = "unstable-2017-12-12";
     src = fetchFromGitHub {
       owner = "samoshkin";
       repo = "tmux-plugin-sysstat";
@@ -260,6 +299,7 @@ in rec {
 
   tmux-colors-solarized = mkDerivation {
     pluginName = "tmuxcolors";
+    version = "unstable-2019-07-14";
     src = fetchFromGitHub {
       owner = "seebi";
       repo = "tmux-colors-solarized";
@@ -270,8 +310,10 @@ in rec {
 
   urlview = mkDerivation {
     pluginName = "urlview";
-    src = fetchgit {
-      url = "https://github.com/tmux-plugins/tmux-urlview";
+    version = "unstable-2016-01-06";
+    src = fetchFromGitHub {
+      owner = "tmux-plugins";
+      repo = "tmux-urlview";
       rev = "b84c876cffdd22990b4ab51247e795cbd7813d53";
       sha256 = "1jp4jq57cn116b3i34v6yy69izd8s6mp2ijr260cw86g0470k0fn";
     };
@@ -284,19 +326,23 @@ in rec {
   vim-tmux-navigator = mkDerivation {
     pluginName = "vim-tmux-navigator";
     rtpFilePath = "vim-tmux-navigator.tmux";
-    src = fetchgit {
-      url = "https://github.com/christoomey/vim-tmux-navigator";
-      rev = "4e1a877f51a17a961b8c2a285ee80aebf05ccf42";
-      sha256 = "1b8sgbzl4pcpaabqk254n97mjz767ganrmqbsr6rqzz3j9a3s1fv";
+    version = "unstable-2019-12-10";
+    src = fetchFromGitHub {
+      owner = "christoomey";
+      repo = "vim-tmux-navigator";
+      rev = "8fdf78292bb3aed1c9de880be7e03efdbf23d306";
+      sha256 = "0y92na4dcfcsj5zbs3m7y6csl3sd46a9968id78cdn9cgg8iwzac";
     };
   };
 
   yank = mkDerivation {
     pluginName = "yank";
-    src = fetchgit {
-      url = "https://github.com/tmux-plugins/tmux-yank";
-      rev = "feb9611b7d1c323ca54cd8a5111a53e3e8265b59";
-      sha256 = "1ywbm09jfh6cm2m6gracmdc3pp5p2dwraalbhfaafqaydjr22qc3";
+    version = "unstable-2019-12-02";
+    src = fetchFromGitHub {
+      owner = "tmux-plugins";
+      repo = "tmux-yank";
+      rev = "648005db64d9bf3c4650eff694ecb6cf3e42b0c8";
+      sha256 = "1zg9k8yk1iw01vl8m44w4sv20lln4l0lq9dafc09lxmgxm9dllj4";
     };
   };
 
diff --git a/pkgs/misc/tpm2-pkcs11/default.nix b/pkgs/misc/tpm2-pkcs11/default.nix
index 9e3be1101a6..a089488b0e0 100644
--- a/pkgs/misc/tpm2-pkcs11/default.nix
+++ b/pkgs/misc/tpm2-pkcs11/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tpm2-pkcs11";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "tpm2-software";
     repo = pname;
     rev = version;
-    sha256 = "0gqbbxh1y2vcznxw96xn1wpcvg613zzzrbbfrqbw3p7spbn65yfq";
+    sha256 = "0ydd88jc4pyf1v7008h2gf0napv6xpw4jn5w87slj9fphjdkwjiz";
   };
 
   patches = lib.singleton (
diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix
index 29dfb6558a9..06da268ff53 100644
--- a/pkgs/misc/uboot/default.nix
+++ b/pkgs/misc/uboot/default.nix
@@ -80,7 +80,7 @@ let
     dontStrip = true;
 
     meta = with lib; {
-      homepage = http://www.denx.de/wiki/U-Boot/;
+      homepage = "http://www.denx.de/wiki/U-Boot/";
       description = "Boot loader for embedded systems";
       license = licenses.gpl2;
       maintainers = with maintainers; [ dezgeg samueldr lopsided98 ];
diff --git a/pkgs/misc/urbit/default.nix b/pkgs/misc/urbit/default.nix
index a0b6be3a418..031b65a1ef6 100644
--- a/pkgs/misc/urbit/default.nix
+++ b/pkgs/misc/urbit/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "An operating function";
-    homepage = https://urbit.org;
+    homepage = "https://urbit.org";
     license = licenses.mit;
     maintainers = with maintainers; [ mudri ];
     platforms = with platforms; linux;
diff --git a/pkgs/misc/vim-plugins/aliases.nix b/pkgs/misc/vim-plugins/aliases.nix
index cfdd629369c..4cfb6ccd372 100644
--- a/pkgs/misc/vim-plugins/aliases.nix
+++ b/pkgs/misc/vim-plugins/aliases.nix
@@ -30,12 +30,17 @@ let
                              (removeRecurseForDerivations
                               (checkInPkgs n alias)))
                      aliases;
-in
 
-mapAliases {
+  deprecations = lib.mapAttrs (old: info:
+    throw "${old} was renamed to ${info.new} on ${info.date}. Please update to ${info.new}."
+  ) (builtins.fromJSON (builtins.readFile ./deprecated.json));
+
+in
+mapAliases ({
   airline             = vim-airline;
   alternative         = a-vim; # backwards compat, added 2014-10-21
   bats                = bats-vim;
+  BufOnly             = BufOnly-vim;
   calendar            = calendar-vim;
   coffee-script       = vim-coffee-script;
   coffeeScript        = vim-coffee-script; # backwards compat, added 2014-10-18
@@ -67,7 +72,7 @@ mapAliases {
   ghc-mod-vim         = ghcmod-vim;
   ghcmod              = ghcmod-vim;
   goyo                = goyo-vim;
-  Gist                = gist-vim;
+  Gist                = vim-gist;
   gitgutter           = vim-gitgutter;
   gundo               = gundo-vim;
   Gundo               = gundo-vim; # backwards compat, added 2015-10-03
@@ -133,7 +138,6 @@ mapAliases {
   wombat256           = wombat256-vim; # backwards compat, added 2015-7-8
   yankring            = YankRing-vim;
   Yankring            = YankRing-vim;
-  YouCompleteMe       = youcompleteme;
   xterm-color-table   = xterm-color-table-vim;
   zeavim              = zeavim-vim;
-}
+} // deprecations)
diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix
index 20cbbf275c3..e6bca9484a2 100644
--- a/pkgs/misc/vim-plugins/default.nix
+++ b/pkgs/misc/vim-plugins/default.nix
@@ -11,7 +11,6 @@ let
 
   # TL;DR
   # * Add your plugin to ./vim-plugin-names
-  # * sort -udf ./vim-plugin-names > sorted && mv sorted vim-plugin-names
   # * run ./update.py
   #
   # If additional modifications to the build process are required,
diff --git a/pkgs/misc/vim-plugins/deprecated.json b/pkgs/misc/vim-plugins/deprecated.json
new file mode 100644
index 00000000000..2af94f5df3d
--- /dev/null
+++ b/pkgs/misc/vim-plugins/deprecated.json
@@ -0,0 +1,18 @@
+{
+    "gist-vim": {
+        "date": "2020-03-27",
+        "new": "vim-gist"
+    },
+    "vim-jade": {
+        "date": "2020-03-27",
+        "new": "vim-pug"
+    },
+    "vundle": {
+        "date": "2020-03-27",
+        "new": "Vundle-vim"
+    },
+    "youcompleteme": {
+        "date": "2020-03-27",
+        "new": "YouCompleteMe"
+    }
+}
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix
index 2a5d2eb0dfd..68d2aae23ce 100644
--- a/pkgs/misc/vim-plugins/generated.nix
+++ b/pkgs/misc/vim-plugins/generated.nix
@@ -63,7 +63,7 @@ let
     pname = "ale";
     version = "2020-03-11";
     src = fetchFromGitHub {
-      owner = "w0rp";
+      owner = "dense-analysis";
       repo = "ale";
       rev = "bbe5153fcb36dec9860ced33ae8ff0b5d76ac02a";
       sha256 = "1xvmh66lgii98z6f4lk1mjs73ysrvs55xdlcmf224k3as822jmw0";
@@ -235,6 +235,17 @@ let
     };
   };
 
+  BufOnly-vim = buildVimPluginFrom2Nix {
+    pname = "BufOnly-vim";
+    version = "2010-10-18";
+    src = fetchFromGitHub {
+      owner = "vim-scripts";
+      repo = "BufOnly.vim";
+      rev = "43dd92303979bdb234a3cb2f5662847f7a3affe7";
+      sha256 = "1gvpaqvvxjma0dl1zai68bpv42608api4054appwkw9pgczkkcdl";
+    };
+  };
+
   calendar-vim = buildVimPluginFrom2Nix {
     pname = "calendar-vim";
     version = "2020-02-14";
@@ -294,7 +305,7 @@ let
     pname = "clang_complete";
     version = "2018-09-19";
     src = fetchFromGitHub {
-      owner = "Rip-Rip";
+      owner = "xavierd";
       repo = "clang_complete";
       rev = "0b98d7533ad967aac3fc4c1a5b0508dafa8a676f";
       sha256 = "04mdhc1kbv66blkn6qn98iyj659dac4z49nmpf3anglz8dgcxjgc";
@@ -378,6 +389,17 @@ let
     };
   };
 
+  coc-fzf = buildVimPluginFrom2Nix {
+    pname = "coc-fzf";
+    version = "2020-03-06";
+    src = fetchFromGitHub {
+      owner = "antoinemadec";
+      repo = "coc-fzf";
+      rev = "ca394b48ac9c78ce95d6cdf3807927a7b6bcfcbe";
+      sha256 = "1nsqdp2zma7rlzynm58z43vk5hyrcz8kn7ak32979p4a3fvdyj5c";
+    };
+  };
+
   coc-highlight = buildVimPluginFrom2Nix {
     pname = "coc-highlight";
     version = "2019-10-18";
@@ -622,12 +644,12 @@ let
 
   coc-tsserver = buildVimPluginFrom2Nix {
     pname = "coc-tsserver";
-    version = "2020-03-09";
+    version = "2020-03-21";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-tsserver";
-      rev = "dae0cc36b0245a601d4431ae8dd2319eaa919058";
-      sha256 = "1559c0hwyknz1j6vbigywg1fjads4wf8by59z0sri6aah9q77q2z";
+      rev = "54bea1ec1ab44802a155f876a4d1cc2c44b2bc42";
+      sha256 = "0npjc7c3x9mdqc6asav1f2wwv4p6lb5hk7c1p9b7m3vjg21w0k22";
     };
   };
 
@@ -900,7 +922,7 @@ let
     pname = "denite-extra";
     version = "2019-03-29";
     src = fetchFromGitHub {
-      owner = "chemzqm";
+      owner = "neoclide";
       repo = "denite-extra";
       rev = "af18257544027ce89269dba70c12aba1f5b9e23c";
       sha256 = "0bmq9yhylfd3v6bfwvakw3pbsz5kk8wlmmql0yllqayp6410w25a";
@@ -911,7 +933,7 @@ let
     pname = "denite-git";
     version = "2020-03-02";
     src = fetchFromGitHub {
-      owner = "chemzqm";
+      owner = "neoclide";
       repo = "denite-git";
       rev = "88b5323a6fc0ace197eed5205215d80f3b613f91";
       sha256 = "0b687i64hr8hll7pv7r1xz906b46cl2q62zm18ipikhkpva6iv13";
@@ -920,12 +942,12 @@ let
 
   denite-nvim = buildVimPluginFrom2Nix {
     pname = "denite-nvim";
-    version = "2020-03-18";
+    version = "2020-03-21";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "denite.nvim";
-      rev = "a184e87b7df5e8f35aee115153b37f178e47718c";
-      sha256 = "1na637k62sgpqx69r6j5prad4qdc9dp3psq75jhqyvhm3yq2432w";
+      rev = "c3206a06508a197650ee4e1d85da39ff24e3a56b";
+      sha256 = "1yy6j5zpja8jr1j8sghwc1l0fkb47r8cvv36ckf75x9x5gpylb5m";
     };
   };
 
@@ -944,7 +966,7 @@ let
     pname = "deoplete-clang";
     version = "2019-11-10";
     src = fetchFromGitHub {
-      owner = "zchee";
+      owner = "deoplete-plugins";
       repo = "deoplete-clang";
       rev = "2ea262e98edcb66e828f9077fcc844100320eb63";
       sha256 = "1wvk61f8ph2vpl6llzmir3qs3zwaw3lrphs16d1j7ljkdl3bk49k";
@@ -1000,7 +1022,7 @@ let
     pname = "deoplete-go";
     version = "2020-01-01";
     src = fetchFromGitHub {
-      owner = "zchee";
+      owner = "deoplete-plugins";
       repo = "deoplete-go";
       rev = "4f1ccd2ed70211fd025d052ec725c0b835bea487";
       sha256 = "0zmx98kz6pxfpakizr8xm1nrv1rjr0frz19pkik29mk6aj2b2l08";
@@ -1132,12 +1154,12 @@ let
 
   deoplete-nvim = buildVimPluginFrom2Nix {
     pname = "deoplete-nvim";
-    version = "2020-03-18";
+    version = "2020-03-21";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deoplete.nvim";
-      rev = "db7d2dc5f416634c9917054bcd6e1e5d925bb4d7";
-      sha256 = "1d34zy81j47icsrnbxpp4x9f35ihrmd0lnd0vphi216kdlkxk37b";
+      rev = "1439c621dc94016c504e1732ce8270081a42768f";
+      sha256 = "1c8qx839zmf52cfazlbbnlhxw6cvnsr3ds0rclawgycbl4s1qy8f";
     };
   };
 
@@ -1408,17 +1430,6 @@ let
     };
   };
 
-  gist-vim = buildVimPluginFrom2Nix {
-    pname = "gist-vim";
-    version = "2020-01-29";
-    src = fetchFromGitHub {
-      owner = "mattn";
-      repo = "gist-vim";
-      rev = "2158eceb210b0a354bc17aa4144554e5d8bb6c79";
-      sha256 = "1dz33c63q7gghz35hyrvbshqw20faccs7bvxlda5w70mkbz9h9c4";
-    };
-  };
-
   gitignore-vim = buildVimPluginFrom2Nix {
     pname = "gitignore-vim";
     version = "2014-03-16";
@@ -1463,6 +1474,17 @@ let
     };
   };
 
+  gruvbox-community = buildVimPluginFrom2Nix {
+    pname = "gruvbox-community";
+    version = "2020-02-24";
+    src = fetchFromGitHub {
+      owner = "gruvbox-community";
+      repo = "gruvbox";
+      rev = "f5711c15480b83378bde13306fa997057c0c81cd";
+      sha256 = "0vx289a7av31dxm58c6kmfdnsrwnq1rzj5rwci2pqjdac8ds2qm0";
+    };
+  };
+
   gundo-vim = buildVimPluginFrom2Nix {
     pname = "gundo-vim";
     version = "2020-01-15";
@@ -1827,6 +1849,17 @@ let
     };
   };
 
+  lightline-bufferline = buildVimPluginFrom2Nix {
+    pname = "lightline-bufferline";
+    version = "2020-02-14";
+    src = fetchFromGitHub {
+      owner = "mengelbrecht";
+      repo = "lightline-bufferline";
+      rev = "17683bc5802de7f295f2583a15461e2bc662f98b";
+      sha256 = "1rlamxwk2gm9pyxl9vym9w6rhgimzqa2hjghy3qdqwvif6w8ir6l";
+    };
+  };
+
   lightline-vim = buildVimPluginFrom2Nix {
     pname = "lightline-vim";
     version = "2020-03-16";
@@ -2038,12 +2071,12 @@ let
 
   neoformat = buildVimPluginFrom2Nix {
     pname = "neoformat";
-    version = "2020-03-03";
+    version = "2020-03-20";
     src = fetchFromGitHub {
       owner = "sbdchd";
       repo = "neoformat";
-      rev = "69140aedb7da5a5a0b25b82e7f756f91d08170ea";
-      sha256 = "132ksy20rb01xm18zwwl3lv5zapfhfvaf5zz6md8dnr5hvkvvrgx";
+      rev = "d02b169e70bd6d2b2365bf6cda721967616a30bf";
+      sha256 = "1cya26wfqc7l7dqy854m4kwrq3w66knmn2cgviqh9cnsjzhwxs0d";
     };
   };
 
@@ -2161,7 +2194,7 @@ let
     pname = "nerdcommenter";
     version = "2020-02-19";
     src = fetchFromGitHub {
-      owner = "scrooloose";
+      owner = "preservim";
       repo = "nerdcommenter";
       rev = "c62e618a1ab5a50a4028e3296500ba29d9b033d8";
       sha256 = "0w4bxj423dxxkcxnfmipf8x5jfm058rq4g3m98wzcz5zbambv3qs";
@@ -2172,7 +2205,7 @@ let
     pname = "nerdtree";
     version = "2020-02-20";
     src = fetchFromGitHub {
-      owner = "scrooloose";
+      owner = "preservim";
       repo = "nerdtree";
       rev = "e67324fdea7a192c7ce1b4c6b3c3b9f82f11eee7";
       sha256 = "0y7hd69k0i21cqgs11n80ljv6cl0gfcjjwa0dvdywpd8mmn1ad4k";
@@ -2269,12 +2302,12 @@ let
 
   nvim-lsp = buildVimPluginFrom2Nix {
     pname = "nvim-lsp";
-    version = "2020-03-19";
+    version = "2020-03-21";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvim-lsp";
-      rev = "6d5e81c71bb90568b3bf9ca061980b9b30cdbc15";
-      sha256 = "1va480pw7nk650bmh4z7rvr2a5sqd4q86y19341p6mj12p2r2fcv";
+      rev = "4fe58ec4e1fa3500c7ef98464174bf6c4cb8ce67";
+      sha256 = "1xyqbr0f2pgvbbk0cpg92pswavff910hy8rjkm05grhqw43vkzcg";
     };
   };
 
@@ -2458,7 +2491,7 @@ let
     pname = "purescript-vim";
     version = "2018-12-10";
     src = fetchFromGitHub {
-      owner = "raichoo";
+      owner = "purescript-contrib";
       repo = "purescript-vim";
       rev = "67ca4dc4a0291e5d8c8da48bffc0f3d2c9739e7f";
       sha256 = "1insh39hzbynr6qxb215qxhpifl5m8i5i0d09a3b6v679i7s11i8";
@@ -2601,7 +2634,7 @@ let
     pname = "riv-vim";
     version = "2020-02-17";
     src = fetchFromGitHub {
-      owner = "Rykka";
+      owner = "gu-fan";
       repo = "riv.vim";
       rev = "d52844691ca2f139e4b634db65aa49c57a0fc2b3";
       sha256 = "0s4jvqwlnmmh2zw9v9rlwynwx44ypdrzhhyfb20sippxg9g6z0c5";
@@ -2707,6 +2740,17 @@ let
     };
   };
 
+  SimpylFold = buildVimPluginFrom2Nix {
+    pname = "SimpylFold";
+    version = "2017-06-13";
+    src = fetchFromGitHub {
+      owner = "tmhedberg";
+      repo = "SimpylFold";
+      rev = "aa0371d9d708388f3ba385ccc67a7504586a20d9";
+      sha256 = "1gjv78x2cgh79a04l411kdhkm53f93czs54p07kadpa9659z93ss";
+    };
+  };
+
   sky-color-clock-vim = buildVimPluginFrom2Nix {
     pname = "sky-color-clock-vim";
     version = "2018-11-03";
@@ -2806,6 +2850,17 @@ let
     };
   };
 
+  splitjoin-vim = buildVimPluginFrom2Nix {
+    pname = "splitjoin-vim";
+    version = "2020-03-10";
+    src = fetchFromGitHub {
+      owner = "AndrewRadev";
+      repo = "splitjoin.vim";
+      rev = "fef5079e9dee55c2cf879ce2a4412fb5dcb40808";
+      sha256 = "1v6cm86klzbmzx2grzxprpxci3001yjfbnwdd1891rfggjlm4wj9";
+    };
+  };
+
   starsearch-vim = buildVimPluginFrom2Nix {
     pname = "starsearch-vim";
     version = "2014-09-21";
@@ -2832,7 +2887,7 @@ let
     pname = "sved";
     version = "2019-01-25";
     src = fetchFromGitHub {
-      owner = "peder2tm";
+      owner = "peterbjorgensen";
       repo = "sved";
       rev = "3362db72447e8ac812c7299c15ecfc9f41341713";
       sha256 = "1r2nv069d6r2q6gbiz795x94mfjm9hnv05zka085hhq9a3yf1pgx";
@@ -2854,7 +2909,7 @@ let
     pname = "syntastic";
     version = "2020-01-29";
     src = fetchFromGitHub {
-      owner = "scrooloose";
+      owner = "vim-syntastic";
       repo = "syntastic";
       rev = "f3766538720116f099a8b1517f76ae2f094afd20";
       sha256 = "1bzjav87fcibwlp8siqnx6x8wv8w3mwrrqrd5w19ny9scr5x2a65";
@@ -3579,12 +3634,12 @@ let
 
   vim-codefmt = buildVimPluginFrom2Nix {
     pname = "vim-codefmt";
-    version = "2020-02-26";
+    version = "2020-03-20";
     src = fetchFromGitHub {
       owner = "google";
       repo = "vim-codefmt";
-      rev = "6d69f933f243ed3d7797641bd41c0e65d245c931";
-      sha256 = "0vzzyz7v03ihky3vx12rji4l1r6vbxgslvc1fvi4dznfqn5m9gfn";
+      rev = "d6676620f7a85fa49e8893cad041df59497fd845";
+      sha256 = "01wrlq9h2wzngi8qna0zrwycrp0iqp7qsijyby287zbckrs25rnd";
     };
   };
 
@@ -3878,7 +3933,7 @@ let
     pname = "vim-elixir";
     version = "2020-03-11";
     src = fetchFromGitHub {
-      owner = "elixir-lang";
+      owner = "elixir-editors";
       repo = "vim-elixir";
       rev = "088cfc407460dea7b81c10b29db23843f85e7919";
       sha256 = "1w9w4arzlbjhd5kcvyv5fykq9djc4n4j1nc75qqlzsfggbjjwhbk";
@@ -4052,11 +4107,11 @@ let
 
   vim-fugitive = buildVimPluginFrom2Nix {
     pname = "vim-fugitive";
-    version = "2020-03-12";
+    version = "2020-03-22";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "9a4d730270882f9d39a411eb126143eda4d46963";
+      rev = "0e35c9bbc78159318e7b7ffd228f09a96afb8fde";
       sha256 = "098fz3lmfysv6gr5cjwgqsdzxjxygwc0x4ak1sxj3h6djys5x66b";
     };
   };
@@ -4072,6 +4127,17 @@ let
     };
   };
 
+  vim-gist = buildVimPluginFrom2Nix {
+    pname = "vim-gist";
+    version = "2020-01-29";
+    src = fetchFromGitHub {
+      owner = "mattn";
+      repo = "vim-gist";
+      rev = "2158eceb210b0a354bc17aa4144554e5d8bb6c79";
+      sha256 = "1dz33c63q7gghz35hyrvbshqw20faccs7bvxlda5w70mkbz9h9c4";
+    };
+  };
+
   vim-gista = buildVimPluginFrom2Nix {
     pname = "vim-gista";
     version = "2020-01-04";
@@ -4129,12 +4195,12 @@ let
 
   vim-go = buildVimPluginFrom2Nix {
     pname = "vim-go";
-    version = "2020-03-17";
+    version = "2020-03-20";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "f5d34f40d6757470f40600000c9c08de142d7ced";
-      sha256 = "0a2g8f9xza2m07qm4pcj2aqjh1yvs9cxn8f3zima06swfw2ahdh8";
+      rev = "50d52bafa00448ca8cde2b0e05b0fe71c9397762";
+      sha256 = "1c8dwllscwxiqp409zy7ajwz84bn8g7p9gldqrhx8i9l7q382z0w";
     };
   };
 
@@ -4391,17 +4457,6 @@ let
     };
   };
 
-  vim-jade = buildVimPluginFrom2Nix {
-    pname = "vim-jade";
-    version = "2019-09-23";
-    src = fetchFromGitHub {
-      owner = "digitaltoad";
-      repo = "vim-jade";
-      rev = "ea39cd942cf3194230cf72bfb838901a5344d3b3";
-      sha256 = "07141jkfnaia4ydc6qcg0bc06w720l2lzl7bm4bsjwswqrzmhfam";
-    };
-  };
-
   vim-janah = buildVimPluginFrom2Nix {
     pname = "vim-janah";
     version = "2018-10-01";
@@ -4513,6 +4568,17 @@ let
     };
   };
 
+  vim-kitty-navigator = buildVimPluginFrom2Nix {
+    pname = "vim-kitty-navigator";
+    version = "2019-11-04";
+    src = fetchFromGitHub {
+      owner = "knubie";
+      repo = "vim-kitty-navigator";
+      rev = "c32357892f10117291461631d51a6bfd20e72b9a";
+      sha256 = "0zqvcnbns0vbxkqr0mpiapql8cvp54nn5a6mwc7l24jr6plhiwmn";
+    };
+  };
+
   vim-lastplace = buildVimPluginFrom2Nix {
     pname = "vim-lastplace";
     version = "2020-01-20";
@@ -4625,12 +4691,12 @@ let
 
   vim-lsc = buildVimPluginFrom2Nix {
     pname = "vim-lsc";
-    version = "2020-02-11";
+    version = "2020-03-22";
     src = fetchFromGitHub {
       owner = "natebosch";
       repo = "vim-lsc";
-      rev = "62c6f6aa227b1b3ef5e7cf7df9f0a9c1d855d7fe";
-      sha256 = "1qimz08rqm4ch6dr0znwxl328593kmz0yxdqq15g1yrw4ig0fi22";
+      rev = "3dd7a19e8689847956266e0be1bbfb4ca12da746";
+      sha256 = "0dj1b8v9iz67m833x1z3s7jac0jpfxgs43ylc6m0v3al67qcb0mj";
     };
   };
 
@@ -4975,6 +5041,17 @@ let
     };
   };
 
+  vim-pico8-syntax = buildVimPluginFrom2Nix {
+    pname = "vim-pico8-syntax";
+    version = "2016-10-30";
+    src = fetchFromGitHub {
+      owner = "justinj";
+      repo = "vim-pico8-syntax";
+      rev = "dbdd92fad0533eeaeaea844815d4de11e9507ce7";
+      sha256 = "0say0bb74rdbabgsf7rrbm8x841pmgh80fwr6kn94fgphr3vhm0s";
+    };
+  };
+
   vim-plug = buildVimPluginFrom2Nix {
     pname = "vim-plug";
     version = "2020-01-27";
@@ -5063,6 +5140,17 @@ let
     };
   };
 
+  vim-pug = buildVimPluginFrom2Nix {
+    pname = "vim-pug";
+    version = "2019-09-23";
+    src = fetchFromGitHub {
+      owner = "digitaltoad";
+      repo = "vim-pug";
+      rev = "ea39cd942cf3194230cf72bfb838901a5344d3b3";
+      sha256 = "07141jkfnaia4ydc6qcg0bc06w720l2lzl7bm4bsjwswqrzmhfam";
+    };
+  };
+
   vim-puppet = buildVimPluginFrom2Nix {
     pname = "vim-puppet";
     version = "2019-09-16";
@@ -5074,6 +5162,17 @@ let
     };
   };
 
+  vim-python-pep8-indent = buildVimPluginFrom2Nix {
+    pname = "vim-python-pep8-indent";
+    version = "2019-05-13";
+    src = fetchFromGitHub {
+      owner = "hynek";
+      repo = "vim-python-pep8-indent";
+      rev = "b3a7395ce49b13145bbb54b1cdbfe6a33585bfe9";
+      sha256 = "0gkbjcwdizqivsrn0p1gdn1170jimkk1vyxhyr286nb5qxj2n8hh";
+    };
+  };
+
   vim-qml = buildVimPluginFrom2Nix {
     pname = "vim-qml";
     version = "2019-12-20";
@@ -5538,12 +5637,12 @@ let
 
   vim-test = buildVimPluginFrom2Nix {
     pname = "vim-test";
-    version = "2020-03-17";
+    version = "2020-03-21";
     src = fetchFromGitHub {
-      owner = "janko-m";
+      owner = "janko";
       repo = "vim-test";
-      rev = "d878e9d61f186140f18a7a8a8badc0605d8955ba";
-      sha256 = "06kihjif3g00bibx304vz22w2w9z84v0g6a55cxs1hqlc4ygnl8v";
+      rev = "b302a325116d8708dc0721b7cd97ff59536f4e75";
+      sha256 = "099dzadzhfkhf92lv5cmfk0iawbp40v1rz9xxp462hxxcn3p3c97";
     };
   };
 
@@ -5866,6 +5965,17 @@ let
     };
   };
 
+  vimacs = buildVimPluginFrom2Nix {
+    pname = "vimacs";
+    version = "2016-03-24";
+    src = fetchFromGitHub {
+      owner = "andrep";
+      repo = "vimacs";
+      rev = "7b8e297722d55089f0f0535fe6422533c98112fb";
+      sha256 = "0x92jcpdlvxhhdpwkv7ig9ya7s96yqjy6ms9xnx8djkf12xql16f";
+    };
+  };
+
   vimagit = buildVimPluginFrom2Nix {
     pname = "vimagit";
     version = "2020-01-12";
@@ -5956,12 +6066,12 @@ let
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2020-03-17";
+    version = "2020-03-21";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "16b23314b31862510d3feb8a2569199062b083ac";
-      sha256 = "0vibfwsyamp4jqbaaa872m922yg89fx7k0cfa6kfhr5ks4vhpya5";
+      rev = "8c59031d50feeec8b4f3549f70f82564975265f0";
+      sha256 = "16a7qpp19gci8hq8h2999pwv0gd6x0mqgifv325mlb0jj5lxy7m1";
     };
   };
 
@@ -6009,12 +6119,12 @@ let
     };
   };
 
-  vundle = buildVimPluginFrom2Nix {
-    pname = "vundle";
+  Vundle-vim = buildVimPluginFrom2Nix {
+    pname = "Vundle-vim";
     version = "2019-08-17";
     src = fetchFromGitHub {
-      owner = "gmarik";
-      repo = "vundle";
+      owner = "VundleVim";
+      repo = "Vundle.vim";
       rev = "b255382d6242d7ea3877bf059d2934125e0c4d95";
       sha256 = "0fkmklcq3fgvd6x6irz9bgyvcdaxafykk3k89gsi9p6b0ikw3rw6";
     };
@@ -6110,22 +6220,22 @@ let
 
   yats-vim = buildVimPluginFrom2Nix {
     pname = "yats-vim";
-    version = "2020-03-02";
+    version = "2020-03-21";
     src = fetchFromGitHub {
       owner = "HerringtonDarkholme";
       repo = "yats.vim";
-      rev = "68ef9623656fe9aaa53c1d9ab906f09c2c095f06";
-      sha256 = "0cn1k8lda71vm4gx14ly9gdvk1j17jds0axx9jvjp4w9jid6ksqk";
+      rev = "4d3f69a3a5f56bae9475a96c3291ffdcbd9ff0b1";
+      sha256 = "0f3dq4lrm9xzh780fd471b7ddibfzb9vfq1k6gn53pmqpiw6a498";
       fetchSubmodules = true;
     };
   };
 
-  youcompleteme = buildVimPluginFrom2Nix {
-    pname = "youcompleteme";
+  YouCompleteMe = buildVimPluginFrom2Nix {
+    pname = "YouCompleteMe";
     version = "2020-03-18";
     src = fetchFromGitHub {
-      owner = "valloric";
-      repo = "youcompleteme";
+      owner = "ycm-core";
+      repo = "YouCompleteMe";
       rev = "cf4a76acaeed27eb3ca1dca5adf1115b6abbcfa3";
       sha256 = "0si9by2ag2f7xgxidp5215d6wkg1mdhq9j5c4icdpsly9gv3w5s8";
       fetchSubmodules = true;
@@ -6169,7 +6279,7 @@ let
     pname = "zig-vim";
     version = "2020-02-10";
     src = fetchFromGitHub {
-      owner = "zig-lang";
+      owner = "ziglang";
       repo = "zig.vim";
       rev = "55b690029791022fd7818ebd0ee395e8976899fe";
       sha256 = "10xkrn4yhjda187mpw1y3qw0s6bp7aklk87pansaa3fvysdf3b6c";
diff --git a/pkgs/misc/vim-plugins/overrides.nix b/pkgs/misc/vim-plugins/overrides.nix
index e4710e27193..28aabd1baa0 100644
--- a/pkgs/misc/vim-plugins/overrides.nix
+++ b/pkgs/misc/vim-plugins/overrides.nix
@@ -393,22 +393,10 @@ self: super: {
     configurePhase = "cd plugins/nvim";
   });
 
-  gist-vim = super.gist-vim.overrideAttrs(old: {
+  vim-gist = super.vim-gist.overrideAttrs(old: {
     dependencies = with super; [ webapi-vim ];
   });
 
-  gruvbox-community = buildVimPluginFrom2Nix {
-    pname = "gruvbox-community";
-    version = "2019-05-31";
-    src = fetchFromGitHub {
-      owner = "gruvbox-community";
-      repo = "gruvbox";
-      rev = "e122091dad968a5524f3e8136615a479c7b6f247";
-      sha256 = "1hncjyfi1gbw62b2pngy5qxyzibrhbyzgfmm9a58sdh1272l8ls8";
-    };
-    meta.maintainers = with stdenv.lib.maintainers; [ minijackson ];
-  };
-
   meson = buildVimPluginFrom2Nix {
     inherit (meson) pname version src;
     preInstall = "cd data/syntax-highlighting/vim";
@@ -460,6 +448,21 @@ self: super: {
       };
     });
 
+  vimacs = super.vimacs.overrideAttrs(old: {
+    buildPhase = ''
+      substituteInPlace bin/vim \
+        --replace '/usr/bin/vim' 'vim' \
+        --replace '/usr/bin/gvim' 'gvim'
+      # remove unnecessary duplicated bin wrapper script
+      rm -r plugin/vimacs
+    '';
+    meta = with stdenv.lib; {
+      description = "Vim-Improved eMACS: Emacs emulation plugin for Vim";
+      homepage = "http://algorithm.com.au/code/vimacs";
+      license = licenses.gpl2Plus;
+      maintainers = with stdenv.lib.maintainers; [ millerjason ];
+    };
+  });
 
   vimshell-vim = super.vimshell-vim.overrideAttrs(old: {
     dependencies = with super; [ vimproc-vim ];
@@ -531,7 +534,7 @@ self: super: {
     dependencies = with super; [ vim-misc ];
     patches = [
       (fetchpatch { # https://github.com/xolox/vim-easytags/pull/170 fix version detection for universal-ctags
-        url = https://github.com/xolox/vim-easytags/commit/46e4709500ba3b8e6cf3e90aeb95736b19e49be9.patch;
+        url = "https://github.com/xolox/vim-easytags/commit/46e4709500ba3b8e6cf3e90aeb95736b19e49be9.patch";
         sha256 = "0x0xabb56xkgdqrg1mpvhbi3yw4d829n73lsnnyj5yrxjffy4ax4";
       })
     ];
@@ -640,7 +643,7 @@ self: super: {
     sourceRoot = ".";
   });
 
-  youcompleteme = super.youcompleteme.overrideAttrs(old: {
+  YouCompleteMe = super.YouCompleteMe.overrideAttrs(old: {
     buildPhase = ''
       substituteInPlace plugin/youcompleteme.vim \
         --replace "'ycm_path_to_python_interpreter', '''" \
@@ -691,7 +694,7 @@ self: super: {
 
   unicode-vim = let
     unicode-data = fetchurl {
-      url = http://www.unicode.org/Public/UNIDATA/UnicodeData.txt;
+      url = "http://www.unicode.org/Public/UNIDATA/UnicodeData.txt";
       sha256 = "16b0jzvvzarnlxdvs2izd5ia0ipbd87md143dc6lv6xpdqcs75s9";
     };
   in super.unicode-vim.overrideAttrs(old: {
diff --git a/pkgs/misc/vim-plugins/update.py b/pkgs/misc/vim-plugins/update.py
index 0ef93ac569a..fe8cb90d103 100755
--- a/pkgs/misc/vim-plugins/update.py
+++ b/pkgs/misc/vim-plugins/update.py
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -p nix-prefetch-git -p python3 nix -i python3
+#!nix-shell -p nix-prefetch-git -p python3 -p python3Packages.GitPython nix -i python3
 
 # format:
 # $ nix run nixpkgs.python3Packages.black -c black update.py
@@ -10,12 +10,14 @@
 
 import argparse
 import functools
+import http
 import json
 import os
 import subprocess
 import sys
 import traceback
 import urllib.error
+import urllib.parse
 import urllib.request
 import xml.etree.ElementTree as ET
 from datetime import datetime
@@ -25,6 +27,8 @@ from typing import Dict, List, Optional, Tuple, Union, Any, Callable
 from urllib.parse import urljoin, urlparse
 from tempfile import NamedTemporaryFile
 
+import git
+
 ATOM_ENTRY = "{http://www.w3.org/2005/Atom}entry"  # " vim gets confused here
 ATOM_LINK = "{http://www.w3.org/2005/Atom}link"  # "
 ATOM_UPDATED = "{http://www.w3.org/2005/Atom}updated"  # "
@@ -32,6 +36,7 @@ ATOM_UPDATED = "{http://www.w3.org/2005/Atom}updated"  # "
 ROOT = Path(__file__).parent
 DEFAULT_IN = ROOT.joinpath("vim-plugin-names")
 DEFAULT_OUT = ROOT.joinpath("generated.nix")
+DEPRECATED = ROOT.joinpath("deprecated.json")
 
 import time
 from functools import wraps
@@ -71,9 +76,11 @@ def retry(ExceptionToCheck: Any, tries: int = 4, delay: float = 3, backoff: floa
 
 
 class Repo:
-    def __init__(self, owner: str, name: str) -> None:
+    def __init__(self, owner: str, name: str, alias: Optional[str]) -> None:
         self.owner = owner
         self.name = name
+        self.alias = alias
+        self.redirect: Dict[str, str] = {}
 
     def url(self, path: str) -> str:
         return urljoin(f"https://github.com/{self.owner}/{self.name}/", path)
@@ -96,7 +103,9 @@ class Repo:
 
     @retry(urllib.error.URLError, tries=4, delay=3, backoff=2)
     def latest_commit(self) -> Tuple[str, datetime]:
-        with urllib.request.urlopen(self.url("commits/master.atom"), timeout=10) as req:
+        commit_url = self.url("commits/master.atom")
+        with urllib.request.urlopen(commit_url, timeout=10) as req:
+            self.check_for_redirect(commit_url, req)
             xml = req.read()
             root = ET.fromstring(xml)
             latest_entry = root.find(ATOM_ENTRY)
@@ -111,6 +120,19 @@ class Repo:
             updated = datetime.strptime(updated_tag.text, "%Y-%m-%dT%H:%M:%SZ")
             return Path(str(url.path)).name, updated
 
+    def check_for_redirect(self, url: str, req: http.client.HTTPResponse):
+        response_url = req.geturl()
+        if url != response_url:
+            new_owner, new_name = (
+                urllib.parse.urlsplit(response_url).path.strip("/").split("/")[:2]
+            )
+            end_line = "\n" if self.alias is None else f" as {self.alias}\n"
+            plugin_line = "{owner}/{name}" + end_line
+
+            old_plugin = plugin_line.format(owner=self.owner, name=self.name)
+            new_plugin = plugin_line.format(owner=new_owner, name=new_name)
+            self.redirect[old_plugin] = new_plugin
+
     def prefetch_git(self, ref: str) -> str:
         data = subprocess.check_output(
             ["nix-prefetch-git", "--fetch-submodules", self.url(""), ref]
@@ -197,15 +219,17 @@ def get_current_plugins() -> List[Plugin]:
     return plugins
 
 
-def prefetch_plugin(user: str, repo_name: str, alias: str, cache: "Cache") -> Plugin:
-    repo = Repo(user, repo_name)
+def prefetch_plugin(
+    user: str, repo_name: str, alias: Optional[str], cache: "Optional[Cache]" = None
+) -> Tuple[Plugin, Dict[str, str]]:
+    repo = Repo(user, repo_name, alias)
     commit, date = repo.latest_commit()
     has_submodules = repo.has_submodules()
-    cached_plugin = cache[commit]
+    cached_plugin = cache[commit] if cache else None
     if cached_plugin is not None:
         cached_plugin.name = alias or repo_name
         cached_plugin.date = date
-        return cached_plugin
+        return cached_plugin, repo.redirect
 
     print(f"prefetch {user}/{repo_name}")
     if has_submodules:
@@ -213,7 +237,15 @@ def prefetch_plugin(user: str, repo_name: str, alias: str, cache: "Cache") -> Pl
     else:
         sha256 = repo.prefetch_github(commit)
 
-    return Plugin(alias or repo_name, commit, has_submodules, sha256, date=date)
+    return (
+        Plugin(alias or repo_name, commit, has_submodules, sha256, date=date),
+        repo.redirect,
+    )
+
+
+def fetch_plugin_from_pluginline(plugin_line: str) -> Plugin:
+    plugin, _ = prefetch_plugin(*parse_plugin_line(plugin_line))
+    return plugin
 
 
 def print_download_error(plugin: str, ex: Exception):
@@ -227,20 +259,22 @@ def print_download_error(plugin: str, ex: Exception):
 
 
 def check_results(
-    results: List[Tuple[str, str, Union[Exception, Plugin]]]
-) -> List[Tuple[str, str, Plugin]]:
+    results: List[Tuple[str, str, Union[Exception, Plugin], Dict[str, str]]]
+) -> Tuple[List[Tuple[str, str, Plugin]], Dict[str, str]]:
     failures: List[Tuple[str, Exception]] = []
     plugins = []
-    for (owner, name, result) in results:
+    redirects: Dict[str, str] = {}
+    for (owner, name, result, redirect) in results:
         if isinstance(result, Exception):
             failures.append((name, result))
         else:
             plugins.append((owner, name, result))
+            redirects.update(redirect)
 
     print(f"{len(results) - len(failures)} plugins were checked", end="")
     if len(failures) == 0:
         print()
-        return plugins
+        return plugins, redirects
     else:
         print(f", {len(failures)} plugin(s) could not be downloaded:\n")
 
@@ -328,15 +362,15 @@ class Cache:
 
 def prefetch(
     args: Tuple[str, str, str], cache: Cache
-) -> Tuple[str, str, Union[Exception, Plugin]]:
+) -> Tuple[str, str, Union[Exception, Plugin], dict]:
     assert len(args) == 3
     owner, repo, alias = args
     try:
-        plugin = prefetch_plugin(owner, repo, alias, cache)
+        plugin, redirect = prefetch_plugin(owner, repo, alias, cache)
         cache[plugin.commit] = plugin
-        return (owner, repo, plugin)
+        return (owner, repo, plugin, redirect)
     except Exception as e:
-        return (owner, repo, e)
+        return (owner, repo, e, {})
 
 
 header = (
@@ -386,6 +420,37 @@ in lib.fix' (lib.extends overrides packages)
     print(f"updated {outfile}")
 
 
+def rewrite_input(
+    input_file: Path, redirects: Dict[str, str] = None, append: Tuple = ()
+):
+    with open(input_file, "r") as f:
+        lines = f.readlines()
+
+    lines.extend(append)
+
+    if redirects:
+        lines = [redirects.get(line, line) for line in lines]
+
+        cur_date_iso = datetime.now().strftime("%Y-%m-%d")
+        with open(DEPRECATED, "r") as f:
+            deprecations = json.load(f)
+        for old, new in redirects.items():
+            old_plugin = fetch_plugin_from_pluginline(old)
+            new_plugin = fetch_plugin_from_pluginline(new)
+            if old_plugin.normalized_name != new_plugin.normalized_name:
+                deprecations[old_plugin.normalized_name] = {
+                    "new": new_plugin.normalized_name,
+                    "date": cur_date_iso,
+                }
+        with open(DEPRECATED, "w") as f:
+            json.dump(deprecations, f, indent=4, sort_keys=True)
+
+    lines = sorted(lines, key=str.casefold)
+
+    with open(input_file, "w") as f:
+        f.writelines(lines)
+
+
 def parse_args():
     parser = argparse.ArgumentParser(
         description=(
@@ -394,6 +459,13 @@ def parse_args():
         )
     )
     parser.add_argument(
+        "--add",
+        dest="add_plugins",
+        default=[],
+        action="append",
+        help="Plugin to add to vimPlugins from Github in the form owner/repo",
+    )
+    parser.add_argument(
         "--input-names",
         "-i",
         dest="input_file",
@@ -407,30 +479,77 @@ def parse_args():
         default=DEFAULT_OUT,
         help="Filename to save generated nix code",
     )
-
+    parser.add_argument(
+        "--proc",
+        "-p",
+        dest="proc",
+        type=int,
+        default=30,
+        help="Number of concurrent processes to spawn.",
+    )
     return parser.parse_args()
 
 
-def main() -> None:
+def commit(repo: git.Repo, message: str, files: List[Path]) -> None:
+    files_staged = repo.index.add([str(f.resolve()) for f in files])
 
-    args = parse_args()
-    plugin_names = load_plugin_spec(args.input_file)
-    current_plugins = get_current_plugins()
-    cache = Cache(current_plugins)
+    if files_staged:
+        print(f'committing to nixpkgs "{message}"')
+        repo.index.commit(message)
+    else:
+        print("no changes in working tree to commit")
 
-    prefetch_with_cache = functools.partial(prefetch, cache=cache)
 
-    try:
-        # synchronous variant for debugging
-        # results = list(map(prefetch_with_cache, plugin_names))
-        pool = Pool(processes=30)
-        results = pool.map(prefetch_with_cache, plugin_names)
-    finally:
-        cache.store()
+def get_update(input_file: str, outfile: str, proc: int):
+    cache: Cache = Cache(get_current_plugins())
+    _prefetch = functools.partial(prefetch, cache=cache)
+
+    def update() -> dict:
+        plugin_names = load_plugin_spec(input_file)
+
+        try:
+            pool = Pool(processes=proc)
+            results = pool.map(_prefetch, plugin_names)
+        finally:
+            cache.store()
 
-    plugins = check_results(results)
+        plugins, redirects = check_results(results)
 
-    generate_nix(plugins, args.outfile)
+        generate_nix(plugins, outfile)
+
+        return redirects
+
+    return update
+
+
+def main():
+    args = parse_args()
+    nixpkgs_repo = git.Repo(ROOT, search_parent_directories=True)
+    update = get_update(args.input_file, args.outfile, args.proc)
+
+    redirects = update()
+    rewrite_input(args.input_file, redirects)
+    commit(nixpkgs_repo, "vimPlugins: update", [args.outfile])
+
+    if redirects:
+        update()
+        commit(
+            nixpkgs_repo,
+            "vimPlugins: resolve github repository redirects",
+            [args.outfile, args.input_file, DEPRECATED],
+        )
+
+    for plugin_line in args.add_plugins:
+        rewrite_input(args.input_file, append=(plugin_line + "\n",))
+        update()
+        plugin = fetch_plugin_from_pluginline(plugin_line)
+        commit(
+            nixpkgs_repo,
+            "vimPlugins.{name}: init at {version}".format(
+                name=plugin.normalized_name, version=plugin.version
+            ),
+            [args.outfile, args.input_file],
+        )
 
 
 if __name__ == "__main__":
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index 86d9912e4ed..f2a68ab5a79 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -9,10 +9,13 @@ alvan/vim-closetag
 alx741/vim-hindent
 alx741/vim-stylishask
 amiorin/ctrlp-z
+andrep/vimacs
 andreshazard/vim-logreview
+AndrewRadev/splitjoin.vim
 andsild/peskcolor.vim
 andviro/flake8-vim
 andys8/vim-elm-syntax
+antoinemadec/coc-fzf
 ap/vim-css-color
 arcticicestudio/nord-vim
 artur-shaik/vim-javacomplete2
@@ -20,8 +23,8 @@ autozimu/LanguageClient-neovim
 ayu-theme/ayu-vim
 bazelbuild/vim-bazel
 bbchung/clighter8
-benmills/vimux
 benizi/vim-automkdir
+benmills/vimux
 bhurlow/vim-parinfer
 bitc/vim-hdevtools
 bkad/camelcasemotion
@@ -35,8 +38,6 @@ brooth/far.vim
 carlitux/deoplete-ternjs
 ccarpita/rtorrent-syntax-file
 cespare/vim-toml
-chemzqm/denite-extra
-chemzqm/denite-git
 Chiel92/vim-autoformat
 chikatoike/concealedyank.vim
 chikatoike/sourcemap.vim
@@ -57,22 +58,25 @@ cocopon/iceberg.vim
 cohama/lexima.vim
 ctjhoa/spacevim
 ctrlpvim/ctrlp.vim
-dag/vim2hs
 dag/vim-fish
+dag/vim2hs
 dannyob/quickfixstatus
 darfink/starsearch.vim
 dart-lang/dart-vim-plugin
 david-a-wheeler/vim-metamath
 davidhalter/jedi-vim
 dcharbon/vim-flatbuffers
+dense-analysis/ale
+deoplete-plugins/deoplete-clang
 deoplete-plugins/deoplete-dictionary
+deoplete-plugins/deoplete-go
 deoplete-plugins/deoplete-jedi
 deoplete-plugins/deoplete-zsh
 derekelkins/agda-vim
 derekwyatt/vim-scala
 dhruvasagar/vim-prosession
 dhruvasagar/vim-table-mode
-digitaltoad/vim-jade
+digitaltoad/vim-pug
 direnv/direnv.vim
 dleonard0/pony-vim-syntax
 dracula/vim
@@ -85,7 +89,7 @@ easymotion/vim-easymotion
 editorconfig/editorconfig-vim
 ehamberg/vim-cute-python
 eikenb/acp
-elixir-lang/vim-elixir
+elixir-editors/vim-elixir
 elmcast/elm-vim
 elzr/vim-json
 embear/vim-localvimrc
@@ -108,7 +112,6 @@ garbas/vim-snipmate
 gentoo/gentoo-syntax
 gibiansky/vim-textobj-haskell
 glts/vim-textobj-comment
-gmarik/vundle
 godlygeek/csapprox
 godlygeek/tabular
 google/vim-codefmt
@@ -117,6 +120,8 @@ google/vim-maktaba
 gorkunov/smartpairs.vim
 gotcha/vimelette
 gregsexton/gitv
+gruvbox-community/gruvbox as gruvbox-community
+gu-fan/riv.vim
 guns/vim-clojure-highlight
 guns/vim-clojure-static
 guns/vim-sexp
@@ -133,6 +138,7 @@ honza/vim-snippets
 hotwatermorning/auto-git-diff
 hsanson/vim-android
 hsitz/VimOrganizer
+hynek/vim-python-pep8-indent
 iamcco/coc-spell-checker
 ianks/vim-tsx
 icymind/NeoSolarized
@@ -147,7 +153,7 @@ itchyny/vim-cursorword
 itchyny/vim-gitbranch
 ivanov/vim-ipython
 jacoborus/tender.vim
-janko-m/vim-test
+janko/vim-test
 jaredgorski/SpaceCamp
 JazzCore/ctrlp-cmatcher
 jceb/vim-hier
@@ -203,6 +209,7 @@ kchmck/vim-coffee-script
 KeitaNakamura/neodark.vim
 keith/swift.vim
 kien/rainbow_parentheses.vim
+knubie/vim-kitty-navigator
 konfekt/fastfold
 kristijanhusak/defx-git
 kristijanhusak/defx-icons
@@ -259,7 +266,7 @@ markonm/traces.vim
 martinda/Jenkinsfile-vim-syntax
 mattn/calendar-vim as mattn-calendar-vim
 mattn/emmet-vim
-mattn/gist-vim
+mattn/vim-gist
 mattn/webapi-vim
 matze/vim-move
 maximbaz/lightline-ale
@@ -267,6 +274,7 @@ MaxMEllon/vim-jsx-pretty
 mbbill/undotree
 megaannum/forms
 megaannum/self
+mengelbrecht/lightline-bufferline
 mfukar/robotframework-vim
 mg979/vim-visual-multi
 mhinz/vim-grepper
@@ -314,8 +322,8 @@ neoclide/coc-neco
 neoclide/coc-pairs
 neoclide/coc-prettier
 neoclide/coc-python
-neoclide/coc-rls
 neoclide/coc-r-lsp
+neoclide/coc-rls
 neoclide/coc-smartf
 neoclide/coc-snippets
 neoclide/coc-solargraph
@@ -329,12 +337,14 @@ neoclide/coc-vimtex
 neoclide/coc-wxml
 neoclide/coc-yaml
 neoclide/coc-yank
+neoclide/denite-extra
+neoclide/denite-git
 neoclide/vim-easygit
 neomake/neomake
+neovim/nvim-lsp
+neovim/nvimdev.nvim
 neovimhaskell/haskell-vim
 neovimhaskell/nvim-hs.vim
-neovim/nvimdev.nvim
-neovim/nvim-lsp
 neutaaaaan/iosvkem
 nfnty/vim-nftables
 nicoe/deoplete-khard
@@ -355,7 +365,7 @@ osyo-manga/vim-watchdogs
 pangloss/vim-javascript
 parsonsmatt/intero-neovim
 pearofducks/ansible-vim
-peder2tm/sved
+peterbjorgensen/sved
 peterhoeg/vim-qml
 phanviet/vim-monokai-pro
 plasticboy/vim-markdown
@@ -363,7 +373,10 @@ ponko2/deoplete-fish
 posva/vim-vue
 powerman/vim-plugin-AnsiEsc
 PProvost/vim-ps1
+preservim/nerdcommenter
+preservim/nerdtree
 ptzz/lf.vim
+purescript-contrib/purescript-vim
 python-mode/python-mode
 qnighy/lalrpop.vim
 qpkorr/vim-bufkill
@@ -372,16 +385,15 @@ racer-rust/vim-racer
 rafaqz/ranger.vim
 rafi/awesome-vim-colorschemes
 raghur/vim-ghost
-raichoo/purescript-vim
 Raimondi/delimitMate
 rakr/vim-one
 rbgrouleff/bclose.vim
 reedes/vim-pencil
+justinj/vim-pico8-syntax
 reedes/vim-wordy
 rhysd/committia.vim
 rhysd/vim-grammarous
 rhysd/vim-operator-surround
-Rip-Rip/clang_complete
 rodjek/vim-puppet
 romainl/vim-cool
 ron89/thesaurus_query.vim
@@ -391,15 +403,11 @@ roxma/nvim-yarp
 RRethy/vim-illuminate
 rust-lang/rust.vim
 ryanoasis/vim-devicons
-Rykka/riv.vim
 ryvnf/readline.vim
 sakhnik/nvim-gdb
 saltstack/salt-vim
 samoshkin/vim-mergetool
 sbdchd/neoformat
-scrooloose/nerdcommenter
-scrooloose/nerdtree
-scrooloose/syntastic
 sebastianmarkow/deoplete-rust
 SevereOverfl0w/deoplete-github
 sheerun/vim-polyglot
@@ -443,6 +451,7 @@ ternjs/tern_for_vim
 terryma/vim-expand-region
 terryma/vim-multiple-cursors
 tex/vimpreviewpandoc
+tmhedberg/SimpylFold
 thinca/vim-ft-diff_fold
 thinca/vim-prettyprint
 thinca/vim-quickrun
@@ -501,22 +510,20 @@ uarun/vim-protobuf
 udalov/kotlin-vim
 ujihisa/neco-look
 unblevable/quick-scope
-valloric/youcompleteme
 Valodim/deoplete-notmuch
 vhda/verilog_systemverilog.vim
 vim-airline/vim-airline
 vim-airline/vim-airline-themes
-vimlab/split-term.vim
-vimoutliner/vimoutliner
 vim-pandoc/vim-pandoc
 vim-pandoc/vim-pandoc-after
 vim-pandoc/vim-pandoc-syntax
 vim-ruby/vim-ruby
+vim-scripts/a.vim
 vim-scripts/align
 vim-scripts/argtextobj.vim
 vim-scripts/autoload_cscope.vim
-vim-scripts/a.vim
 vim-scripts/bats.vim
+vim-scripts/BufOnly.vim
 vim-scripts/changeColorScheme.vim
 vim-scripts/Colour-Sampler-Pack
 vim-scripts/DoxygenToolkit.vim
@@ -537,12 +544,15 @@ vim-scripts/taglist.vim
 vim-scripts/utl.vim
 vim-scripts/wombat256.vim
 vim-scripts/YankRing.vim
+vim-syntastic/syntastic
 vim-utils/vim-husk
+vimlab/split-term.vim
+vimoutliner/vimoutliner
 vimwiki/vimwiki
 vito-c/jq.vim
 vmchale/ats-vim
 vmchale/dhall-vim
-w0rp/ale
+VundleVim/Vundle.vim
 wakatime/vim-wakatime
 wannesm/wmgraphviz.vim
 wellle/targets.vim
@@ -551,11 +561,11 @@ will133/vim-dirdiff
 wincent/command-t
 wincent/ferret
 wsdjeg/vim-fetch
+xavierd/clang_complete
 xolox/vim-easytags
 xolox/vim-misc
 xuhdev/vim-latex-live-preview
+ycm-core/YouCompleteMe
 Yggdroot/indentLine
 zah/nim.vim
-zchee/deoplete-clang
-zchee/deoplete-go
-zig-lang/zig.vim
+ziglang/zig.vim
diff --git a/pkgs/misc/vscode-extensions/cpptools/default.nix b/pkgs/misc/vscode-extensions/cpptools/default.nix
index d129bda33f4..77cf28c552e 100644
--- a/pkgs/misc/vscode-extensions/cpptools/default.nix
+++ b/pkgs/misc/vscode-extensions/cpptools/default.nix
@@ -83,8 +83,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
   mktplcRef = {
     name = "cpptools";
     publisher = "ms-vscode";
-    version = "0.26.3";
-    sha256 = "1rwyvqk3gp5f75x73d33biqvq67xx2vz1lmh3y3ax8kaf9z8jfvr";
+    version = "0.27.0";
+    sha256 = "06l25fjlcj0m7f7883afbh0x2ikgkqi768kv8y4qi1jc1gxndpm0";
   };
 
   buildInputs = [
diff --git a/pkgs/misc/vscode-extensions/python/default.nix b/pkgs/misc/vscode-extensions/python/default.nix
index 604d0fa3ad9..8f5a92e4722 100644
--- a/pkgs/misc/vscode-extensions/python/default.nix
+++ b/pkgs/misc/vscode-extensions/python/default.nix
@@ -41,8 +41,8 @@ in vscode-utils.buildVscodeMarketplaceExtension {
   mktplcRef = {
     name = "python";
     publisher = "ms-python";
-    version = "2020.3.69010";
-    sha256 = "1dg8wfc3yl0msg6c9ccbvwc78f559109slsagi0lgnbc40v6v24b";
+    version = "2020.3.71659";
+    sha256 = "1smhnhkfchmljz8aj1br70023ysgd2hj6pm1ncn1jxphf89qi1ja";
   };
 
   buildInputs = [
diff --git a/pkgs/misc/vscode-extensions/remote-ssh/default.nix b/pkgs/misc/vscode-extensions/remote-ssh/default.nix
index fe053dd7ea3..e58ea98a606 100644
--- a/pkgs/misc/vscode-extensions/remote-ssh/default.nix
+++ b/pkgs/misc/vscode-extensions/remote-ssh/default.nix
@@ -7,7 +7,7 @@
 
 let
   inherit (vscode-utils) buildVscodeMarketplaceExtension;
-  
+
   # patch runs on remote machine hence use of which
   # links to local node if version is 12
   patch = ''
@@ -36,8 +36,8 @@ in
     mktplcRef = {
       name = "remote-ssh";
       publisher = "ms-vscode-remote";
-      version = "0.48.0";
-      sha256 = "04q53gljqh5snkrdf5l69g0ahn1s5z35a4ipfcbf1rsjjmm85a19";
+      version = "0.50.0";
+      sha256 = "01pyd6759p5nkjhjy3iplrl748xblr54l1jphk2g02s1n5ds2qb9";
     };
 
     postPatch = ''
diff --git a/pkgs/misc/vscode-extensions/vscode-utils.nix b/pkgs/misc/vscode-extensions/vscode-utils.nix
index df8f24fcce7..5d446b025d7 100644
--- a/pkgs/misc/vscode-extensions/vscode-utils.nix
+++ b/pkgs/misc/vscode-extensions/vscode-utils.nix
@@ -51,12 +51,15 @@ let
   buildVscodeMarketplaceExtension = a@{
     name ? "",
     src ? null,
+    vsix ? null,
     mktplcRef,
     ...
   }: assert "" == name; assert null == src;
-  buildVscodeExtension ((removeAttrs a [ "mktplcRef" ]) // {
+  buildVscodeExtension ((removeAttrs a [ "mktplcRef" "vsix" ]) // {
     name = "${mktplcRef.publisher}-${mktplcRef.name}-${mktplcRef.version}";
-    src = fetchVsixFromVscodeMarketplace mktplcRef;
+    src = if (vsix != null)
+      then vsix
+      else fetchVsixFromVscodeMarketplace mktplcRef;
     vscodeExtUniqueId = "${mktplcRef.publisher}.${mktplcRef.name}";
   });
 
diff --git a/pkgs/misc/xosd/default.nix b/pkgs/misc/xosd/default.nix
index a841acdca94..561f915d663 100644
--- a/pkgs/misc/xosd/default.nix
+++ b/pkgs/misc/xosd/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Displays text on your screen";
-    homepage = https://sourceforge.net/projects/libxosd;
+    homepage = "https://sourceforge.net/projects/libxosd";
     license = licenses.gpl2;
     platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ pSub ];