module App.Static.Windows where

import Data.Maybe
import HaskellWorks.CabalCache.Location ((</>))

import qualified App.Static.Base    as S
import qualified System.Environment as IO
import qualified System.IO.Unsafe   as IO

appDataDirectory :: FilePath
appDataDirectory :: FilePath
appDataDirectory = IO FilePath -> FilePath
forall a. IO a -> a
IO.unsafePerformIO (IO FilePath -> FilePath) -> IO FilePath -> FilePath
forall a b. (a -> b) -> a -> b
$ (Maybe FilePath -> FilePath) -> IO (Maybe FilePath) -> IO FilePath
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (FilePath -> Maybe FilePath -> FilePath
forall a. a -> Maybe a -> a
fromMaybe FilePath
S.homeDirectory) (FilePath -> IO (Maybe FilePath)
IO.lookupEnv FilePath
"APPDATA")
{-# NOINLINE appDataDirectory #-}

cabalDirectory :: FilePath
cabalDirectory :: FilePath
cabalDirectory = FilePath
appDataDirectory FilePath -> FilePath -> FilePath
forall a s. IsPath a s => a -> s -> a
</> FilePath
"cabal"