diff --git a/tahoe-ssk.cabal b/tahoe-ssk.cabal
index 7b9fa648fd8de6f57f48f6ccc33695a327619b11..92b75c449fc018cad0623f023f7ebafa64d5f9bf 100644
--- a/tahoe-ssk.cabal
+++ b/tahoe-ssk.cabal
@@ -60,8 +60,21 @@ extra-source-files: test/data/*
 common warnings
   ghc-options: -Wall
 
+common language
+  default-extensions:
+    DerivingStrategies
+    GeneralizedNewtypeDeriving
+    NamedFieldPuns
+    OverloadedStrings
+    PackageImports
+    RecordWildCards
+
+  default-language:   Haskell2010
+
 library
-  hs-source-dirs:     src
+  import:          warnings
+  import:          language
+  hs-source-dirs:  src
   exposed-modules:
     Tahoe.SDMF
     Tahoe.SDMF.Internal.Capability
@@ -86,21 +99,12 @@ library
 
   -- This dependency isn't ideal.  Move common bits out to
   -- another library.
-  build-depends:      tahoe-chk
-  ghc-options:        -Wall
-  default-extensions:
-    DerivingStrategies
-    GeneralizedNewtypeDeriving
-    NamedFieldPuns
-    OverloadedStrings
-    PackageImports
-    RecordWildCards
-
-  default-language:   Haskell2010
+  build-depends:   tahoe-chk
 
 test-suite tahoe-ssk-test
   -- Import common warning flags.
   import:             warnings
+  import:             language
 
   -- Base language which the package is written in.
   default-language:   Haskell2010