Add Scala environment
This commit is contained in:
		
							parent
							
								
									58ace59505
								
							
						
					
					
						commit
						7a7d428131
					
				
					 10 changed files with 107 additions and 13 deletions
				
			
		
							
								
								
									
										1
									
								
								scala/.envrc
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								scala/.envrc
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
use flake .
 | 
			
		||||
							
								
								
									
										42
									
								
								scala/flake.lock
									
										
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								scala/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
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										48
									
								
								scala/flake.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								scala/flake.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,48 @@
 | 
			
		|||
{
 | 
			
		||||
  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
 | 
			
		||||
        jdk = "jdk17";
 | 
			
		||||
        jdkPkg = pkgs.${jdk};
 | 
			
		||||
 | 
			
		||||
        config = {
 | 
			
		||||
          packageOverrides = p: {
 | 
			
		||||
            sbt = p.sbt.override {
 | 
			
		||||
              jre = p.${jdk};
 | 
			
		||||
            };
 | 
			
		||||
            scala_3 = p.scala_3.override {
 | 
			
		||||
              jre = p.${jdk};
 | 
			
		||||
            };
 | 
			
		||||
          };
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        pkgs = import nixpkgs { inherit config jdk system; };
 | 
			
		||||
 | 
			
		||||
        inherit (pkgs) mkShell;
 | 
			
		||||
 | 
			
		||||
        scala = pkgs.scala_3;
 | 
			
		||||
 | 
			
		||||
        buildTools = with pkgs; [ sbt ];
 | 
			
		||||
      in {
 | 
			
		||||
        devShells = {
 | 
			
		||||
          default = pkgs.mkShell {
 | 
			
		||||
            buildInputs = [
 | 
			
		||||
              scala
 | 
			
		||||
              jdkPkg
 | 
			
		||||
            ] ++ buildTools;
 | 
			
		||||
 | 
			
		||||
            shellHook = ''
 | 
			
		||||
              ${scala}/bin/scala -version
 | 
			
		||||
            '';
 | 
			
		||||
          };
 | 
			
		||||
        };
 | 
			
		||||
      }
 | 
			
		||||
    );
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue