nix-book/source/recipes/devshell/haskell-pkg/main.adoc0
Amy de Buitléir c49ca3a57e temp
2025-09-04 20:27:44 +01:00

38 lines
782 B
Text

= A Haskell library package in the nixpkgs repo (without a `.cabal` file)
////
$ mkdir tempwork
$ cd tempwork
$ cp ../flake.nix Main.hs .
$ git add flake.nix
$ nix develop
$ git add flake.lock
$ git commit -a -m temp
////
Occasionally you might want to run a short Haskell program that depends on a Haskell library,
but you don't want to bother writing a cabal file.
Example: Access the `containers` package from the `haskellPackages` set in the nixpkgs repo.
[source,nix,linenums,highlight='9,14']
.flake.nix
....
include::flake.nix[]
....
Here's a short Haskell program that uses it.
[source,haskell,linenums]
.Main.hs
....
include::Main.hs[]
....
Here's a demonstration using the program.
....
$# ../../../../../start-shell nix develop <<EOL
$ runghc Main.hs
$# EOL
....