Merge branch 'main' of git.lillianviolet.dev:Lillian-Violet/dev-templates
This commit is contained in:
		
						commit
						5efb27e62b
					
				
					 1 changed files with 30 additions and 21 deletions
				
			
		| 
						 | 
				
			
			@ -3,26 +3,35 @@
 | 
			
		|||
 | 
			
		||||
  inputs.nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/0.1.*.tar.gz";
 | 
			
		||||
 | 
			
		||||
  outputs = { self, nixpkgs }:
 | 
			
		||||
    let
 | 
			
		||||
      javaVersion = 20; # Change this value to update the whole stack
 | 
			
		||||
      overlays = [
 | 
			
		||||
        (final: prev: rec {
 | 
			
		||||
          jdk = prev."jdk${toString javaVersion}";
 | 
			
		||||
          gradle = prev.gradle.override { java = jdk; };
 | 
			
		||||
          maven = prev.maven.override { inherit jdk; };
 | 
			
		||||
        })
 | 
			
		||||
      ];
 | 
			
		||||
      supportedSystems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
 | 
			
		||||
      forEachSupportedSystem = f: nixpkgs.lib.genAttrs supportedSystems (system: f {
 | 
			
		||||
        pkgs = import nixpkgs { inherit overlays system; };
 | 
			
		||||
      });
 | 
			
		||||
    in
 | 
			
		||||
    {
 | 
			
		||||
      devShells = forEachSupportedSystem ({ pkgs }: {
 | 
			
		||||
        default = pkgs.mkShell {
 | 
			
		||||
          packages = with pkgs; [ gradle jdk maven ];
 | 
			
		||||
  outputs = {
 | 
			
		||||
    self,
 | 
			
		||||
    nixpkgs,
 | 
			
		||||
  }: let
 | 
			
		||||
    javaVersion = 20; # Change this value to update the whole stack
 | 
			
		||||
    overlays = [
 | 
			
		||||
      (final: prev: rec {
 | 
			
		||||
        jdk = prev."jdk${toString javaVersion}";
 | 
			
		||||
        gradle = prev.gradle.override {java = jdk;};
 | 
			
		||||
        maven = prev.maven.override {inherit jdk;};
 | 
			
		||||
      })
 | 
			
		||||
    ];
 | 
			
		||||
    supportedSystems = ["x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin"];
 | 
			
		||||
    forEachSupportedSystem = f:
 | 
			
		||||
      nixpkgs.lib.genAttrs supportedSystems (system:
 | 
			
		||||
        f {
 | 
			
		||||
          pkgs = import nixpkgs {inherit overlays system;};
 | 
			
		||||
        });
 | 
			
		||||
  in {
 | 
			
		||||
    devShells = forEachSupportedSystem ({pkgs}: {
 | 
			
		||||
      default = pkgs.mkShell {
 | 
			
		||||
        packages = with pkgs; [gradle jdk maven];
 | 
			
		||||
        programs.vscode = {
 | 
			
		||||
          extensions = with pkgs.vscode-extensions; [
 | 
			
		||||
            mkhl.direnv
 | 
			
		||||
            redhat.java
 | 
			
		||||
          ];
 | 
			
		||||
        };
 | 
			
		||||
      });
 | 
			
		||||
    };
 | 
			
		||||
      };
 | 
			
		||||
    });
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue