nix: Add flake.nix

Signed-off-by: Naomi Roberts <mia@naomieow.xyz>

lesbian.skin 33c8a0a8 1b9abbdb

verified
+1
.envrc
··· 1 + use flake
+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
··· 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 + }
+2 -3
gradle.properties
··· 1 - # Done to increase the memory available to gradle. 2 - org.gradle.jvmargs=-Xmx1G 1 + org.gradle.jvmargs=-Xmx4G 3 2 org.gradle.parallel=true 4 - 3 + org.gradle.java.installations.fromEnv=JDK17,JDK21