    -- | Configuration for the code generator.
    module Data.GI.CodeGen.Config
        ( Config(..)
        ) where

    import Data.Text (Text)
    import Data.GI.CodeGen.Overrides (Overrides)

    data Config = Config {
          -- | GIR name of the module being generated (Gtk, GObject, ...).
          Config -> Text
    modName        :: Text,
          -- | Version of the GIR API for the package being generated
          -- ("3.0", "2.0", ...).
          Config -> Text
    modVersion     :: Text,
          -- | Haskell package being generated (gi-gtk, gi-gobject, ...).
          Config -> Text
    ghcPkgName        :: Text,
          -- | Version of the haskell package ("3.0.35", "2.0.21", ...).
          Config -> Text
    ghcPkgVersion     :: Text,
          -- | Whether to print extra info.
          Config -> Bool
    verbose        :: Bool,
          -- | List of loaded overrides for the code generator.
          Config -> Overrides
    overrides      :: Overrides
        } deriving Int -> Config -> ShowS
    [Config] -> ShowS
    Config -> String
    (Int -> Config -> ShowS)
    -> (Config -> String) -> ([Config] -> ShowS) -> Show Config
    forall a.
    (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
    $cshowsPrec :: Int -> Config -> ShowS
    showsPrec :: Int -> Config -> ShowS
    $cshow :: Config -> String
    show :: Config -> String
    $cshowList :: [Config] -> ShowS
    showList :: [Config] -> ShowS
    Show