{-# 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. 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
$cto :: forall x. Rep CiNixArgs x -> CiNixArgs
$cfrom :: forall x. CiNixArgs -> Rep CiNixArgs x
Generic, [CiNixArgs] -> Encoding
[CiNixArgs] -> Value
CiNixArgs -> Encoding
CiNixArgs -> Value
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [CiNixArgs] -> Encoding
$ctoEncodingList :: [CiNixArgs] -> Encoding
toJSONList :: [CiNixArgs] -> Value
$ctoJSONList :: [CiNixArgs] -> Value
toEncoding :: CiNixArgs -> Encoding
$ctoEncoding :: CiNixArgs -> Encoding
toJSON :: CiNixArgs -> Value
$ctoJSON :: CiNixArgs -> Value
ToJSON)
  deriving (Ptr EvalState -> CiNixArgs -> IO RawValue
forall a. (Ptr EvalState -> a -> IO RawValue) -> ToRawValue a
toRawValue :: Ptr EvalState -> CiNixArgs -> IO RawValue
$ctoRawValue :: Ptr EvalState -> CiNixArgs -> IO RawValue
ToRawValue) via (ViaJSON CiNixArgs)