23 lines
517 B
Haskell
23 lines
517 B
Haskell
|
{- portable environment variables, without any dependencies
|
||
|
-
|
||
|
- Copyright 2013 Joey Hess <id@joeyh.name>
|
||
|
-
|
||
|
- License: BSD-2-clause
|
||
|
-}
|
||
|
|
||
|
{-# OPTIONS_GHC -fno-warn-tabs #-}
|
||
|
|
||
|
module Utility.Env.Basic where
|
||
|
|
||
|
import Utility.Exception
|
||
|
import Control.Applicative
|
||
|
import Data.Maybe
|
||
|
import Prelude
|
||
|
import qualified System.Environment as E
|
||
|
|
||
|
getEnv :: String -> IO (Maybe String)
|
||
|
getEnv = catchMaybeIO . E.getEnv
|
||
|
|
||
|
getEnvDefault :: String -> String -> IO String
|
||
|
getEnvDefault var fallback = fromMaybe fallback <$> getEnv var
|