{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DerivingVia #-}

module Hercules.Agent.NixFile.CiNixArgs where

import Data.Aeson (ToJSON)
import Hercules.Agent.NixFile.GitSource (GitSource)
import Hercules.CNix.Expr (ToRawValue, ViaJSON (ViaJSON))
import Protolude

data CiNixArgs = CiNixArgs
  { CiNixArgs -> GitSource
src :: GitSource
  }
  deriving ((forall x. CiNixArgs -> Rep CiNixArgs x)
-> (forall x. Rep CiNixArgs x -> CiNixArgs) -> Generic CiNixArgs
forall x. Rep CiNixArgs x -> CiNixArgs
forall x. CiNixArgs -> Rep CiNixArgs x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. CiNixArgs -> Rep CiNixArgs x
from :: forall x. CiNixArgs -> Rep CiNixArgs x
$cto :: forall x. Rep CiNixArgs x -> CiNixArgs
to :: forall x. Rep CiNixArgs x -> CiNixArgs
Generic, [CiNixArgs] -> Value
[CiNixArgs] -> Encoding
CiNixArgs -> Value
CiNixArgs -> Encoding
(CiNixArgs -> Value)
-> (CiNixArgs -> Encoding)
-> ([CiNixArgs] -> Value)
-> ([CiNixArgs] -> Encoding)
-> ToJSON CiNixArgs
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
$ctoJSON :: CiNixArgs -> Value
toJSON :: CiNixArgs -> Value
$ctoEncoding :: CiNixArgs -> Encoding
toEncoding :: CiNixArgs -> Encoding
$ctoJSONList :: [CiNixArgs] -> Value
toJSONList :: [CiNixArgs] -> Value
$ctoEncodingList :: [CiNixArgs] -> Encoding
toEncodingList :: [CiNixArgs] -> Encoding
ToJSON)
  deriving (Ptr EvalState -> CiNixArgs -> IO RawValue
(Ptr EvalState -> CiNixArgs -> IO RawValue) -> ToRawValue CiNixArgs
forall a. (Ptr EvalState -> a -> IO RawValue) -> ToRawValue a
$ctoRawValue :: Ptr EvalState -> CiNixArgs -> IO RawValue
toRawValue :: Ptr EvalState -> CiNixArgs -> IO RawValue
ToRawValue) via (ViaJSON CiNixArgs)