{
description = "Java Spring Boot Development Environment";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
};
outputs = { self, nixpkgs }:
let
system = "x86_64-linux"; # or "aarch64-linux" for ARM
pkgs = import nixpkgs { inherit system; };
in
{
devShells.${system}.default = pkgs.mkShell {
buildInputs = with pkgs; [
jdk21 # Or jdk17, jdk8, etc.
maven # Or gradle
spring-boot-cli
nix-ld # Helps with unpatched binaries/IDEs
];
shellHook = ''
export JAVA_HOME=${pkgs.jdk21}
echo "Spring Boot Workbench Loaded!"
echo "Java version: $(java -version 2>&1 | head -n 1)"
'';
};
};
}