diff --git a/pkgs/applications/window-managers/xmonad-log-applet/default.nix b/pkgs/applications/window-managers/xmonad/log-applet/default.nix
similarity index 100%
rename from pkgs/applications/window-managers/xmonad-log-applet/default.nix
rename to pkgs/applications/window-managers/xmonad/log-applet/default.nix
diff --git a/pkgs/applications/window-managers/xmonad-log-applet/fix-paths.patch b/pkgs/applications/window-managers/xmonad/log-applet/fix-paths.patch
similarity index 100%
rename from pkgs/applications/window-managers/xmonad-log-applet/fix-paths.patch
rename to pkgs/applications/window-managers/xmonad/log-applet/fix-paths.patch
diff --git a/pkgs/development/compilers/emscripten-fastcomp/default.nix b/pkgs/development/compilers/emscripten/fastcomp/default.nix
similarity index 100%
rename from pkgs/development/compilers/emscripten-fastcomp/default.nix
rename to pkgs/development/compilers/emscripten/fastcomp/default.nix
diff --git a/pkgs/development/compilers/emscripten-fastcomp/emscripten-fastcomp.nix b/pkgs/development/compilers/emscripten/fastcomp/emscripten-fastcomp.nix
similarity index 100%
rename from pkgs/development/compilers/emscripten-fastcomp/emscripten-fastcomp.nix
rename to pkgs/development/compilers/emscripten/fastcomp/emscripten-fastcomp.nix
diff --git a/pkgs/development/compilers/openjdk-darwin/8.nix b/pkgs/development/compilers/openjdk/darwin/8.nix
similarity index 100%
rename from pkgs/development/compilers/openjdk-darwin/8.nix
rename to pkgs/development/compilers/openjdk/darwin/8.nix
diff --git a/pkgs/development/compilers/openjdk-darwin/default.nix b/pkgs/development/compilers/openjdk/darwin/default.nix
similarity index 100%
rename from pkgs/development/compilers/openjdk-darwin/default.nix
rename to pkgs/development/compilers/openjdk/darwin/default.nix
diff --git a/pkgs/development/stm32/betaflight/default.nix b/pkgs/development/misc/stm32/betaflight/default.nix
similarity index 100%
rename from pkgs/development/stm32/betaflight/default.nix
rename to pkgs/development/misc/stm32/betaflight/default.nix
diff --git a/pkgs/development/qtcreator/default.nix b/pkgs/development/tools/qtcreator/default.nix
similarity index 100%
rename from pkgs/development/qtcreator/default.nix
rename to pkgs/development/tools/qtcreator/default.nix
diff --git a/pkgs/tools/nagstamon/default.nix b/pkgs/tools/misc/nagstamon/default.nix
similarity index 100%
rename from pkgs/tools/nagstamon/default.nix
rename to pkgs/tools/misc/nagstamon/default.nix
diff --git a/pkgs/tools/networking/connman-gtk/default.nix b/pkgs/tools/networking/connman/connman-gtk/default.nix
similarity index 100%
rename from pkgs/tools/networking/connman-gtk/default.nix
rename to pkgs/tools/networking/connman/connman-gtk/default.nix
diff --git a/pkgs/tools/networking/connman-ncurses/default.nix b/pkgs/tools/networking/connman/connman-ncurses/default.nix
similarity index 100%
rename from pkgs/tools/networking/connman-ncurses/default.nix
rename to pkgs/tools/networking/connman/connman-ncurses/default.nix
diff --git a/pkgs/tools/networking/connman-notify/default.nix b/pkgs/tools/networking/connman/connman-notify/default.nix
similarity index 100%
rename from pkgs/tools/networking/connman-notify/default.nix
rename to pkgs/tools/networking/connman/connman-notify/default.nix
diff --git a/pkgs/tools/networking/connman_dmenu/default.nix b/pkgs/tools/networking/connman/connman_dmenu/default.nix
similarity index 100%
rename from pkgs/tools/networking/connman_dmenu/default.nix
rename to pkgs/tools/networking/connman/connman_dmenu/default.nix
diff --git a/pkgs/tools/networking/connmanui/default.nix b/pkgs/tools/networking/connman/connmanui/default.nix
similarity index 100%
rename from pkgs/tools/networking/connmanui/default.nix
rename to pkgs/tools/networking/connman/connmanui/default.nix
diff --git a/pkgs/tools/networking/network-manager-applet/default.nix b/pkgs/tools/networking/network-manager/applet.nix
similarity index 100%
rename from pkgs/tools/networking/network-manager-applet/default.nix
rename to pkgs/tools/networking/network-manager/applet.nix
diff --git a/pkgs/tools/networking/networkmanager_dmenu/default.nix b/pkgs/tools/networking/network-manager/dmenu.nix
similarity index 100%
rename from pkgs/tools/networking/networkmanager_dmenu/default.nix
rename to pkgs/tools/networking/network-manager/dmenu.nix
diff --git a/pkgs/tools/security/keybase-gui/default.nix b/pkgs/tools/security/keybase/gui.nix
similarity index 100%
rename from pkgs/tools/security/keybase-gui/default.nix
rename to pkgs/tools/security/keybase/gui.nix
diff --git a/pkgs/tools/security/pinentry-mac/default.nix b/pkgs/tools/security/pinentry/mac.nix
similarity index 100%
rename from pkgs/tools/security/pinentry-mac/default.nix
rename to pkgs/tools/security/pinentry/mac.nix
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 6b0423de0f43..aa99d8a65810 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1637,15 +1637,15 @@ with pkgs;
 
   connman = callPackage ../tools/networking/connman { };
 
-  connman-gtk = callPackage ../tools/networking/connman-gtk { };
+  connman-gtk = callPackage ../tools/networking/connman/connman-gtk { };
 
-  connman-ncurses = callPackage ../tools/networking/connman-ncurses { };
+  connman-ncurses = callPackage ../tools/networking/connman/connman-ncurses { };
 
-  connman-notify = callPackage ../tools/networking/connman-notify { };
+  connman-notify = callPackage ../tools/networking/connman/connman-notify { };
 
-  connmanui = callPackage ../tools/networking/connmanui { };
+  connmanui = callPackage ../tools/networking/connman/connmanui { };
 
-  connman_dmenu = callPackage ../tools/networking/connman_dmenu  { };
+  connman_dmenu = callPackage ../tools/networking/connman/connman_dmenu  { };
 
   convertlit = callPackage ../tools/text/convertlit { };
 
@@ -2107,7 +2107,7 @@ with pkgs;
 
   emscripten = callPackage ../development/compilers/emscripten { };
 
-  emscriptenfastcompPackages = callPackage ../development/compilers/emscripten-fastcomp { };
+  emscriptenfastcompPackages = callPackage ../development/compilers/emscripten/fastcomp { };
 
   emscriptenfastcomp = emscriptenfastcompPackages.emscriptenfastcomp;
 
@@ -3164,7 +3164,7 @@ with pkgs;
 
   kbfs = callPackage ../tools/security/kbfs { };
 
-  keybase-gui = callPackage ../tools/security/keybase-gui { };
+  keybase-gui = callPackage ../tools/security/keybase/gui.nix { };
 
   keychain = callPackage ../tools/misc/keychain { };
 
@@ -3305,7 +3305,7 @@ with pkgs;
 
   mxt-app = callPackage ../misc/mxt-app { };
 
-  nagstamon = callPackage ../tools/nagstamon {
+  nagstamon = callPackage ../tools/misc/nagstamon {
     pythonPackages = python3Packages;
   };
 
@@ -3886,9 +3886,9 @@ with pkgs;
 
   networkmanager_strongswan = callPackage ../tools/networking/network-manager/strongswan.nix { };
 
-  networkmanagerapplet = newScope gnome2 ../tools/networking/network-manager-applet { };
+  networkmanagerapplet = newScope gnome2 ../tools/networking/network-manager/applet.nix { };
 
-  networkmanager_dmenu = callPackage ../tools/networking/networkmanager_dmenu  { };
+  networkmanager_dmenu = callPackage ../tools/networking/network-manager/dmenu.nix  { };
 
   newsboat = callPackage ../applications/networking/feedreaders/newsboat { };
 
@@ -4318,7 +4318,7 @@ with pkgs;
     qt = qt5.qtbase;
   };
 
-  pinentry_mac = callPackage ../tools/security/pinentry-mac {
+  pinentry_mac = callPackage ../tools/security/pinentry/mac.nix {
     inherit (darwin.apple_sdk.frameworks) Cocoa;
   };
 
@@ -6428,7 +6428,7 @@ with pkgs;
 
   openjdk8 =
     if stdenv.isDarwin then
-      callPackage ../development/compilers/openjdk-darwin/8.nix { }
+      callPackage ../development/compilers/openjdk/darwin/8.nix { }
     else
       callPackage ../development/compilers/openjdk/8.nix {
         bootjdk = callPackage ../development/compilers/openjdk/bootstrap.nix { version = "8"; };
@@ -7376,7 +7376,7 @@ with pkgs;
 
   avr8burnomat = callPackage ../development/misc/avr8-burn-omat { };
 
-  betaflight = callPackage ../development/stm32/betaflight { };
+  betaflight = callPackage ../development/misc/stm32/betaflight { };
 
   sourceFromHead = callPackage ../build-support/source-from-head-fun.nix {};
 
@@ -8110,7 +8110,7 @@ with pkgs;
 
   pyrseas = callPackage ../development/tools/database/pyrseas { };
 
-  qtcreator = libsForQt5.callPackage ../development/qtcreator { };
+  qtcreator = libsForQt5.callPackage ../development/tools/qtcreator { };
 
   r10k = callPackage ../tools/system/r10k { };
 
@@ -18667,21 +18667,21 @@ with pkgs;
     packages = self: [];
   };
 
-  xmonad_log_applet_gnome2 = callPackage ../applications/window-managers/xmonad-log-applet {
+  xmonad_log_applet_gnome2 = callPackage ../applications/window-managers/xmonad/log-applet {
     desktopSupport = "gnome2";
     inherit (xfce) libxfce4util xfce4-panel;
     gnome2_panel = gnome2.gnome_panel;
     GConf2 = gnome2.GConf;
   };
 
-  xmonad_log_applet_gnome3 = callPackage ../applications/window-managers/xmonad-log-applet {
+  xmonad_log_applet_gnome3 = callPackage ../applications/window-managers/xmonad/log-applet {
     desktopSupport = "gnome3";
     inherit (xfce) libxfce4util xfce4-panel;
     gnome2_panel = gnome2.gnome_panel;
     GConf2 = gnome2.GConf;
   };
 
-  xmonad_log_applet_xfce = callPackage ../applications/window-managers/xmonad-log-applet {
+  xmonad_log_applet_xfce = callPackage ../applications/window-managers/xmonad/log-applet {
     desktopSupport = "xfce4";
     inherit (xfce) libxfce4util xfce4-panel;
     gnome2_panel = gnome2.gnome_panel;