| Copyright | (c) 2021-2022 berberman |
|---|---|
| License | MIT |
| Maintainer | berberman <berberman@yandex.com> |
| Stability | experimental |
| Portability | portable |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
NvFetcher
Description
The main module of nvfetcher. If you want to create CLI program with it, it's enough to import only this module.
Example:
module Main where import NvFetcher main :: IO () main = runNvFetcher packageSet packageSet :: PackageSet () packageSet = do define $ package "feeluown-core"fromPypi"feeluown" define $ package "qliveplayer"fromGitHub(THMonster, QLivePlayer)
You can find more examples of packages in Main_example.hs.
Running the created program:
main-- abbreviation ofmain buildmain build-- build nix sources expr from givenpackageSetmain clean-- delete .shake dir and generated nix file
All shake options are inherited.
Synopsis
- runNvFetcher :: PackageSet () -> IO ()
- runNvFetcher' :: Config -> PackageSet () -> IO ()
- runNvFetcherNoCLI :: Config -> Target -> PackageSet () -> IO ()
- applyCliOptions :: Config -> CLIOptions -> IO Config
- parseLastVersions :: FilePath -> IO (Maybe (Map PackageKey Version))
- module NvFetcher.PackageSet
- module NvFetcher.Types
- module NvFetcher.Types.ShakeExtras
Documentation
runNvFetcher :: PackageSet () -> IO () Source #
Run nvfetcher with CLI options
This function calls runNvFetcherNoCLI, using def Config overridden by CLIOptions.
Use this function to create your own Haskell executable program.
runNvFetcher' :: Config -> PackageSet () -> IO () Source #
Similar to runNvFetcher, but uses custom config instead of def overridden by CLIOptions
runNvFetcherNoCLI :: Config -> Target -> PackageSet () -> IO () Source #
Entry point of nvfetcher
applyCliOptions :: Config -> CLIOptions -> IO Config Source #
Apply CLIOptions to Config
parseLastVersions :: FilePath -> IO (Maybe (Map PackageKey Version)) Source #
Parse generated.nix
module NvFetcher.PackageSet
module NvFetcher.Types
module NvFetcher.Types.ShakeExtras