{-# LANGUAGE DeriveGeneric #-}
module Nix.Derivation.Types
(
Derivation(..)
, DerivationOutput(..)
) where
import Control.DeepSeq (NFData)
import Data.Map (Map)
import Data.Set (Set)
import Data.Text (Text)
import Data.Vector (Vector)
import Filesystem.Path.CurrentOS (FilePath)
import GHC.Generics (Generic)
import Prelude hiding (FilePath)
data Derivation = Derivation
{ outputs :: Map Text DerivationOutput
, inputDrvs :: Map FilePath (Set Text)
, inputSrcs :: Set FilePath
, platform :: Text
, builder :: Text
, args :: Vector Text
, env :: Map Text Text
} deriving (Eq, Generic, Ord, Show)
instance NFData Derivation
data DerivationOutput = DerivationOutput
{ path :: FilePath
, hashAlgo :: Text
, hash :: Text
} deriving (Eq, Generic, Ord, Show)
instance NFData DerivationOutput