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/brightnessctl/default.nix5
-rw-r--r--pkgs/misc/cups/default.nix6
-rw-r--r--pkgs/misc/cups/drivers/mfcl8690cdwcupswrapper/default.nix45
-rw-r--r--pkgs/misc/cups/drivers/mfcl8690cdwlpr/default.nix45
-rw-r--r--pkgs/misc/cups/drivers/splix/default.nix50
-rw-r--r--pkgs/misc/drivers/foo2zjs/default.nix5
-rw-r--r--pkgs/misc/drivers/xwiimote/default.nix2
-rw-r--r--pkgs/misc/emulators/atari800/default.nix10
-rw-r--r--pkgs/misc/emulators/caprice32/default.nix6
-rw-r--r--pkgs/misc/emulators/ccemux/default.nix66
-rw-r--r--pkgs/misc/emulators/dolphin-emu/master.nix6
-rw-r--r--pkgs/misc/emulators/dosbox/unstable.nix1
-rw-r--r--pkgs/misc/emulators/gens-gs/default.nix9
-rw-r--r--pkgs/misc/emulators/vice/default.nix2
-rw-r--r--pkgs/misc/emulators/wine/base.nix2
-rw-r--r--pkgs/misc/jackaudio/jack1.nix6
-rw-r--r--pkgs/misc/phabricator/default.nix1
-rw-r--r--pkgs/misc/screensavers/vlock/default.nix2
-rw-r--r--pkgs/misc/screensavers/xlockmore/default.nix10
-rw-r--r--pkgs/misc/screensavers/xscreensaver/default.nix4
-rw-r--r--pkgs/misc/seafile-shared/default.nix4
-rw-r--r--pkgs/misc/themes/adapta/default.nix4
-rw-r--r--pkgs/misc/tmux-plugins/default.nix68
-rw-r--r--pkgs/misc/urbit/default.nix37
-rw-r--r--pkgs/misc/vim-plugins/default.nix28
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names2
-rwxr-xr-xpkgs/misc/vscode-extensions/update_installed_exts.sh74
27 files changed, 398 insertions, 102 deletions
diff --git a/pkgs/misc/brightnessctl/default.nix b/pkgs/misc/brightnessctl/default.nix
index 69fa10d74fe6..b8821d335b26 100644
--- a/pkgs/misc/brightnessctl/default.nix
+++ b/pkgs/misc/brightnessctl/default.nix
@@ -11,9 +11,10 @@ stdenv.mkDerivation rec {
     sha256 = "0amxhcikcgj04z81272kz35m5h5q4jx9x7v71h8yl1rv4b2lzh7z";
   };
 
-  makeFlags = "MODE=0755 PREFIX=/ DESTDIR=$(out)";
+  makeFlags = [ "MODE=0755" "PREFIX=" "DESTDIR=$(out)" ];
+  installTargets = [ "install" "install_udev_rules" ];
 
-  patchPhase = ''
+  postPatch = ''
     substituteInPlace 90-brightnessctl.rules --replace /bin/ ${coreutils}/bin/
     substituteInPlace 90-brightnessctl.rules --replace %k '*'
   '';
diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix
index feeb73a27e90..38ad73d01600 100644
--- a/pkgs/misc/cups/default.nix
+++ b/pkgs/misc/cups/default.nix
@@ -1,6 +1,7 @@
 { stdenv, fetchurl, fetchpatch, pkgconfig, removeReferencesTo
 , zlib, libjpeg, libpng, libtiff, pam, dbus, systemd, acl, gmp, darwin
 , libusb ? null, gnutls ? null, avahi ? null, libpaper ? null
+, coreutils
 }:
 
 ### IMPORTANT: before updating cups, make sure the nixos/tests/printing.nix test
@@ -30,6 +31,11 @@ stdenv.mkDerivation rec {
     ./cups-clean-dirty.patch
   ];
 
+  postPatch = ''
+    substituteInPlace cups/testfile.c \
+      --replace 'cupsFileFind("cat", "/bin' 'cupsFileFind("cat", "${coreutils}/bin'
+  '';
+
   nativeBuildInputs = [ pkgconfig removeReferencesTo ];
 
   buildInputs = [ zlib libjpeg libpng libtiff libusb gnutls libpaper ]
