packages feed

funflow-nix-0.1.0.0: README.md

`funflow-nix` provides functions for creating flows which run in a nix
environment.

The library exposes the `NixConfig` data type which allows you to specify the
environment and command to run. This is then turned into a flow using `nix`.

A complete example can be seen in `examples/Simple.hs`.

We can pin the version of nixpkgs we want to use by specifying a tarball to
use as the source.

```
tarballSource :: NixpkgsSource
tarballSource = NixpkgsTarball [uri|https://github.com/NixOS/nixpkgs/archive/a19357241973538212b5cb435dde84ad25cbe337.tar.gz|]

nixConfig :: Environment -> NixConfig
nixConfig senv =
  NixShellConfig {
    environment = senv
    , command = "jq"
    , args = [ParamText "--version"]
    , env = []
    , stdout = StdOutCapture
    , nixpkgsSource = tarballSource
  }
```

Once the config has been specified. It can be turned into a flow by using the
`nix` function.


```
jqVersionPkg :: SimpleFlow () String
jqVersionPkg = readString_ <<< nix (\() -> nixConfig (PackageList ["jq"]))
```