@@ -26,7 +26,8 @@ newtype StackageConfig = StackageConfig { unStackageConfig :: FilePath }
26makePrisms ''StackageConfig
26makePrisms ''StackageConfig
28data Options = Options
28data Options = Options
29+ { _optOutFile :: !FilePath
29− { _optHackageDb :: !(Maybe HackageDb)
30+ , _optHackageDb :: !(Maybe HackageDb)
30 , _optStackagePackages :: !(Maybe StackagePackages)
31 , _optStackagePackages :: !(Maybe StackagePackages)
31 , _optStackageConfig :: !(Maybe StackageConfig)
32 , _optStackageConfig :: !(Maybe StackageConfig)
32 , _optCompilerId :: !CompilerId
33 , _optCompilerId :: !CompilerId
@@ -38,7 +39,8 @@ makeLenses ''Options
39options :: Parser Options
40options :: Parser Options
40options = Options
41options = Options
41− <$> optional hackageDb
43+ <*> optional hackageDb
42 <*> optional stackagePackages
44 <*> optional stackagePackages
43 <*> optional stackageConfig
45 <*> optional stackageConfig
44 <*> compilerId
46 <*> compilerId
@@ -52,6 +54,13 @@ pinfo = info
52 ( fullDesc
54 ( fullDesc
53 <> header "stack2nix converts Stack files into build instructions for Nix." )
55 <> header "stack2nix converts Stack files into build instructions for Nix." )
57+outFile :: Parser FilePath
59+ ( long "nix-out-file"
60+ <> metavar "NIX_OUT_FILE"
61+ <> help "path where to write output derivation"
62+ <> value "default.nix" )
55stackResolver :: Parser StackResolver
64stackResolver :: Parser StackResolver
56stackResolver = StackResolver <$>
65stackResolver = StackResolver <$>
57 option text
66 option text