hercules-ci-agent-0.8.0: hercules-ci-agent/Hercules/Agent/Cachix/Env.hs
module Hercules.Agent.Cachix.Env where
import qualified Cachix.Client.Push as Cachix
import Hercules.CNix.Store (Store)
import Hercules.Formats.CachixCache (CachixCache)
import Protolude
import Servant.Client (ClientEnv)
data PushCache = PushCache
{ pushCacheName :: Text,
pushCacheSecret :: Cachix.PushSecret
}
data Env = Env
{ pushCaches :: Map Text PushCache,
cacheKeys :: Map Text CachixCache,
netrcLines :: [Text],
nixStore :: Store,
clientEnv :: ClientEnv
}
class HasEnv env where
getEnv :: env -> Env
instance HasEnv Env where
getEnv = identity