hnix/Nix.hs

26 lines
578 B
Haskell
Raw Normal View History

module Main where
2014-06-29 01:30:47 +02:00
import Data.Map as Map
import Nix.Eval
import Nix.Parser
2014-07-07 15:34:07 +02:00
import Nix.Pretty
import Nix.Types
2014-07-18 11:42:06 +02:00
import Text.PrettyPrint.ANSI.Leijen
import System.Environment
2014-07-18 11:42:06 +02:00
import System.IO
2014-06-29 19:11:29 +02:00
2014-06-29 01:30:47 +02:00
nix :: FilePath -> IO ()
nix path = do
res <- parseNixFile path
case res of
Failure e -> error $ "Parse failed: " ++ show e
Success n -> do
2014-07-18 11:42:06 +02:00
displayIO stdout $ renderPretty 0.4 80 (prettyNix n)
top <- evalExpr n (Fix (NVSet Map.empty)) -- evaluate top level
print top
2014-06-29 01:30:47 +02:00
main :: IO ()
main = do
[path] <- getArgs
nix path