- Notifications
You must be signed in to change notification settings - Fork3
Haskell/Nix development build tools
License
tek/hix
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Hix is a toolkit for Haskell development that usesNix to provide a unified,declarative interface for a range of build related tasks:
- Reproducible environments and dependency overrides
- Cabal file generation
- Hackage upload
- Rapid-recompilation testing with
ghcid
- Haskell Language Server
- CTags generation
- Virtual Machines for testing
- Compatibility checks for multiple GHC versions
To learn more, please visit thedocumentation page.
You can convert an existing Cabal project by executing this command in the project root, usingFlakeHub or GitHub:
nix run 'https://flakehub.com/f/tek/hix/~0.9.tar.gz#bootstrap'nix run 'github:tek/hix?ref=0.9.1#bootstrap'
You can create a new project in the current or an arbitrary directory:
nix run 'https://flakehub.com/f/tek/hix/~0.9.tar.gz#init' -- --author 'Your Name' --name project-namenix run 'https://flakehub.com/f/tek/hix/~0.9.tar.gz#new' -- --author 'Your Name' path/to/project-name
The manual process consists of first adding Hix to your Haskell project flake by specifying the input:
{inputs.hix.url="https://flakehub.com/f/tek/hix/~0.9.tar.gz";}
Then configure your project with NixOS module options:
{description="Example";inputs.hix.url="https://flakehub.com/f/tek/hix/~0.9.tar.gz";outputs={hix, ...}:hix{packages.parser={src=./.;library={enable=true;dependencies=["aeson ^>= 2.0""bytestring"];};executable.enable=true;test.enable=true;};};}
Now generate Cabal files with:
nix run .#gen-cabal
Build the package withnix build
, or run the tests intest/Main.hs
in GHCid:
nix run .#ghcid -- -p parser
About
Haskell/Nix development build tools
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.