Add Java environment
This commit is contained in:
		
							parent
							
								
									4504c0f122
								
							
						
					
					
						commit
						58ace59505
					
				
					 8 changed files with 89 additions and 6 deletions
				
			
		| 
						 | 
					@ -10,6 +10,9 @@ nix flake init --template github:the-nix-way/dev-templates#go_1_17
 | 
				
			||||||
# Go 1.18
 | 
					# Go 1.18
 | 
				
			||||||
nix flake init --template github:the-nix-way/dev-templates#go_1_18
 | 
					nix flake init --template github:the-nix-way/dev-templates#go_1_18
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Java
 | 
				
			||||||
 | 
					nix flake init --template github:the-nix-way/dev-templates#java
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Node.js
 | 
					# Node.js
 | 
				
			||||||
nix flake init --template github:the-nix-way/dev-templates#node
 | 
					nix flake init --template github:the-nix-way/dev-templates#node
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,6 +18,11 @@
 | 
				
			||||||
        description = "Go 1.18 development environment";
 | 
					        description = "Go 1.18 development environment";
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      java = {
 | 
				
			||||||
 | 
					        path = ./java;
 | 
				
			||||||
 | 
					        description = "Java development environment";
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      node = {
 | 
					      node = {
 | 
				
			||||||
        path = ./node;
 | 
					        path = ./node;
 | 
				
			||||||
        description = "Node.js development environment";
 | 
					        description = "Node.js development environment";
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								java/.envrc
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								java/.envrc
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					use flake .
 | 
				
			||||||
							
								
								
									
										42
									
								
								java/flake.lock
									
										
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								java/flake.lock
									
										
									
										generated
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,42 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  "nodes": {
 | 
				
			||||||
 | 
					    "flake-utils": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1656928814,
 | 
				
			||||||
 | 
					        "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=",
 | 
				
			||||||
 | 
					        "owner": "numtide",
 | 
				
			||||||
 | 
					        "repo": "flake-utils",
 | 
				
			||||||
 | 
					        "rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "numtide",
 | 
				
			||||||
 | 
					        "repo": "flake-utils",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nixpkgs": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1659041591,
 | 
				
			||||||
 | 
					        "narHash": "sha256-kKoy3tDZl3w0GuVlvJ6W/ERGRqeXy2+IGXL9g1a3F68=",
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "rev": "ab0794b1ae2756411d176dd5b82843a4ae56fe6e",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "root": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "flake-utils": "flake-utils",
 | 
				
			||||||
 | 
					        "nixpkgs": "nixpkgs"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "root": "root",
 | 
				
			||||||
 | 
					  "version": 7
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										33
									
								
								java/flake.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								java/flake.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,33 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  description = "A Nix-flake-based Java development environment";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  inputs = {
 | 
				
			||||||
 | 
					    nixpkgs.url = "github:NixOS/nixpkgs";
 | 
				
			||||||
 | 
					    flake-utils.url = "github:numtide/flake-utils";
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  outputs = { self, nixpkgs, flake-utils }:
 | 
				
			||||||
 | 
					    flake-utils.lib.eachDefaultSystem (system:
 | 
				
			||||||
 | 
					      let
 | 
				
			||||||
 | 
					        pkgs = import nixpkgs { inherit system; };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        inherit (pkgs) mkShell;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        java = pkgs.jdk17;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        buildTools = with pkgs; [ ant gradle maven ];
 | 
				
			||||||
 | 
					      in {
 | 
				
			||||||
 | 
					        devShells = {
 | 
				
			||||||
 | 
					          default = pkgs.mkShell {
 | 
				
			||||||
 | 
					            nativeBuildInputs = [
 | 
				
			||||||
 | 
					              java
 | 
				
			||||||
 | 
					            ] ++ buildTools;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            shellHook = ''
 | 
				
			||||||
 | 
					              ${java}/bin/java -version
 | 
				
			||||||
 | 
					            '';
 | 
				
			||||||
 | 
					          };
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -16,7 +16,6 @@
 | 
				
			||||||
        nodejs = pkgs.nodejs;
 | 
					        nodejs = pkgs.nodejs;
 | 
				
			||||||
        pnpm = pkgs.nodePackages.pnpm;
 | 
					        pnpm = pkgs.nodePackages.pnpm;
 | 
				
			||||||
        yarn = pkgs.yarn;
 | 
					        yarn = pkgs.yarn;
 | 
				
			||||||
 | 
					 | 
				
			||||||
      in {
 | 
					      in {
 | 
				
			||||||
        devShells = {
 | 
					        devShells = {
 | 
				
			||||||
          default = pkgs.mkShell {
 | 
					          default = pkgs.mkShell {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -20,6 +20,8 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        rust = pkgs.rust-bin.fromRustupToolchainFile ./rust-toolchain.toml;
 | 
					        rust = pkgs.rust-bin.fromRustupToolchainFile ./rust-toolchain.toml;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        helpers = with pkgs; [ pkg-config ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        inherit (pkgs) mkShell;
 | 
					        inherit (pkgs) mkShell;
 | 
				
			||||||
        inherit (pkgs.lib) optionals;
 | 
					        inherit (pkgs.lib) optionals;
 | 
				
			||||||
        inherit (pkgs.stdenv) isDarwin;
 | 
					        inherit (pkgs.stdenv) isDarwin;
 | 
				
			||||||
| 
						 | 
					@ -30,8 +32,7 @@
 | 
				
			||||||
          default = mkShell {
 | 
					          default = mkShell {
 | 
				
			||||||
            nativeBuildInputs = [
 | 
					            nativeBuildInputs = [
 | 
				
			||||||
              rust
 | 
					              rust
 | 
				
			||||||
              pkgs.pkg-config
 | 
					            ] ++ helpers;
 | 
				
			||||||
            ];
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            buildInputs = with pkgs; [
 | 
					            buildInputs = with pkgs; [
 | 
				
			||||||
              openssl
 | 
					              openssl
 | 
				
			||||||
| 
						 | 
					@ -39,8 +40,7 @@
 | 
				
			||||||
            ];
 | 
					            ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            shellHook = ''
 | 
					            shellHook = ''
 | 
				
			||||||
              echo "Entering Rust env"
 | 
					              ${rust}/bin/cargo --version
 | 
				
			||||||
              echo "Running `${rust}/bin/cargo --version`"
 | 
					 | 
				
			||||||
            '';
 | 
					            '';
 | 
				
			||||||
          };
 | 
					          };
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -21,7 +21,7 @@
 | 
				
			||||||
            ];
 | 
					            ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            shellHook = ''
 | 
					            shellHook = ''
 | 
				
			||||||
              echo "`${zigPkg}/bin/zig version`"
 | 
					              ${zigPkg}/bin/zig version
 | 
				
			||||||
            '';
 | 
					            '';
 | 
				
			||||||
          };
 | 
					          };
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue