diff --git a/README.md b/README.md index 752dd94b7ac2407049fcc75173518325164c01da..d67217bbe3875a9906c32188886ef357f6dd9e84 100644 --- a/README.md +++ b/README.md @@ -32,3 +32,50 @@ delete the packages folder. If you need to do additional manual overrides to the nix code, such as `addPkgconfigDepends`, edit the `configuration.nix` overlay, which is applied afterwards. + +## Package Set Policy + +This package set has the following policy. + +* GHC will advance as often as possible +* Nonversioned locations (git, unversioned tarballs) are permitted to allow + GHC to advance. +* The following packages must always build: + * aeson + * beam-postgres + * composite-base + * dhall + * haskell-language-server + * hedgehog + * pandoc + * persistent-postgresql + * polysemy + * servant + * sydtest + * tasty + * xmonad-contrib + * xmonad + * wai-app-static + * warp +* Tags will be of the form `unstable-<yyyy>-<mm>-<dd>-r<N>` where any + unversioned source is used. +* Tags will be of the form `stable-<yyyy>-<mm>-<dd>-r<N>` where all +stable sources are used. + +## Commit Policy + +* All commits should evaluate with `nix flake show`. +* All commits should pass all checks with `nix flake check`. +* All derivations in `packages` should build. +* Where possible, commits should be atomic, of the form + * foo: init at <version> + * foo: <old-version> -> <new-version> +* If multiple packages need to be maintained in lockstep, + the commit message should contain all changes. + +## ChangeLog Policy + +* ChangeLogs should clearly show source stability changes between versions, + of the form: + * stabilized source: aeson, lens + * destabilized source: pandoc