aboutsummaryrefslogtreecommitdiff
path: root/shell.nix
blob: c49b6f138d162512ba4e3e0ac0e2e092c167056d (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
66
67
68
69
# SPDX-FileCopyrightText: 2023 Linnea Gräf <nea@nea.moe>
#
# SPDX-License-Identifier: GPL-3.0-or-later
{
  pkgs ? import <nixpkgs> { },
}:
pkgs.mkShell {
  buildInputs =
    with pkgs;
    [
      bash
      gh
      git
      xdg-utils
      reuse
      pre-commit
      glfw
      jdk21
      libGL
      wayland
      flite
      jack2
      openal
      pulseaudio
      pipewire
      glibc
    ]
    ++ ([
      # For web
      python3
      node-gyp
      node-pre-gyp
      nodejs_22
      corepack
      pixman
      cairo.dev
      pango.dev
      glib.dev
      harfbuzz.dev
      gnumake
      fontconfig.dev
      clang
      freetype.dev
      libpng.dev
      pkg-config
    ]);
  LD_LIBRARY_PATH = pkgs.lib.strings.makeLibraryPath (
    with pkgs;
    [
      glfw
      pipewire
      jack2
      pulseaudio
      openal
      libGL
      wayland
      flite
    ]
  );
  JAVA_HOME = "${pkgs.jdk21}";
  shellHook = ''
    apply() {
        echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" >.env
        echo org.lwjgl.glfw.libname=${pkgs.glfw}/lib/libglfw.so >.properties
        echo "jna.library.path=$LD_LIBRARY_PATH" >>.properties
        echo "java.library.path=$LD_LIBRARY_PATH" >>.properties
    }
  '';
}