nvfetcher-0.3.0.0: Generate nix sources expr for the latest version of packages
Copyright(c) 2021 berberman
LicenseMIT
Maintainerberberman <berberman@yandex.com>
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

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 defaultArgs packageSet

packageSet :: PackageSet ()
packageSet = do
  define $ package "feeluown-core" fromPypi "feeluown"
  define $ package "qliveplayer" fromGitHub (IsoaSFlus, QLivePlayer)

You can find more examples of packages in Main_example.hs.

Running the created program:

  • main -- abbreviation of main build
  • main build -- build nix sources expr from given packageSet
  • main clean -- delete .shake dir and generated nix file
  • main -j -- build with parallelism

All shake options are inherited.

Synopsis

Documentation

data Args Source #

Arguments for running nvfetcher

Constructors

Args 

Fields

defaultArgs :: Args Source #

Default arguments of defaultMain

Output file path is sources.nix.

runNvFetcher :: PackageSet () -> IO () Source #

Run nvfetcher with CLI options

This function calls runNvFetcherNoCLI, using Args from CLIOptions. Use this function to create your own Haskell executable program.

runNvFetcherNoCLI :: Args -> PackageSet () -> IO () Source #

Entry point of nvfetcher