summaryrefslogtreecommitdiff
path: root/flake.nix
blob: 90a80c5dd00f629765c8c792ee1dbc6d6b2ee7e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
{
  inputs = {
    nixpkgs.url = "nixpkgs/nixpkgs-unstable";
  };
  outputs = {
    nixpkgs,
    self,
    ...
  }: let
    versionString = "0.3.0";
    package = {
      mkDerivation,
      base,
      bytestring,
      GLFW-b,
      lens,
      lib,
      linear,
      OpenGL,
    }:
      mkDerivation {
        pname = "hs-game";
        version = versionString;
        src = ./.;
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          base
          bytestring
          GLFW-b
          lens
          linear
          OpenGL
        ];
        homepage = "https://git.mtgmonkey.net/Andromeda/hs-game";
        license = lib.licenses.bsd3;
        mainProgram = "hs-game";
      };
    system = "x86_64-linux";
    pkgs = nixpkgs.legacyPackages.${system};
  in {
    packages.${system} = {
      default =
        pkgs.haskellPackages.callPackage package {};
    };
    devShells.${system} = {
      default = pkgs.mkShell {
        packages = [
          pkgs.cabal-install
          pkgs.libGL
          pkgs.xorg.libX11
          pkgs.xorg.libXi
          pkgs.xorg.libXrandr
          pkgs.xorg.libXxf86vm
          pkgs.xorg.libXcursor
          pkgs.xorg.libXinerama
          pkgs.libGLU
        ];
        inputsFrom = [
          self.packages.${system}.default
        ];
      };
    };
  };
}