diff options
| author | mtgmonkey <mtgmonkey@nixos> | 2025-12-08 13:40:11 +0100 |
|---|---|---|
| committer | mtgmonkey <mtgmonkey@nixos> | 2025-12-08 13:40:11 +0100 |
| commit | 20ecde081bf47c7790e93dd2282d5e666e01b9ce (patch) | |
| tree | e825e9091bbf3e169b9a86d4f545175cb99b3055 /flake.nix | |
| parent | 852244a49159097a83fc99edcdad26f84f999098 (diff) | |
release v0.2.0
Diffstat (limited to 'flake.nix')
| -rw-r--r-- | flake.nix | 61 |
1 files changed, 60 insertions, 1 deletions
@@ -5,9 +5,68 @@ outputs = {nixpkgs, ...}: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; + debugGhcOptions = pkgs.lib.concatStringsSep " " (debugGhcFlags ++ commonGhcFlags); + debugGhcFlags = [ + "-O0" + "-Wall" + "-Widentities" + "-Wincomplete-record-updates" + "-Wincomplete-uni-patterns" + # "-Wmissing-export-lists" + "-Wmissing-home-modules" + "-Wpartial-fields" + "-Wredundant-constraints" + "-threaded" + "-rtsopts" + "-with-rtsopts=-N" + "-main-is Game" + ]; + haddockOptions = pkgs.lib.concatStringsSep " " haddockFlags; + haddockFlags = [ + "--html" + "--odir docs" + "--optghc=-i./src" + "src/Game.hs" + ]; + releaseGhcOptions = pkgs.lib.concatStringsSep " " (releaseGhcFlags ++ commonGhcFlags); + releaseGhcFlags = [ + "-O2" + "-threaded" + "-rtsopts" + "-with-rtsopts=-N" + "-main-is Game" + ]; + noHaddockOptions = ""; + commonGhcFlags = [ + "-i./src" + ]; + ghcPackages = p: [ + p.GLFW-b + p.linear + p.OpenGL + ]; in { packages.${system} = { - default = pkgs.callPackage ./package.nix {}; + debug = pkgs.callPackage ./package.nix { + ghcOptions = debugGhcOptions; + haddockOptions = noHaddockOptions; + inherit ghcPackages; + }; + release = pkgs.callPackage ./package.nix { + ghcOptions = releaseGhcOptions; + haddockOptions = noHaddockOptions; + inherit ghcPackages; + }; + docs = pkgs.callPackage ./package.nix { + ghcOptions = "--version"; + inherit haddockOptions; + inherit ghcPackages; + }; + default = pkgs.callPackage ./package.nix { + ghcOptions = releaseGhcOptions; + inherit haddockOptions; + inherit ghcPackages; + }; }; }; } |