diff --git a/pkgs/misc/cups/drivers/mfcl8690cdwcupswrapper/default.nix b/pkgs/misc/cups/drivers/mfcl8690cdwcupswrapper/default.nix
new file mode 100644
index 000000000000..9aa127dd6305
--- /dev/null
+++ b/pkgs/misc/cups/drivers/mfcl8690cdwcupswrapper/default.nix
@@ -0,0 +1,45 @@
+{ coreutils, dpkg, fetchurl, gnugrep, gnused, makeWrapper,
+mfcl8690cdwlpr, perl, stdenv}:
+
+stdenv.mkDerivation rec {
+  name = "mfcl8690cdwcupswrapper-${version}";
+  version = "1.3.0-0";
+
+  src = fetchurl {
+    url = "http://download.brother.com/welcome/dlf103250/${name}.i386.deb";
+    sha256 = "16nnh3hd5yv0m4191wja9fvxxzngzfccfj2rfhcswbakajyk5ywn";
+  };
+
+  nativeBuildInputs = [ dpkg makeWrapper ];
+
+  phases = [ "installPhase" ];
+
+  installPhase = ''
+    dpkg-deb -x $src $out
+
+    basedir=${mfcl8690cdwlpr}/opt/brother/Printers/mfcl8690cdw
+    dir=$out/opt/brother/Printers/mfcl8690cdw
+
+    substituteInPlace $dir/cupswrapper/brother_lpdwrapper_mfcl8690cdw \
+      --replace /usr/bin/perl ${perl}/bin/perl \
+      --replace "basedir =~" "basedir = \"$basedir/\"; #" \
+      --replace "PRINTER =~" "PRINTER = \"mfcl8690cdw\"; #"
+
+    wrapProgram $dir/cupswrapper/brother_lpdwrapper_mfcl8690cdw \
+      --prefix PATH : ${stdenv.lib.makeBinPath [ coreutils gnugrep gnused ]}
+
+    mkdir -p $out/lib/cups/filter
+    mkdir -p $out/share/cups/model
+
+    ln $dir/cupswrapper/brother_lpdwrapper_mfcl8690cdw $out/lib/cups/filter
+    ln $dir/cupswrapper/brother_mfcl8690cdw_printer_en.ppd $out/share/cups/model
+    '';
+
+  meta = {
+    description = "Brother MFC-L8690CDW CUPS wrapper driver";
+    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
new file mode 100644
index 000000000000..3b6ae73c70d1
--- /dev/null
+++ b/pkgs/misc/cups/drivers/mfcl8690cdwlpr/default.nix
@@ -0,0 +1,45 @@
+{ coreutils, dpkg, fetchurl, file, ghostscript, gnugrep, gnused,
+makeWrapper, perl, pkgs, stdenv, which }:
+
+stdenv.mkDerivation rec {
+  name = "mfcl8690cdwlpr-${version}";
+  version = "1.2.0-0";
+
+  src = fetchurl {
+    url = "http://download.brother.com/welcome/dlf103241/${name}.i386.deb";
+    sha256 = "02k43nh51pn4lf7gaid9yhil0a3ikpy4krw7dhgphmm5pap907sx";
+  };
+
+  nativeBuildInputs = [ dpkg makeWrapper ];
+
+  phases = [ "installPhase" ];
+
+  installPhase = ''
+    dpkg-deb -x $src $out
+
+    dir=$out/opt/brother/Printers/mfcl8690cdw
+    filter=$dir/lpd/filter_mfcl8690cdw
+
+    substituteInPlace $filter \
+      --replace /usr/bin/perl ${perl}/bin/perl \
+      --replace "BR_PRT_PATH =~" "BR_PRT_PATH = \"$dir/\"; #" \
+      --replace "PRINTER =~" "PRINTER = \"mfcl8690cdw\"; #"
+
+    wrapProgram $filter \
+      --prefix PATH : ${stdenv.lib.makeBinPath [
+      coreutils file ghostscript gnugrep gnused which
+      ]}
+
+    # need to use i686 glibc here, these are 32bit proprietary binaries
+    interpreter=${pkgs.pkgsi686Linux.glibc}/lib/ld-linux.so.2
+    patchelf --set-interpreter "$interpreter" $dir/lpd/brmfcl8690cdwfilter
+  '';
+
+  meta = {
+    description = "Brother MFC-L8690CDW LPR printer driver";
+    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/splix/default.nix b/pkgs/misc/cups/drivers/splix/default.nix
index bde918a7c484..9cb9aa3ec582 100644
--- a/pkgs/misc/cups/drivers/splix/default.nix
+++ b/pkgs/misc/cups/drivers/splix/default.nix
@@ -1,7 +1,27 @@
-{ stdenv, fetchsvn, cups, zlib }:
-let rev = "315"; in
-stdenv.mkDerivation rec {
+{ stdenv, fetchsvn, fetchurl, cups, cups-filters, jbigkit, zlib }:
+
+let
+  rev = "315";
+
+  color-profiles = stdenv.mkDerivation {
+    name = "splix-color-profiles-20070625";
+
+    src = fetchurl {
+      url = "http://splix.ap2c.org/samsung_cms.tar.bz2";
+      sha256 = "1156flics5m9m7a4hdmcc2nphbdyary6dfmbcrmsp9xb7ivsypdl";
+    };
+
+    phases = [ "unpackPhase" "installPhase" ];
+
+    installPhase = ''
+      mkdir -p $out/share/cups/profiles/samsung
+      cp * $out/share/cups/profiles/samsung/
+    '';
+  };
+
+in stdenv.mkDerivation {
   name = "splix-svn-${rev}";
+
   src = fetchsvn {
     # We build this from svn, because splix hasn't been in released in several years
     # although the community has been adding some new printer models.
@@ -10,15 +30,25 @@ stdenv.mkDerivation rec {
     sha256 = "16wbm4xnz35ca3mw2iggf5f4jaxpyna718ia190ka6y4ah932jxl";
   };
 
-  preBuild = ''
-    makeFlags="V=1 DISABLE_JBIG=1 CUPSFILTER=$out/lib/cups/filter CUPSPPD=$out/share/cups/model"
+  postPatch = ''
+    substituteInPlace src/pstoqpdl.cpp \
+      --replace "RASTERDIR \"/\" RASTERTOQPDL" "\"$out/lib/cups/filter/rastertoqpdl\"" \
+      --replace "RASTERDIR" "\"${cups-filters}/lib/cups/filter\"" \
   '';
 
-  buildInputs = [cups zlib];
+  makeFlags = [
+    "CUPSFILTER=$(out)/lib/cups/filter"
+    "CUPSPPD=$(out)/share/cups/model"
+    "CUPSPROFILE=${color-profiles}/share/cups/profiles"
+  ];
+
+  buildInputs = [ cups zlib jbigkit ];
 
-  meta = {
-    homepage = http://splix.sourceforge.net;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.peti ];
+  meta = with stdenv.lib; {
+    description = "CUPS drivers for SPL (Samsung Printer Language) printers";
+    homepage = http://splix.ap2c.org;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ jfrankenau peti ];
   };
 }
diff --git a/pkgs/misc/drivers/foo2zjs/default.nix b/pkgs/misc/drivers/foo2zjs/default.nix
index e4d2da3afc25..7e1ff01bda05 100644
--- a/pkgs/misc/drivers/foo2zjs/default.nix
+++ b/pkgs/misc/drivers/foo2zjs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, foomatic-filters, bc, unzip, ghostscript, systemd, vim }:
+{ stdenv, fetchurl, foomatic-filters, bc, unzip, ghostscript, systemd, vim, time }:
 
 stdenv.mkDerivation rec {
   name = "foo2zjs-20180519";
@@ -39,6 +39,9 @@ stdenv.mkDerivation rec {
     sed -e "/PRINTERID=/s@=.*@=$out/bin/usb_printerid@" -i hplj1000
   '';
 
+  checkInputs = [ time ];
+  doCheck = false; # fails to find its own binary. Also says "Tests will pass only if you are using ghostscript-8.71-16.fc14".
+
   preInstall = ''
     mkdir -pv $out/{etc/udev/rules.d,lib/udev/rules.d,etc/hotplug/usb}
     mkdir -pv $out/share/foomatic/db/source/{opt,printer,driver}
diff --git a/pkgs/misc/drivers/xwiimote/default.nix b/pkgs/misc/drivers/xwiimote/default.nix
index 5d54d647f2b1..a21584afa4c2 100644
--- a/pkgs/misc/drivers/xwiimote/default.nix
+++ b/pkgs/misc/drivers/xwiimote/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ udev ncurses bluez ];
 
-  configureFlags = "--with-doxygen=no";
+  configureFlags = [ "--with-doxygen=no" ];
 
   meta = {
     homepage = http://dvdhrm.github.io/xwiimote;
diff --git a/pkgs/misc/emulators/atari800/default.nix b/pkgs/misc/emulators/atari800/default.nix
index 9467345db1c2..9e662c42304b 100644
--- a/pkgs/misc/emulators/atari800/default.nix
+++ b/pkgs/misc/emulators/atari800/default.nix
@@ -13,7 +13,15 @@ stdenv.mkDerivation rec{
 
   buildInputs = [ unzip zlib SDL readline libGLU_combined libX11 ];
 
-  configureFlags = "--target=default --with-video=sdl --with-sound=sdl --with-readline --with-opengl --with-x --enable-riodevice";
+  configureFlags = [
+    "--target=default"
+    "--with-video=sdl"
+    "--with-sound=sdl"
+    "--with-readline"
+    "--with-opengl"
+    "--with-x"
+    "--enable-riodevice"
+  ];
 
   preConfigure = "cd src";
 
diff --git a/pkgs/misc/emulators/caprice32/default.nix b/pkgs/misc/emulators/caprice32/default.nix
index c0c3b40f6b65..42b8e5229e99 100644
--- a/pkgs/misc/emulators/caprice32/default.nix
+++ b/pkgs/misc/emulators/caprice32/default.nix
@@ -3,14 +3,14 @@
 stdenv.mkDerivation rec {
 
   repo = "caprice32";
-  version = "unstable-2018-02-10";
-  rev = "53de69543300f81af85df32cbd21bb5c68cab61e";
+  version = "unstable-2018-03-05";
+  rev = "317fe638111e245d67e301f6f295094d3c859a70";
   name = "${repo}-${version}";
 
   src = fetchFromGitHub {
     inherit rev repo;
     owner = "ColinPitrat";
-    sha256 = "12yv56blm49qmshpk4mgc802bs51wv2ra87hmcbf2wxma39c45fy";
+    sha256 = "1bywpmkizixcnr057k8zq9nlw0zhcmwkiriln0krgdcm7d3h9b86";
   };
 
   postPatch = "substituteInPlace cap32.cfg --replace /usr/local $out";
diff --git a/pkgs/misc/emulators/ccemux/default.nix b/pkgs/misc/emulators/ccemux/default.nix
new file mode 100644
index 000000000000..bd2be99a2843
--- /dev/null
+++ b/pkgs/misc/emulators/ccemux/default.nix
@@ -0,0 +1,66 @@
+{ stdenv, fetchurl, fetchFromGitHub, makeDesktopItem, makeWrapper, jre
+, useCCTweaked ? true
+}:
+
+let
+  version = "1.1.0";
+  rev = "a12239148332ca7a0b1c44a93e1585452d3631c9";
+
+  baseUrl = "https://emux.cc/versions/${stdenv.lib.substring 0 8 rev}/CCEmuX";
+  jar =
+    if useCCTweaked
+    then fetchurl {
+      url = "${baseUrl}-cct.jar";
+      sha256 = "1i767v3wnb8jsh7ciqqvw548pka1b8vl18k1rdv5dn21la6n0r1d";
+    }
+    else fetchurl {
+      url = "${baseUrl}-cc.jar";
+      sha256 = "0x9hs814ln193cwybd565mcj6vhnii4wirkiz9na7vcas0y5vmmq";
+    };
+
+  desktopIcon = fetchurl {
+    url = "https://github.com/CCEmuX/CCEmuX/raw/${rev}/src/main/resources/img/icon.png";
+    sha256 = "1vmb6rg9k2y99j8xqfgbsvfgfi3g985rmqwrd7w3y54ffr2r99c2";
+  };
+  desktopItem =  makeDesktopItem {
+    name = "CCEmuX";
+    exec = "ccemux";
+    icon = "${desktopIcon}";
+    comment = "A modular ComputerCraft emulator";
+    desktopName = "CCEmuX";
+    genericName = "ComputerCraft Emulator";
+    categories = "Application;Emulator;";
+  };
+in
+
+stdenv.mkDerivation rec {
+  name = "ccemux-${version}";
+
+  src = jar;
+  unpackPhase = "true";
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jre ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/{bin,share/ccemux}
+    cp -r ${desktopItem}/share/applications $out/share/applications
+
+    install -D ${src} $out/share/ccemux/ccemux.jar
+    install -D ${desktopIcon} $out/share/pixmaps/ccemux.png
+
+    makeWrapper ${jre}/bin/java $out/bin/ccemux \
+      --add-flags "-jar $out/share/ccemux/ccemux.jar"
+
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A modular ComputerCraft emulator";
+    homepage = https://github.com/CCEmuX/CCEmuX;
+    license = licenses.mit;
+    maintainers = with maintainers; [ CrazedProgrammer ];
+  };
+}
diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix
index 5533fd699bbf..140e199908ce 100644
--- a/pkgs/misc/emulators/dolphin-emu/master.nix
+++ b/pkgs/misc/emulators/dolphin-emu/master.nix
@@ -20,13 +20,13 @@ let
   };
 in stdenv.mkDerivation rec {
   name = "dolphin-emu-${version}";
-  version = "2018-07-22";
+  version = "2018-08-17";
 
   src = fetchFromGitHub {
     owner = "dolphin-emu";
     repo = "dolphin";
-    rev = "7c2d2548a88abf9a5fa0bff52e00c57d093a9e19";
-    sha256 = "0x9h8s6fa04vcdwaqgrd5jpbgadgpkj3m4g2w1mp97libvr7hpy4";
+    rev = "12a5fd80bde3c1f5557ea647ebb127d37e74040d";
+    sha256 = "0sk3jn5sm9fabs5bvwy75zw2szrb19qqwns2ypzqpgd4d5zjrs4x";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/misc/emulators/dosbox/unstable.nix b/pkgs/misc/emulators/dosbox/unstable.nix
index aecfd7698f07..e1762d66641a 100644
--- a/pkgs/misc/emulators/dosbox/unstable.nix
+++ b/pkgs/misc/emulators/dosbox/unstable.nix
@@ -36,5 +36,6 @@ in stdenv.mkDerivation rec {
     description = "A DOS emulator";
     platforms = stdenv.lib.platforms.unix;
     maintainers = with stdenv.lib.maintainers; [ binarin ];
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/misc/emulators/gens-gs/default.nix b/pkgs/misc/emulators/gens-gs/default.nix
index f5ba2ef218d1..418d6440b694 100644
--- a/pkgs/misc/emulators/gens-gs/default.nix
+++ b/pkgs/misc/emulators/gens-gs/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, pkgconfig, gtk2, SDL, nasm, zlib, libpng, libGLU_combined }:
 
-stdenv.mkDerivation { 
+stdenv.mkDerivation {
   name = "gens-gs-7";
 
   src = fetchurl {
-    url = http://segaretro.org/images/6/6d/Gens-gs-r7.tar.gz;
+    url = http://retrocdn.net/images/6/6d/Gens-gs-r7.tar.gz;
     sha256 = "1ha5s6d3y7s9aq9f4zmn9p88109c3mrj36z2w68jhiw5xrxws833";
   };
 
@@ -15,10 +15,11 @@ stdenv.mkDerivation {
   # See http://ubuntuforums.org/showthread.php?p=10535837
   NIX_CFLAGS_COMPILE = "-UGTK_DISABLE_DEPRECATED -UGSEAL_ENABLE";
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://segaretro.org/Gens/GS;
     description = "A Genesis/Mega Drive emulator";
     platforms = [ "i686-linux" ];
-    maintainers = [ stdenv.lib.maintainers.eelco ];
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.eelco ];
   };
 }
diff --git a/pkgs/misc/emulators/vice/default.nix b/pkgs/misc/emulators/vice/default.nix
index ae8fbe9e1f5e..7cf4faf55cd7 100644
--- a/pkgs/misc/emulators/vice/default.nix
+++ b/pkgs/misc/emulators/vice/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ bison flex perl libpng giflib libjpeg alsaLib readline libGLU_combined
     pkgconfig gtk2 SDL autoreconfHook libXaw ];
   dontDisableStatic = true;
-  configureFlags = "--enable-fullscreen --enable-gnomeui";
+  configureFlags = [ "--enable-fullscreen --enable-gnomeui" ];
 
   desktopItem = makeDesktopItem {
     name = "vice";
diff --git a/pkgs/misc/emulators/wine/base.nix b/pkgs/misc/emulators/wine/base.nix
index 0ff6f3f041e2..d56a485c1529 100644
--- a/pkgs/misc/emulators/wine/base.nix
+++ b/pkgs/misc/emulators/wine/base.nix
@@ -3,7 +3,7 @@
   # flex 2.6.3 causes: undefined reference to `yywrap'
   pkgconfig, fontforge, makeWrapper, flex_2_6_1, bison,
   supportFlags,
-  buildScript ? null, configureFlags ? ""
+  buildScript ? null, configureFlags ? []
 }:
 
 with import ./util.nix { inherit lib; };
diff --git a/pkgs/misc/jackaudio/jack1.nix b/pkgs/misc/jackaudio/jack1.nix
index 848215ae17af..c11be4ad0c0c 100644
--- a/pkgs/misc/jackaudio/jack1.nix
+++ b/pkgs/misc/jackaudio/jack1.nix
@@ -22,9 +22,9 @@ stdenv.mkDerivation rec {
     sha256 = "0i6l25dmfk2ji2lrakqq9icnwjxklgcjzzk65dmsff91z2zva5rm";
   };
   
-  configureFlags = ''
-    ${if (optLibffado != null) then "--enable-firewire" else ""}
-  '';
+  configureFlags = [
+    (stdenv.lib.enableFeature (optLibffado != null) "firewire")
+  ];
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ optAlsaLib optDb optLibffado optCelt ];
diff --git a/pkgs/misc/phabricator/default.nix b/pkgs/misc/phabricator/default.nix
index 367e4e53442e..0dde5b2b6d7c 100644
--- a/pkgs/misc/phabricator/default.nix
+++ b/pkgs/misc/phabricator/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
 
   meta = {
     platforms = stdenv.lib.platforms.unix;
+    license = stdenv.lib.licenses.asl20;
   };
 }
diff --git a/pkgs/misc/screensavers/vlock/default.nix b/pkgs/misc/screensavers/vlock/default.nix
index 0e5e87245f32..ae89bbd53cc6 100644
--- a/pkgs/misc/screensavers/vlock/default.nix
+++ b/pkgs/misc/screensavers/vlock/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
 
   patches = [ ./eintr.patch ];
 
-  configureFlags = "VLOCK_GROUP=root ROOT_GROUP=root";
+  configureFlags = [ "VLOCK_GROUP=root" "ROOT_GROUP=root" ];
 
   buildInputs = [ pam ];
 
diff --git a/pkgs/misc/screensavers/xlockmore/default.nix b/pkgs/misc/screensavers/xlockmore/default.nix
index b9294e294e9d..47c3c67366e3 100644
--- a/pkgs/misc/screensavers/xlockmore/default.nix
+++ b/pkgs/misc/screensavers/xlockmore/default.nix
@@ -1,20 +1,18 @@
-{ stdenv, lib, fetchurl, pam ? null, autoreconfHook
-, libX11, libXext, libXinerama, libXdmcp, libXt }:
+{ stdenv, lib, fetchurl, pam ? null, libX11, libXext, libXinerama
+, libXdmcp, libXt }:
 
 stdenv.mkDerivation rec {
-  name = "xlockmore-5.55";
+  name = "xlockmore-5.56";
 
   src = fetchurl {
     url = "http://sillycycle.com/xlock/${name}.tar.xz";
-    sha256 = "1y3f76rq2nd10fgi2rx81aj6pijglmm661vjsxi05hpg35dzmwfl";
+    sha256 = "1dg1n79rnswhxqz36mxnl5lp8p37i9fbibnzzyrqknmvf2s8xpd0";
     curlOpts = "--user-agent 'Mozilla/5.0'";
   };
 
   # Optionally, it can use GTK+.
   buildInputs = [ pam libX11 libXext libXinerama libXdmcp libXt ];
 
-  nativeBuildInputs = [ autoreconfHook ];
-
   # Don't try to install `xlock' setuid. Password authentication works
   # fine via PAM without super user privileges.
   configureFlags =
diff --git a/pkgs/misc/screensavers/xscreensaver/default.nix b/pkgs/misc/screensavers/xscreensaver/default.nix
index d93d982924d1..f088b176c504 100644
--- a/pkgs/misc/screensavers/xscreensaver/default.nix
+++ b/pkgs/misc/screensavers/xscreensaver/default.nix
@@ -5,12 +5,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "5.39";
+  version = "5.40";
   name = "xscreensaver-${version}";
 
   src = fetchurl {
     url = "https://www.jwz.org/xscreensaver/${name}.tar.gz";
-    sha256 = "09i47h4hdgwxyqgrsnshl4l5dv5mrsp37h705cc22lwby601ikj8";
+    sha256 = "1q2sr7h6ps6d3hk8895g12rrcqiihjl7py1ly077ikv4866r181h";
   };
 
   buildInputs =
diff --git a/pkgs/misc/seafile-shared/default.nix b/pkgs/misc/seafile-shared/default.nix
index 90aac9776435..6fba977e0085 100644
--- a/pkgs/misc/seafile-shared/default.nix
+++ b/pkgs/misc/seafile-shared/default.nix
@@ -1,14 +1,14 @@
 {stdenv, fetchFromGitHub, which, autoreconfHook, pkgconfig, curl, vala, python, intltool, fuse, ccnet}:
 
 stdenv.mkDerivation rec {
-  version = "6.2.3";
+  version = "6.2.4";
   name = "seafile-shared-${version}";
 
   src = fetchFromGitHub {
     owner = "haiwen";
     repo = "seafile";
     rev = "v${version}";
-    sha256 = "019q5xsrhl6x8ngy0mzjdakm7m63gxyw8v7a223zwpw0i86l8hms";
+    sha256 = "0v6wvw8x3zfcapi0lk71mg89gy3gw2qmdiq6mhw6qbbrzvqprlmr";
   };
 
   nativeBuildInputs = [ pkgconfig which autoreconfHook vala intltool ];
diff --git a/pkgs/misc/themes/adapta/default.nix b/pkgs/misc/themes/adapta/default.nix
index f7c920abc48e..0410af974f61 100644
--- a/pkgs/misc/themes/adapta/default.nix
+++ b/pkgs/misc/themes/adapta/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "adapta-gtk-theme-${version}";
-  version = "3.94.0.1";
+  version = "3.94.0.92";
 
   src = fetchFromGitHub {
     owner = "adapta-project";
     repo = "adapta-gtk-theme";
     rev = version;
-    sha256 = "17hck0hzkdj1bibn9wi7cxca8r539idb916v2l71gz7ynhav006d";
+    sha256 = "18gdsk07954wxsgr8i9kkpc8p6wvdr039lszz8hcplf2134bmb96";
   };
 
   preferLocalBuild = true;
diff --git a/pkgs/misc/tmux-plugins/default.nix b/pkgs/misc/tmux-plugins/default.nix
index b29565d01ecb..fb95b667d864 100644
--- a/pkgs/misc/tmux-plugins/default.nix
+++ b/pkgs/misc/tmux-plugins/default.nix
@@ -3,18 +3,19 @@
 let
   rtpPath = "share/tmux-plugins";
 
-  addRtp = path: pluginName: attrs: derivation:
-    derivation // { rtp = "${derivation}/${path}/${builtins.replaceStrings ["-"] ["_"] pluginName}.tmux"; } // {
-      overrideAttrs = f: buildTmuxPlugin (attrs // f attrs);
+  addRtp = path: rtpFilePath: attrs: derivation:
+    derivation // { rtp = "${derivation}/${path}/${rtpFilePath}"; } // {
+      overrideAttrs = f: mkDerivation (attrs // f attrs);
     };
 
-  buildTmuxPlugin = a@{
+  mkDerivation = a@{
     pluginName,
+    rtpFilePath ? (builtins.replaceStrings ["-"] ["_"] pluginName) + ".tmux",
     namePrefix ? "tmuxplugin-",
     src,
     unpackPhase ? "",
-    configurePhase ? "",
-    buildPhase ? "",
+    configurePhase ? ":",
+    buildPhase ? ":",
     addonInfo ? null,
     preInstall ? "",
     postInstall ? "",
@@ -22,7 +23,7 @@ let
     dependencies ? [],
     ...
   }:
-    addRtp "${rtpPath}/${path}" pluginName a (stdenv.mkDerivation (a // {
+    addRtp "${rtpPath}/${path}" rtpFilePath a (stdenv.mkDerivation (a // {
       name = namePrefix + pluginName;
 
       inherit pluginName unpackPhase configurePhase buildPhase addonInfo preInstall postInstall;
@@ -43,14 +44,11 @@ let
       dependencies = [ pkgs.bash ] ++ dependencies;
     }));
 
-  buildTmuxPluginFrom2Nix = a: buildTmuxPlugin ({
-    buildPhase = ":";
-    configurePhase =":";
-  } // a);
-
 in rec {
 
-  battery = buildTmuxPluginFrom2Nix {
+  inherit mkDerivation;
+
+  battery = mkDerivation {
     pluginName = "battery";
     src = fetchgit {
       url = "https://github.com/tmux-plugins/tmux-battery";
@@ -59,7 +57,7 @@ in rec {
     };
   };
 
-  continuum = buildTmuxPluginFrom2Nix {
+  continuum = mkDerivation {
     pluginName = "continuum";
     src = fetchgit {
       url = "https://github.com/tmux-plugins/tmux-continuum";
@@ -69,7 +67,7 @@ in rec {
     dependencies = [ resurrect ];
   };
 
-  copycat = buildTmuxPluginFrom2Nix {
+  copycat = mkDerivation {
     pluginName = "copycat";
     src = fetchgit {
       url = "https://github.com/tmux-plugins/tmux-copycat";
@@ -78,7 +76,7 @@ in rec {
     };
   };
 
-  cpu = buildTmuxPluginFrom2Nix {
+  cpu = mkDerivation {
     pluginName = "cpu";
     src = fetchgit {
       url = "https://github.com/tmux-plugins/tmux-cpu";
@@ -87,7 +85,7 @@ in rec {
     };
   };
 
-  fpp = buildTmuxPluginFrom2Nix {
+  fpp = mkDerivation {
     pluginName = "fpp";
     src = fetchgit {
       url = "https://github.com/tmux-plugins/tmux-fpp";
@@ -100,7 +98,17 @@ in rec {
     dependencies = [ pkgs.fpp ];
   };
 
-  logging = buildTmuxPluginFrom2Nix {
+  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";
+    };
+  };
+
+  logging = mkDerivation {
     pluginName = "logging";
     src = fetchgit {
       url = "https://github.com/tmux-plugins/tmux-logging";
@@ -109,7 +117,7 @@ in rec {
     };
   };
 
-  net-speed = buildTmuxPluginFrom2Nix {
+  net-speed = mkDerivation {
     pluginName = "net-speed";
     src = fetchgit {
       url = "https://github.com/tmux-plugins/tmux-net-speed";
@@ -118,7 +126,7 @@ in rec {
     };
   };
 
-  maildir-counter = buildTmuxPluginFrom2Nix {
+  maildir-counter = mkDerivation {
     pluginName = "maildir-counter";
     src = fetchgit {
       url = "https://github.com/tmux-plugins/tmux-maildir-counter";
@@ -127,7 +135,7 @@ in rec {
     };
   };
 
-  online-status = buildTmuxPluginFrom2Nix {
+  online-status = mkDerivation {
     pluginName = "online-status";
     src = fetchgit {
       url = "https://github.com/tmux-plugins/tmux-online-status";
@@ -136,7 +144,7 @@ in rec {
     };
   };
 
-  open = buildTmuxPluginFrom2Nix {
+  open = mkDerivation {
     pluginName = "open";
     src = fetchgit {
       url = "https://github.com/tmux-plugins/tmux-open";
@@ -145,7 +153,7 @@ in rec {
     };
   };
 
-  pain-control = buildTmuxPluginFrom2Nix {
+  pain-control = mkDerivation {
     pluginName = "pain-control";
     src = fetchgit {
       url = "https://github.com/tmux-plugins/tmux-pain-control";
@@ -154,7 +162,7 @@ in rec {
     };
   };
 
-  prefix-highlight = buildTmuxPluginFrom2Nix {
+  prefix-highlight = mkDerivation {
     pluginName = "prefix-highlight";
     src = fetchgit {
       url = "https://github.com/tmux-plugins/tmux-prefix-highlight";
@@ -163,7 +171,7 @@ in rec {
     };
   };
 
-  resurrect = buildTmuxPluginFrom2Nix {
+  resurrect = mkDerivation {
     pluginName = "resurrect";
     src = fetchgit {
       url = "https://github.com/tmux-plugins/tmux-resurrect";
@@ -172,7 +180,7 @@ in rec {
     };
   };
 
-  sensible = buildTmuxPluginFrom2Nix {
+  sensible = mkDerivation {
     pluginName = "sensible";
     src = fetchgit {
       url = "https://github.com/tmux-plugins/tmux-sensible";
@@ -181,7 +189,7 @@ in rec {
     };
   };
 
-  sessionist = buildTmuxPluginFrom2Nix {
+  sessionist = mkDerivation {
     pluginName = "sessionist";
     src = fetchgit {
       url = "https://github.com/tmux-plugins/tmux-sessionist";
@@ -190,7 +198,7 @@ in rec {
     };
   };
 
-  sidebar = buildTmuxPluginFrom2Nix {
+  sidebar = mkDerivation {
     pluginName = "sidebar";
     src = fetchgit {
       url = "https://github.com/tmux-plugins/tmux-sidebar";
@@ -199,7 +207,7 @@ in rec {
     };
   };
 
-  urlview = buildTmuxPluginFrom2Nix {
+  urlview = mkDerivation {
     pluginName = "urlview";
     src = fetchgit {
       url = "https://github.com/tmux-plugins/tmux-urlview";
@@ -212,7 +220,7 @@ in rec {
     dependencies = [ pkgs.urlview ];
   };
 
-  yank = buildTmuxPluginFrom2Nix {
+  yank = mkDerivation {
     pluginName = "yank";
     src = fetchgit {
       url = "https://github.com/tmux-plugins/tmux-yank";
diff --git a/pkgs/misc/urbit/default.nix b/pkgs/misc/urbit/default.nix
index df13c15562dd..e356e83436dd 100644
--- a/pkgs/misc/urbit/default.nix
+++ b/pkgs/misc/urbit/default.nix
@@ -1,39 +1,24 @@
-{ stdenv, fetchFromGitHub, gcc, gmp, libsigsegv, openssl, automake, autoconf, ragel,
-  cmake, re2c, libtool, ncurses, perl, zlib, python2, curl }:
+{ stdenv, fetchFromGitHub, curl, git, gmp, libsigsegv, meson, ncurses, ninja
+, openssl, pkgconfig, re2c, zlib
+}:
 
 stdenv.mkDerivation rec {
   name = "urbit-${version}";
-  version = "0.4.5";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "urbit";
     repo = "urbit";
-    rev = "v${version}";
-    sha256 = "1zgxgqbz74nsgfyrvsnjj6xxpb64mrnby7bb5qy733sy04gmzgik";
+    rev = "urbit-${version}";
+    sha256 = "158mz6c6y5z1b6piid8hvrl5mcqh8q1ny185gz51jayia51azmgs";
+    fetchSubmodules = true;
   };
 
-  buildInputs = with stdenv.lib; [
-    gcc gmp libsigsegv openssl automake autoconf ragel cmake re2c libtool
-    ncurses perl zlib python2 curl
-  ];
+  nativeBuildInputs = [ pkgconfig ninja meson ];
+  buildInputs = [ curl git gmp libsigsegv ncurses openssl re2c zlib ];
 
-  # uses 'readdir_r' deprecated by glibc 2.24
-  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
-
-  configurePhase = ''
-    :
-  '';
-
-  buildPhase = ''
-    sed -i 's/-lcurses/-lncurses/' Makefile
-    mkdir -p $out
-    cp -r . $out/
-    cd $out
-    make
-  '';
-
-  installPhase = ''
-    :
+  postPatch = ''
+    patchShebangs .
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix
index b3dfed3d265e..5944dfc991de 100644
--- a/pkgs/misc/vim-plugins/default.nix
+++ b/pkgs/misc/vim-plugins/default.nix
@@ -192,11 +192,11 @@ self = rec {
   };
 
   vim-nix = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-nix-2018-07-01";
+    name = "vim-nix-2018-08-19";
     src = fetchgit {
       url = "https://github.com/LnL7/vim-nix";
-      rev = "7d71026ba7c2d0a4bdb915e884c4ac8dbdc45bf0";
-      sha256 = "084vs1p0qpkc4cx049v3mkyylj1n1yvd45i1sc9qafgp4x5va457";
+      rev = "ab3c4d52d08e9e8d2a0919e38f98ba25a2b8ad18";
+      sha256 = "1waan5vgba8qx3107hdrnmbnq5kr1n49q43p7m2g7wmj81v050yb";
     };
     dependencies = [];
 
@@ -1029,6 +1029,17 @@ self = rec {
 
   };
 
+  vim-lastplace = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-lastplace-2017-06-13";
+    src = fetchgit {
+      url = "https://github.com/farmergreg/vim-lastplace";
+      rev = "102b68348eff0d639ce88c5094dab0fdbe4f7c55";
+      sha256 = "1d0mjjyissjvl80wgmn7z1gsjs3fhk0vnmx84l9q7g04ql4l9pja";
+    };
+    dependencies = [];
+
+  };
+
   vim-go = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "vim-go-2018-07-22";
     src = fetchgit {
@@ -2085,6 +2096,17 @@ self = rec {
 
   };
 
+  vim-qml = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-qml-2018-07-22";
+    src = fetchgit {
+      url = "https://github.com/peterhoeg/vim-qml";
+      rev = "8af43da6950ce5483704bb97f5b24471d8ffda1a";
+      sha256 = "1y1xvbfr1ffxyyk3zzf50xn87a85i1zszj4fqlq5ka8zhgdrnhvc";
+    };
+    dependencies = [];
+
+  };
+
   vim-markdown = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "vim-markdown-2018-06-05";
     src = fetchgit {
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index 4d0e85e153ce..32a9a6216016 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -50,6 +50,7 @@
 "github:ensime/ensime-vim"
 "github:ervandew/supertab"
 "github:esneider/YUNOcommit.vim"
+"github:farmergreg/vim-lastplace"
 "github:fatih/vim-go"
 "github:FelikZ/ctrlp-py-matcher"
 "github:fisadev/vim-isort"
@@ -168,6 +169,7 @@
 "github:osyo-manga/vim-textobj-multiblock"
 "github:osyo-manga/vim-watchdogs"
 "github:pangloss/vim-javascript"
+"github:peterhoeg/vim-qml"
 "github:plasticboy/vim-markdown"
 "github:python-mode/python-mode"
 "github:Quramy/tsuquyomi"
diff --git a/pkgs/misc/vscode-extensions/update_installed_exts.sh b/pkgs/misc/vscode-extensions/update_installed_exts.sh
new file mode 100755
index 000000000000..fdbc14fb2642
--- /dev/null
+++ b/pkgs/misc/vscode-extensions/update_installed_exts.sh
@@ -0,0 +1,74 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i bash -p curl jq unzip
+set -eu -o pipefail
+
+# Helper to just fail with a message and non-zero exit code.
+function fail() {
+    echo "$1" >&2
+    exit 1
+}
+
+# Helper to clean up after ourself if we're killed by SIGINT
+function clean_up() {
+    TDIR="${TMPDIR:-/tmp}"
+    echo "Script killed, cleaning up tmpdirs: $TDIR/vscode_exts_*" >&2
+    rm -Rf "$TDIR/vscode_exts_*"
+}
+
+function get_vsixpkg() {
+    N="$1.$2"
+
+    # Create a tempdir for the extension download
+    EXTTMP=$(mktemp -d -t vscode_exts_XXXXXXXX)
+
+    URL="https://$1.gallery.vsassets.io/_apis/public/gallery/publisher/$1/extension/$2/latest/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage"
+
+    # Quietly but delicately curl down the file, blowing up at the first sign of trouble.
+    curl --silent --show-error --fail -X GET -o "$EXTTMP/$N.zip" "$URL"
+    # Unpack the file we need to stdout then pull out the version
+    VER=$(jq -r '.version' <(unzip -qc "$EXTTMP/$N.zip" "extension/package.json"))
+    # Calculate the SHA
+    SHA=$(nix-hash --flat --base32 --type sha256 "$EXTTMP/$N.zip")
+
+    # Clean up.
+    rm -Rf "$EXTTMP"
+    # I don't like 'rm -Rf' lurking in my scripts but this seems appropriate
+
+    cat <<-EOF
+  {
+    name = "$2";
+    publisher = "$1";
+    version = "$VER";
+    sha256 = "$SHA";
+  }
+EOF
+}
+
+# See if can find our code binary somewhere.
+if [ $# -ne 0 ]; then
+    CODE=$1
+else
+    CODE=$(command -v code)
+fi
+
+if [ -z "$CODE" ]; then
+    # Not much point continuing.
+    fail "VSCode executable not found"
+fi
+
+# Try to be a good citizen and clean up after ourselves if we're killed.
+trap clean_up SIGINT
+
+# Begin the printing of the nix expression that will house the list of extensions.
+printf '{ extensions = [\n'
+
+# Note that we are only looking to update extensions that are already installed.
+for i in $($CODE --list-extensions)
+do
+    OWNER=$(echo "$i" | cut -d. -f1)
+    EXT=$(echo "$i" | cut -d. -f2)
+
+    get_vsixpkg "$OWNER" "$EXT"
+done
+# Close off the nix expression.
+printf '];\n}'