module Hix.Managed.Data.BuildConfig where

import Hix.Managed.Handlers.Build (BuildTimeout)

data BuildConfig =
  BuildConfig {
    BuildConfig -> Natural
maxIterations :: Natural,
    BuildConfig -> Natural
maxFailedPre :: Natural,
    BuildConfig -> Natural
maxFailedPost :: Natural,
    BuildConfig -> Bool
lookup :: Bool,
    BuildConfig -> Bool
validate :: Bool,
    BuildConfig -> Bool
buildOutput :: Bool,
    BuildConfig -> Bool
toposortMutations :: Bool,
    BuildConfig -> Maybe BuildTimeout
timeout :: Maybe BuildTimeout,
    BuildConfig -> Bool
disableNixMonitor :: Bool
  }
  deriving stock (BuildConfig -> BuildConfig -> Bool
(BuildConfig -> BuildConfig -> Bool)
-> (BuildConfig -> BuildConfig -> Bool) -> Eq BuildConfig
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: BuildConfig -> BuildConfig -> Bool
== :: BuildConfig -> BuildConfig -> Bool
$c/= :: BuildConfig -> BuildConfig -> Bool
/= :: BuildConfig -> BuildConfig -> Bool
Eq, Int -> BuildConfig -> ShowS
[BuildConfig] -> ShowS
BuildConfig -> String
(Int -> BuildConfig -> ShowS)
-> (BuildConfig -> String)
-> ([BuildConfig] -> ShowS)
-> Show BuildConfig
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> BuildConfig -> ShowS
showsPrec :: Int -> BuildConfig -> ShowS
$cshow :: BuildConfig -> String
show :: BuildConfig -> String
$cshowList :: [BuildConfig] -> ShowS
showList :: [BuildConfig] -> ShowS
Show, (forall x. BuildConfig -> Rep BuildConfig x)
-> (forall x. Rep BuildConfig x -> BuildConfig)
-> Generic BuildConfig
forall x. Rep BuildConfig x -> BuildConfig
forall x. BuildConfig -> Rep BuildConfig x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. BuildConfig -> Rep BuildConfig x
from :: forall x. BuildConfig -> Rep BuildConfig x
$cto :: forall x. Rep BuildConfig x -> BuildConfig
to :: forall x. Rep BuildConfig x -> BuildConfig
Generic)

instance Default BuildConfig where
  def :: BuildConfig
def = BuildConfig {
    maxIterations :: Natural
maxIterations = Natural
3,
    maxFailedPre :: Natural
maxFailedPre = Natural
99,
    maxFailedPost :: Natural
maxFailedPost = Natural
0,
    lookup :: Bool
lookup = Bool
False,
    validate :: Bool
validate = Bool
False,
    buildOutput :: Bool
buildOutput = Bool
False,
    toposortMutations :: Bool
toposortMutations = Bool
True,
    timeout :: Maybe BuildTimeout
timeout = Maybe BuildTimeout
forall a. Maybe a
Nothing,
    disableNixMonitor :: Bool
disableNixMonitor = Bool
False
  }