diff --git a/hgit.cabal b/hgit.cabal
index 8925b900466fccdada93a5e810be5f60abf5bf92..18e45cb08c470340581f1c329cbc1a85bb8521db 100644
--- a/hgit.cabal
+++ b/hgit.cabal
@@ -57,6 +57,8 @@ library
       Data.Git.Path
       Data.Git.Parser
       Data.Git.WorkTree
+  hs-source-dirs:
+      src
   ghc-options: -Wall
   build-depends:
       base >=4.13 && <5
diff --git a/package.yaml b/package.yaml
index 30e476f0a889ecd520e52a22e8877461d39a1b7c..c30036d1b0b828eaee1edef159c8c4637cbb1344 100644
--- a/package.yaml
+++ b/package.yaml
@@ -39,8 +39,8 @@ dependencies:
   - system-fileio
 
 library:
-  # source-dirs:
-  #   - src
+  source-dirs:
+    - src
   exposed-modules:
     - Data.Git
     - Data.Git.Monad
diff --git a/Data/Git.hs b/src/Data/Git.hs
similarity index 100%
rename from Data/Git.hs
rename to src/Data/Git.hs
diff --git a/Data/Git/Config.hs b/src/Data/Git/Config.hs
similarity index 100%
rename from Data/Git/Config.hs
rename to src/Data/Git/Config.hs
diff --git a/Data/Git/Delta.hs b/src/Data/Git/Delta.hs
similarity index 100%
rename from Data/Git/Delta.hs
rename to src/Data/Git/Delta.hs
diff --git a/Data/Git/Diff.hs b/src/Data/Git/Diff.hs
similarity index 100%
rename from Data/Git/Diff.hs
rename to src/Data/Git/Diff.hs
diff --git a/Data/Git/Diff/Patience.hs b/src/Data/Git/Diff/Patience.hs
similarity index 100%
rename from Data/Git/Diff/Patience.hs
rename to src/Data/Git/Diff/Patience.hs
diff --git a/Data/Git/Imports.hs b/src/Data/Git/Imports.hs
similarity index 100%
rename from Data/Git/Imports.hs
rename to src/Data/Git/Imports.hs
diff --git a/Data/Git/Index.hs b/src/Data/Git/Index.hs
similarity index 100%
rename from Data/Git/Index.hs
rename to src/Data/Git/Index.hs
diff --git a/Data/Git/Internal.hs b/src/Data/Git/Internal.hs
similarity index 100%
rename from Data/Git/Internal.hs
rename to src/Data/Git/Internal.hs
diff --git a/Data/Git/Monad.hs b/src/Data/Git/Monad.hs
similarity index 100%
rename from Data/Git/Monad.hs
rename to src/Data/Git/Monad.hs
diff --git a/Data/Git/Named.hs b/src/Data/Git/Named.hs
similarity index 100%
rename from Data/Git/Named.hs
rename to src/Data/Git/Named.hs
diff --git a/Data/Git/OS.hs b/src/Data/Git/OS.hs
similarity index 100%
rename from Data/Git/OS.hs
rename to src/Data/Git/OS.hs
diff --git a/Data/Git/Parser.hs b/src/Data/Git/Parser.hs
similarity index 100%
rename from Data/Git/Parser.hs
rename to src/Data/Git/Parser.hs
diff --git a/Data/Git/Path.hs b/src/Data/Git/Path.hs
similarity index 100%
rename from Data/Git/Path.hs
rename to src/Data/Git/Path.hs
diff --git a/Data/Git/Ref.hs b/src/Data/Git/Ref.hs
similarity index 100%
rename from Data/Git/Ref.hs
rename to src/Data/Git/Ref.hs
diff --git a/Data/Git/Repository.hs b/src/Data/Git/Repository.hs
similarity index 100%
rename from Data/Git/Repository.hs
rename to src/Data/Git/Repository.hs
diff --git a/Data/Git/Revision.hs b/src/Data/Git/Revision.hs
similarity index 100%
rename from Data/Git/Revision.hs
rename to src/Data/Git/Revision.hs
diff --git a/Data/Git/Storage.hs b/src/Data/Git/Storage.hs
similarity index 100%
rename from Data/Git/Storage.hs
rename to src/Data/Git/Storage.hs
diff --git a/Data/Git/Storage/CacheFile.hs b/src/Data/Git/Storage/CacheFile.hs
similarity index 100%
rename from Data/Git/Storage/CacheFile.hs
rename to src/Data/Git/Storage/CacheFile.hs
diff --git a/Data/Git/Storage/FileReader.hs b/src/Data/Git/Storage/FileReader.hs
similarity index 100%
rename from Data/Git/Storage/FileReader.hs
rename to src/Data/Git/Storage/FileReader.hs
diff --git a/Data/Git/Storage/FileWriter.hs b/src/Data/Git/Storage/FileWriter.hs
similarity index 100%
rename from Data/Git/Storage/FileWriter.hs
rename to src/Data/Git/Storage/FileWriter.hs
diff --git a/Data/Git/Storage/Loose.hs b/src/Data/Git/Storage/Loose.hs
similarity index 100%
rename from Data/Git/Storage/Loose.hs
rename to src/Data/Git/Storage/Loose.hs
diff --git a/Data/Git/Storage/Object.hs b/src/Data/Git/Storage/Object.hs
similarity index 100%
rename from Data/Git/Storage/Object.hs
rename to src/Data/Git/Storage/Object.hs
diff --git a/Data/Git/Storage/Pack.hs b/src/Data/Git/Storage/Pack.hs
similarity index 100%
rename from Data/Git/Storage/Pack.hs
rename to src/Data/Git/Storage/Pack.hs
diff --git a/Data/Git/Storage/PackIndex.hs b/src/Data/Git/Storage/PackIndex.hs
similarity index 100%
rename from Data/Git/Storage/PackIndex.hs
rename to src/Data/Git/Storage/PackIndex.hs
diff --git a/Data/Git/Types.hs b/src/Data/Git/Types.hs
similarity index 100%
rename from Data/Git/Types.hs
rename to src/Data/Git/Types.hs
diff --git a/Data/Git/WorkTree.hs b/src/Data/Git/WorkTree.hs
similarity index 100%
rename from Data/Git/WorkTree.hs
rename to src/Data/Git/WorkTree.hs