diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,10 @@
 # ChangeLog for warp
 
+## 3.4.9
+
+* New flag `include-warp-version` can be disabled to remove dependency on `Paths_warp`.
+  [#1044](https://github.com/yesodweb/wai/pull/1044)
+
 ## 3.4.8
 
 * Label the internal hack thread on Windows used to make socket
diff --git a/Network/Wai/Handler/Warp.hs b/Network/Wai/Handler/Warp.hs
--- a/Network/Wai/Handler/Warp.hs
+++ b/Network/Wai/Handler/Warp.hs
@@ -159,7 +159,6 @@
 import Network.Wai.Handler.Warp.HTTP2.Types
 import Network.Wai.Handler.Warp.Imports
 import Network.Wai.Handler.Warp.Request
-import Network.Wai.Handler.Warp.Response (warpVersion)
 import Network.Wai.Handler.Warp.Run
 import Network.Wai.Handler.Warp.Settings
 import Network.Wai.Handler.Warp.Types hiding (getFileInfo)
diff --git a/Network/Wai/Handler/Warp/Internal.hs b/Network/Wai/Handler/Warp/Internal.hs
--- a/Network/Wai/Handler/Warp/Internal.hs
+++ b/Network/Wai/Handler/Warp/Internal.hs
@@ -107,3 +107,4 @@
 import Network.Wai.Handler.Warp.Settings
 import Network.Wai.Handler.Warp.Types
 import Network.Wai.Handler.Warp.Windows
+
diff --git a/Network/Wai/Handler/Warp/Response.hs b/Network/Wai/Handler/Warp/Response.hs
--- a/Network/Wai/Handler/Warp/Response.hs
+++ b/Network/Wai/Handler/Warp/Response.hs
@@ -7,6 +7,7 @@
 module Network.Wai.Handler.Warp.Response (
     sendResponse,
     sanitizeHeaderValue, -- for testing
+    --  Provided here for backwards compatibility.
     warpVersion,
     hasBody,
     replaceHeader,
@@ -31,13 +32,11 @@
     newByteStringBuilderRecv,
     reuseBufferStrategy,
  )
-import Data.Version (showVersion)
 import Data.Word8 (_cr, _lf, _space, _tab)
 import qualified Network.HTTP.Types as H
 import qualified Network.HTTP.Types.Header as H
 import Network.Wai
 import Network.Wai.Internal
-import qualified Paths_warp
 import qualified System.TimeManager as T
 
 import Network.Wai.Handler.Warp.Buffer (toBuilderBuffer)
@@ -478,10 +477,6 @@
     Just _ -> return hdrs
 
 ----------------------------------------------------------------
-
--- | The version of Warp.
-warpVersion :: String
-warpVersion = showVersion Paths_warp.version
 
 {-# INLINE addServer #-}
 addServer
diff --git a/Network/Wai/Handler/Warp/Settings.hs b/Network/Wai/Handler/Warp/Settings.hs
--- a/Network/Wai/Handler/Warp/Settings.hs
+++ b/Network/Wai/Handler/Warp/Settings.hs
@@ -15,14 +15,12 @@
 import Data.Streaming.Network (HostPreference)
 import qualified Data.Text as T
 import qualified Data.Text.IO as TIO
-import Data.Version (showVersion)
 import GHC.IO (IO (IO), unsafeUnmask)
 import GHC.IO.Exception (IOErrorType (..))
 import GHC.Prim (fork#)
 import qualified Network.HTTP.Types as H
 import Network.Socket (SockAddr, Socket, accept)
 import Network.Wai
-import qualified Paths_warp
 import System.IO (stderr)
 import System.IO.Error (ioeGetErrorType)
 import System.TimeManager
@@ -33,6 +31,11 @@
 import Network.Wai.Handler.Warp.Windows (windowsThreadBlockHack)
 #endif
 
+#ifdef INCLUDE_WARP_VERSION
+import Data.Version (showVersion)
+import qualified Paths_warp
+#endif
+
 -- | Various Warp server settings. This is purposely kept as an abstract data
 -- type so that new settings can be added without breaking backwards
 -- compatibility. In order to create a 'Settings' value, use 'defaultSettings'
@@ -206,7 +209,7 @@
         , settingsAccept = defaultAccept
         , settingsNoParsePath = False
         , settingsInstallShutdownHandler = const $ return ()
-        , settingsServerName = C8.pack $ "Warp/" ++ showVersion Paths_warp.version
+        , settingsServerName = C8.pack $ "Warp/" ++ warpVersion
         , settingsMaximumBodyFlush = Just 8192
         , settingsProxyProtocol = ProxyProtocolNone
         , settingsSlowlorisSize = 2048
@@ -317,4 +320,13 @@
     windowsThreadBlockHack . accept
 #else
     accept
+#endif
+
+-- | The version of Warp.
+warpVersion :: String
+warpVersion =
+#ifdef INCLUDE_WARP_VERSION
+  showVersion Paths_warp.version
+#else
+  "unknown"
 #endif
diff --git a/warp.cabal b/warp.cabal
--- a/warp.cabal
+++ b/warp.cabal
@@ -1,6 +1,6 @@
 cabal-version:      >=1.10
 name:               warp
-version:            3.4.8
+version:            3.4.9
 license:            MIT
 license-file:       LICENSE
 maintainer:         michael@snoyman.com
@@ -34,6 +34,16 @@
 flag allow-sendfilefd
     description: Allow use of sendfileFd (not available on GNU/kFreeBSD)
 
+flag include-warp-version
+    description:
+        Exposes the version in Network.Wai.Handler.Warp.warpVersion.
+        This adds a dependency on Paths_warp so application binaries may
+        reference subpaths of GHC. For nix users this may result in binaries
+        with a large transitive runtime dependency closure that includes GHC
+        itself.
+    default:     True
+    manual:      True
+
 flag warp-debug
     description: print debug output. not suitable for production
     default:     False
@@ -78,15 +88,17 @@
         Network.Wai.Handler.Warp.Types
         Network.Wai.Handler.Warp.Windows
         Network.Wai.Handler.Warp.WithApplication
-        Paths_warp
 
+    if flag(include-warp-version)
+        other-modules: Paths_warp
+
     default-language: Haskell2010
     ghc-options:      -Wall
     build-depends:
         base >=4.12 && <5,
         array,
         auto-update >=0.2.2 && <0.3,
-        async,
+        async >= 2,
         bsb-http-chunked <0.1,
         bytestring >=0.9.1.4,
         case-insensitive >=0.2,
@@ -140,6 +152,9 @@
     if impl(ghc >=8)
         default-extensions: Strict StrictData
 
+    if flag(include-warp-version)
+        cpp-options: -DINCLUDE_WARP_VERSION
+
 test-suite doctest
     type:             exitcode-stdio-1.0
     main-is:          doctests.hs
@@ -208,8 +223,10 @@
         Network.Wai.Handler.Warp.Types
         Network.Wai.Handler.Warp.Windows
         Network.Wai.Handler.Warp.WithApplication
-        Paths_warp
 
+    if flag(include-warp-version)
+        other-modules: Paths_warp
+
     default-language:   Haskell2010
     ghc-options:        -Wall -threaded
     build-depends:
@@ -285,7 +302,9 @@
         Network.Wai.Handler.Warp.RequestHeader
         Network.Wai.Handler.Warp.Settings
         Network.Wai.Handler.Warp.Types
-        Paths_warp
+
+    if flag(include-warp-version)
+        other-modules: Paths_warp
 
     default-language: Haskell2010
     build-depends:
