diff --git a/flake.nix b/flake.nix index 68fba96..e7da03c 100644 --- a/flake.nix +++ b/flake.nix @@ -44,7 +44,7 @@ # Programs you want to make available in the shell. # Default programs can be disabled by setting to 'null' - tools = hp: { ghcid = null; yesod-bin = hp.yesod-bin;}; + tools = hp: { ghcid = null; yesod-bin = hp.yesod-bin; stack = pkgs.stack;}; hlsCheck.enable = pkgs.stdenv.isDarwin; # On darwin, sandbox is disabled, so HLS can use the network. }; diff --git a/package.yaml b/package.yaml new file mode 100644 index 0000000..a4617eb --- /dev/null +++ b/package.yaml @@ -0,0 +1,100 @@ +name: OwOpointTracker +version: "0.0.0" + +dependencies: + +- base >=4.9.1.0 && <5 +- yesod >=1.6 && <1.7 +- yesod-core >=1.6 && <1.7 +- yesod-auth >=1.6 && <1.7 +- yesod-static >=1.6 && <1.7 +- yesod-form >=1.6 && <1.8 +- classy-prelude >=1.5 && <1.6 +- classy-prelude-conduit >=1.5 && <1.6 +- classy-prelude-yesod >=1.5 && <1.6 +- bytestring >=0.10 && <0.12 +- text >=0.11 && <2.0 +- persistent >=2.9 && <2.14 +- persistent-sqlite >=2.9 && <2.14 +- persistent-template >=2.5 && <2.14 +- template-haskell +- shakespeare >=2.0 && <2.1 +- hjsmin >=0.1 && <0.3 +- monad-control >=0.3 && <1.1 +- wai-extra >=3.0 && <3.2 +- yaml >=0.11 && <0.12 +- http-client-tls >=0.3 && <0.4 +- http-conduit >=2.3 && <2.4 +- directory >=1.1 && <1.4 +- warp >=3.0 && <3.4 +- data-default +- aeson >=1.4 && <2.1 +- conduit >=1.0 && <2.0 +- monad-logger >=0.3 && <0.4 +- fast-logger >=2.2 && <3.2 +- wai-logger >=2.2 && <2.5 +- file-embed +- safe +- unordered-containers +- containers +- vector +- time +- case-insensitive +- wai +- foreign-store + +# The library contains all of our application code. The executable +# defined below is just a thin wrapper. +library: + source-dirs: src + when: + - condition: (flag(dev)) || (flag(library-only)) + then: + ghc-options: + - -Wall + - -fwarn-tabs + - -O0 + cpp-options: -DDEVELOPMENT + else: + ghc-options: + - -Wall + - -fwarn-tabs + - -O2 + +# Runnable executable for our application +executables: + OwOpointTracker: + main: main.hs + source-dirs: app + ghc-options: + - -threaded + - -rtsopts + - -with-rtsopts=-N + dependencies: + - OwOpointTracker + when: + - condition: flag(library-only) + buildable: false + +# Test suite +tests: + OwOpointTracker-test: + main: Spec.hs + source-dirs: test + ghc-options: -Wall + dependencies: + - OwOpointTracker + - hspec >=2.0.0 + - yesod-test + - microlens + +# Define flags used by "yesod devel" to make compilation faster +flags: + library-only: + description: Build for use with "yesod devel" + manual: false + default: false + dev: + description: Turn on development settings, like auto-reload templates. + manual: false + default: false