diff --git a/modules/programs/emacs.nix b/modules/programs/emacs.nix
index eb12ae19c..87f47a76a 100644
--- a/modules/programs/emacs.nix
+++ b/modules/programs/emacs.nix
@@ -33,10 +33,19 @@ in
         example = literalExample "epkgs: [ epkgs.emms epkgs.magit ]";
         description = "Extra packages available to Emacs.";
       };
+
+      finalPackage = mkOption {
+        type = types.package;
+        internal = true;
+        readOnly = true;
+        description = "The Emacs package including any extra packages.";
+      };
     };
   };
 
   config = mkIf cfg.enable {
-    home.packages = [ (emacsWithPackages cfg.extraPackages) ];
+    home.packages = [ cfg.finalPackage ];
+
+    programs.emacs.finalPackage = emacsWithPackages cfg.extraPackages;
   };
 }