diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+v0.12.0.0
+  * #134, Make libdir a parameter instead of using GHC.Paths.libdir (@fendor)
+
 v0.11.0.0
   * support GHC 9.4
 
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
 [`refact`](https://hackage.haskell.org/package/refact) package. It is currently
 integrated into [HLint](https://github.com/ndmitchell/hlint) to enable the automatic application of suggestions.
 
-apply-refact 0.11.x supports GHC 9.4 and 9.2, 0.10.x supports GHC 9.2 and 0.9.x supports GHC 8.6 through 9.0.
+apply-refact 0.11+ support GHC 9.4 and 9.2, 0.10.x supports GHC 9.2 and 0.9.x supports GHC 8.6 through 9.0.
 
 # Install
 
diff --git a/apply-refact.cabal b/apply-refact.cabal
--- a/apply-refact.cabal
+++ b/apply-refact.cabal
@@ -1,7 +1,7 @@
 cabal-version:       2.4
 
 name:                apply-refact
-version:             0.11.0.0
+version:             0.12.0.0
 synopsis:            Perform refactorings specified by the refact library.
 description:         Perform refactorings specified by the refact library. It is primarily used with HLint's --refactor flag.
 license:             BSD-3-Clause
@@ -36,7 +36,6 @@
                , refact >= 0.2
                , ghc-boot-th
                , ghc-exactprint ^>= 1.6.0 || ^>= 1.5.0
-               , ghc-paths
                , containers >= 0.6.0.1 && < 0.7
                , extra >= 1.7.3
                , syb >= 0.7.1
diff --git a/src/Refact/Apply.hs b/src/Refact/Apply.hs
--- a/src/Refact/Apply.hs
+++ b/src/Refact/Apply.hs
@@ -15,6 +15,11 @@
 
 -- | Apply a set of refactorings as supplied by HLint
 applyRefactorings ::
+  -- | FilePath to [GHC's libdir](https://downloads.haskell.org/ghc/latest/docs/users_guide/using.html#ghc-flag---print-libdir).
+  --
+  -- It is possible to use @libdir@ from [ghc-paths package](https://hackage.haskell.org/package/ghc-paths), but note
+  -- this will make it difficult to provide a binary distribution of your program.
+  FilePath ->
   -- | Apply hints relevant to a specific position
   Maybe (Int, Int) ->
   -- | 'Refactoring's to apply. Each inner list corresponds to an HLint
@@ -35,12 +40,12 @@
   -- with the @LANGUAGE@ pragmas, pragmas win.
   [String] ->
   IO String
-applyRefactorings optionsPos inp file exts = do
+applyRefactorings libdir optionsPos inp file exts = do
   let (enabled, disabled, invalid) = parseExtensions exts
   unless (null invalid) . fail $ "Unsupported extensions: " ++ intercalate ", " invalid
   m <-
     either (onError "apply") applyFixities
-      =<< parseModuleWithArgs (enabled, disabled) file
+      =<< parseModuleWithArgs libdir (enabled, disabled) file
   apply optionsPos False ((mempty,) <$> inp) (Just file) Silent m
 
 -- | Like 'applyRefactorings', but takes a parsed module rather than a file path to parse.
diff --git a/src/Refact/Internal.hs b/src/Refact/Internal.hs
--- a/src/Refact/Internal.hs
+++ b/src/Refact/Internal.hs
@@ -39,7 +39,6 @@
 import qualified GHC
 import GHC.IO.Exception (IOErrorType (..))
 import GHC.LanguageExtensions.Type (Extension (..))
-import qualified GHC.Paths
 import Language.Haskell.GHC.ExactPrint
   ( ExactPrint,
     exactPrint,
@@ -712,10 +711,11 @@
         . GHC.handleSourceError (pure . Left . show)
 
 parseModuleWithArgs ::
+  LibDir ->
   ([Extension], [Extension]) ->
   FilePath ->
   IO (Either Errors GHC.ParsedSource)
-parseModuleWithArgs (es, ds) fp = ghcWrapper GHC.Paths.libdir $ do
+parseModuleWithArgs libdir (es, ds) fp = ghcWrapper libdir $ do
   initFlags <- initDynFlags fp
   eflags <- liftIO $ addExtensionsToFlags es ds fp initFlags
   case eflags of
diff --git a/src/Refact/Run.hs b/src/Refact/Run.hs
--- a/src/Refact/Run.hs
+++ b/src/Refact/Run.hs
@@ -8,6 +8,7 @@
 import Data.Version
 import Debug.Trace
 import Language.Haskell.GHC.ExactPrint.ExactPrint (showAst)
+import qualified GHC.Paths
 import Options.Applicative
 import Paths_apply_refact
 import Refact.Apply (parseExtensions)
@@ -87,7 +88,7 @@
           "Invalid extensions: " ++ intercalate ", " invalidExts
         m <-
           either (onError "runPipe") applyFixities
-            =<< parseModuleWithArgs (enabledExts, disabledExts) file
+            =<< parseModuleWithArgs GHC.Paths.libdir (enabledExts, disabledExts) file
         when optionsDebug (putStrLn (showAst m))
         apply optionsPos optionsStep inp (Just file) verb m
 
