diff --git a/jeschli/2configs/firefox.nix b/jeschli/2configs/firefox.nix
index d171fa82d..1e1e16918 100644
--- a/jeschli/2configs/firefox.nix
+++ b/jeschli/2configs/firefox.nix
@@ -2,20 +2,11 @@
 
 let
 
-  # Firefox addons
-  https-everywhere = pkgs.callPackage ./own-pkgs/https-everywhere {};
-  ublock-origin = pkgs.callPackage ./own-pkgs/ublock-origin {};
-  webgl-fingerprint-defender = pkgs.callPackage ./own-pkgs/webgl-fingerprint-defender {};
-  canvas-fingerprint-defender = pkgs.callPackage ./own-pkgs/canvas-fingerprint-defender {};
-  audio-fingerprint-defender = pkgs.callPackage ./own-pkgs/audio-fingerprint-defender {};
-  font-fingerprint-defender = pkgs.callPackage ./own-pkgs/font-fingerprint-defender {};
-  user-agent-switcher = pkgs.callPackage ./own-pkgs/user-agent-switcher {};
-  dark-reader = pkgs.callPackage ./own-pkgs/dark-reader {};
-
-  wrapper = pkgs.callPackage ./overlays/firefox-with-config.nix { };
+  wrapper = pkgs.callPackage ../5pkgs/firefox/firefox-with-config.nix { };
   myFirefox = wrapper pkgs.firefox-unwrapped {
 
-  extraExtensions = [
+  # these plugins are defined in 5pkgs/firefox
+  extraExtensions = with pkgs ; [
     dark-reader
     https-everywhere
     ublock-origin
diff --git a/jeschli/2configs/own-pkgs/audio-fingerprint-defender/default.nix b/jeschli/5pkgs/firefox/audio-fingerprint-defender/default.nix
similarity index 100%
rename from jeschli/2configs/own-pkgs/audio-fingerprint-defender/default.nix
rename to jeschli/5pkgs/firefox/audio-fingerprint-defender/default.nix
diff --git a/jeschli/2configs/own-pkgs/canvas-fingerprint-defender/default.nix b/jeschli/5pkgs/firefox/canvas-fingerprint-defender/default.nix
similarity index 100%
rename from jeschli/2configs/own-pkgs/canvas-fingerprint-defender/default.nix
rename to jeschli/5pkgs/firefox/canvas-fingerprint-defender/default.nix
diff --git a/jeschli/2configs/own-pkgs/dark-reader/default.nix b/jeschli/5pkgs/firefox/dark-reader/default.nix
similarity index 100%
rename from jeschli/2configs/own-pkgs/dark-reader/default.nix
rename to jeschli/5pkgs/firefox/dark-reader/default.nix
diff --git a/jeschli/5pkgs/firefox/default.nix b/jeschli/5pkgs/firefox/default.nix
new file mode 100644
index 000000000..6ba4fec83
--- /dev/null
+++ b/jeschli/5pkgs/firefox/default.nix
@@ -0,0 +1,18 @@
+with import <stockholm/lib>;
+
+self: super:
+
+let
+  # This callPackage will try to detect obsolete overrides.
+  callPackage = path: args: let
+    override = self.callPackage path args;
+    upstream = optionalAttrs (override ? "name")
+      (super.${(parseDrvName override.name).name} or {});
+  in if upstream ? "name" &&
+        override ? "name" &&
+        compareVersions upstream.name override.name != -1
+    then trace "Upstream `${upstream.name}' gets overridden by `${override.name}'." override
+    else override;
+in
+
+  mapNixDir (path: callPackage path {}) ./.
diff --git a/jeschli/2configs/overlays/firefox-with-config.nix b/jeschli/5pkgs/firefox/firefox-with-config.nix
similarity index 100%
rename from jeschli/2configs/overlays/firefox-with-config.nix
rename to jeschli/5pkgs/firefox/firefox-with-config.nix
diff --git a/jeschli/2configs/own-pkgs/font-fingerprint-defender/default.nix b/jeschli/5pkgs/firefox/font-fingerprint-defender/default.nix
similarity index 100%
rename from jeschli/2configs/own-pkgs/font-fingerprint-defender/default.nix
rename to jeschli/5pkgs/firefox/font-fingerprint-defender/default.nix
diff --git a/jeschli/2configs/own-pkgs/hopper/default.nix b/jeschli/5pkgs/firefox/hopper/default.nix
similarity index 100%
rename from jeschli/2configs/own-pkgs/hopper/default.nix
rename to jeschli/5pkgs/firefox/hopper/default.nix
diff --git a/jeschli/2configs/own-pkgs/https-everywhere/default.nix b/jeschli/5pkgs/firefox/https-everywhere/default.nix
similarity index 100%
rename from jeschli/2configs/own-pkgs/https-everywhere/default.nix
rename to jeschli/5pkgs/firefox/https-everywhere/default.nix
diff --git a/jeschli/2configs/own-pkgs/pyocclient/default.nix b/jeschli/5pkgs/firefox/pyocclient/default.nix
similarity index 100%
rename from jeschli/2configs/own-pkgs/pyocclient/default.nix
rename to jeschli/5pkgs/firefox/pyocclient/default.nix
diff --git a/jeschli/2configs/own-pkgs/rmount/default.nix b/jeschli/5pkgs/firefox/rmount/default.nix
similarity index 100%
rename from jeschli/2configs/own-pkgs/rmount/default.nix
rename to jeschli/5pkgs/firefox/rmount/default.nix
diff --git a/jeschli/2configs/own-pkgs/ublock-origin/default.nix b/jeschli/5pkgs/firefox/ublock-origin/default.nix
similarity index 100%
rename from jeschli/2configs/own-pkgs/ublock-origin/default.nix
rename to jeschli/5pkgs/firefox/ublock-origin/default.nix
diff --git a/jeschli/2configs/own-pkgs/user-agent-switcher/default.nix b/jeschli/5pkgs/firefox/user-agent-switcher/default.nix
similarity index 100%
rename from jeschli/2configs/own-pkgs/user-agent-switcher/default.nix
rename to jeschli/5pkgs/firefox/user-agent-switcher/default.nix
diff --git a/jeschli/2configs/own-pkgs/webgl-fingerprint-defender/default.nix b/jeschli/5pkgs/firefox/webgl-fingerprint-defender/default.nix
similarity index 100%
rename from jeschli/2configs/own-pkgs/webgl-fingerprint-defender/default.nix
rename to jeschli/5pkgs/firefox/webgl-fingerprint-defender/default.nix
diff --git a/jeschli/2configs/own-pkgs/wl-clipboard/default.nix b/jeschli/5pkgs/firefox/wl-clipboard/default.nix
similarity index 100%
rename from jeschli/2configs/own-pkgs/wl-clipboard/default.nix
rename to jeschli/5pkgs/firefox/wl-clipboard/default.nix