File tree Expand file tree Collapse file tree 3 files changed +86
-0
lines changed
Expand file tree Collapse file tree 3 files changed +86
-0
lines changed Original file line number Diff line number Diff line change 1+ use flake
Original file line number Diff line number Diff line change 1+ {
2+ description = "A Nix-flake-based Scala development environment" ;
3+
4+ inputs . nixpkgs . url = "https://flakehub.com/f/NixOS/nixpkgs/0.1" ; # unstable Nixpkgs
5+
6+ outputs =
7+ { self , ... } @inputs :
8+
9+ let
10+ javaVersion = 23 ; # Change this value to update the whole stack
11+
12+ supportedSystems = [
13+ "x86_64-linux"
14+ "aarch64-linux"
15+ "x86_64-darwin"
16+ "aarch64-darwin"
17+ ] ;
18+ forEachSupportedSystem =
19+ f :
20+ inputs . nixpkgs . lib . genAttrs supportedSystems (
21+ system :
22+ f {
23+ pkgs = import inputs . nixpkgs {
24+ inherit system ;
25+ overlays = [ inputs . self . overlays . default ] ;
26+ } ;
27+ }
28+ ) ;
29+ in
30+ {
31+ overlays . default =
32+ final : prev :
33+ let
34+ jdk = prev . "jdk${ toString javaVersion } " ;
35+ in
36+ {
37+ sbt = prev . sbt . override { jre = jdk ; } ;
38+ scala = prev . scala_3 . override { jre = jdk ; } ;
39+ mill = prev . mill . override { jre = jdk ; } ;
40+ } ;
41+
42+ devShells = forEachSupportedSystem (
43+ { pkgs } :
44+ {
45+ default = pkgs . mkShellNoCC {
46+ packages = with pkgs ; [
47+ scala
48+ sbt
49+ mill
50+ coursier
51+ verilator
52+ gcc
53+ gnumake
54+ python3
55+ ] ;
56+ } ;
57+ }
58+ ) ;
59+ } ;
60+ }
You can’t perform that action at this time.
0 commit comments