Add horizon.werrorwolf module
Summary
This MR adds a new horizon.werrorwolf flake-parts module that wraps the werrorwolf module with sensible defaults for Horizon Haskell projects.
Features
-
Simplified configuration: Just set
enable = trueand provide a list of packages -
Sensible defaults: Automatically enables
-Wmissing-import-listsand-Wmissing-local-signaturesalongside-Werror -
Customizable: The
extra-flagsoption can be overridden to use different warning flags
Configuration Example
horizon.werrorwolf = {
enable = true;
packages = [ pkgs.haskellPackages.mypackage ];
# Defaults to ["-Wmissing-import-lists" "-Wmissing-local-signatures"]
# but can be overridden:
# extra-flags = [ "-Wall" "-Wcompat" ];
};
Testing
Tested with a simple flake that enables werrorwolf on a Haskell package.