hix-0.9.0: lib/Hix/Managed/Data/Envs.hs
module Hix.Managed.Data.Envs where
import Data.Aeson (FromJSON)
import Distribution.Pretty (Pretty (pretty))
import GHC.Exts (IsList)
import Hix.Class.EncodeNix (EncodeNix)
import Hix.Class.Map (LookupMonoid, NMap, nPretty1)
import Hix.Data.EnvName (EnvName)
import Hix.Pretty (HPretty (..), hnPretty)
newtype Envs a =
Envs (Map EnvName a)
deriving stock (Eq, Show, Generic)
deriving newtype (FromJSON, Semigroup, Monoid, IsList, EncodeNix)
instance NMap (Envs a) EnvName a LookupMonoid where
instance Pretty a => Pretty (Envs a) where
pretty = nPretty1
instance HPretty a => HPretty (Envs a) where
hpretty = hnPretty