+1
.envrc
+1
.envrc
···
1
+
use flake
+27
flake.lock
+27
flake.lock
···
1
+
{
2
+
"nodes": {
3
+
"nixpkgs": {
4
+
"locked": {
5
+
"lastModified": 1763934636,
6
+
"narHash": "sha256-9glbI7f1uU+yzQCq5LwLgdZqx6svOhZWkd4JRY265fc=",
7
+
"owner": "NixOS",
8
+
"repo": "nixpkgs",
9
+
"rev": "ee09932cedcef15aaf476f9343d1dea2cb77e261",
10
+
"type": "github"
11
+
},
12
+
"original": {
13
+
"owner": "NixOS",
14
+
"ref": "nixpkgs-unstable",
15
+
"repo": "nixpkgs",
16
+
"type": "github"
17
+
}
18
+
},
19
+
"root": {
20
+
"inputs": {
21
+
"nixpkgs": "nixpkgs"
22
+
}
23
+
}
24
+
},
25
+
"root": "root",
26
+
"version": 7
27
+
}
+45
flake.nix
+45
flake.nix
···
1
+
{
2
+
inputs = {
3
+
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
4
+
};
5
+
6
+
outputs = {nixpkgs, ...} @ inputs: let
7
+
lib = nixpkgs.lib;
8
+
supportedSystems = ["x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin"];
9
+
forEachSupportedSystem = f:
10
+
lib.genAttrs supportedSystems (system:
11
+
f {
12
+
pkgs = import nixpkgs {inherit system;};
13
+
});
14
+
in {
15
+
devShells = forEachSupportedSystem ({pkgs}: let
16
+
java21 = pkgs.temurin-bin-21;
17
+
java17 = pkgs.temurin-bin-17;
18
+
19
+
nativeBuildInputs = with pkgs; [
20
+
java21
21
+
java17
22
+
kotlin
23
+
kotlin-language-server
24
+
];
25
+
26
+
buildInputs = with pkgs; [
27
+
libGL
28
+
glfw3-minecraft
29
+
flite
30
+
libpulseaudio
31
+
];
32
+
in {
33
+
default = pkgs.mkShell {
34
+
inherit nativeBuildInputs buildInputs;
35
+
36
+
env = {
37
+
LD_LIBRARY_PATH = lib.makeLibraryPath buildInputs;
38
+
JAVA_HOME = "${java21.home}";
39
+
JDK21 = "${java21.home}";
40
+
JDK17 = "${java17.home}";
41
+
};
42
+
};
43
+
});
44
+
};
45
+
}