diff --git a/.envrc b/.envrc new file mode 100644 index 00000000..3add3fcc --- /dev/null +++ b/.envrc @@ -0,0 +1,3 @@ +use flake +layout node +eval "$shellHook" diff --git a/flake.lock b/flake.lock new file mode 100644 index 00000000..189a79bd --- /dev/null +++ b/flake.lock @@ -0,0 +1,109 @@ +{ + "nodes": { + "devshell": { + "inputs": { + "nixpkgs": [ + "typelevel-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1722113426, + "narHash": "sha256-Yo/3loq572A8Su6aY5GP56knpuKYRvM2a1meP9oJZCw=", + "owner": "numtide", + "repo": "devshell", + "rev": "67cce7359e4cd3c45296fb4aaf6a19e2a9c757ae", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1723985069, + "narHash": "sha256-MGtXhZHLZGKhtZT/MYXBJEuMkZB5DLYjY679EYNL7Es=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "ff1c2669bbb4d0dd9e62cc94f0968cfa652ceec1", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-utils": [ + "typelevel-nix", + "flake-utils" + ], + "nixpkgs": [ + "typelevel-nix", + "nixpkgs" + ], + "typelevel-nix": "typelevel-nix" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "typelevel-nix": { + "inputs": { + "devshell": "devshell", + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1724193442, + "narHash": "sha256-gH/RNFAB0X6Z53iFde6JQA4XbE92JbGf2t7hWKRlqPA=", + "owner": "typelevel", + "repo": "typelevel-nix", + "rev": "520d28a7da74c17df16bd105b63fe0ff145fc531", + "type": "github" + }, + "original": { + "owner": "typelevel", + "repo": "typelevel-nix", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 00000000..0893a1f8 --- /dev/null +++ b/flake.nix @@ -0,0 +1,33 @@ +{ + inputs = { + typelevel-nix.url = "github:typelevel/typelevel-nix"; + nixpkgs.follows = "typelevel-nix/nixpkgs"; + flake-utils.follows = "typelevel-nix/flake-utils"; + }; + + outputs = { self, nixpkgs, flake-utils, typelevel-nix }: + flake-utils.lib.eachDefaultSystem (system: + let + pkgs-x86_64 = import nixpkgs { + system = "x86_64-darwin"; + }; + scala-cli-overlay = final: prev: { + scala-cli = pkgs-x86_64.scala-cli; + }; + pkgs = import nixpkgs { + inherit system; + overlays = [ typelevel-nix.overlays.default scala-cli-overlay]; + }; + in + { + devShell = pkgs.devshell.mkShell { + imports = [ typelevel-nix.typelevelShell ]; + typelevelShell = { + nodejs.enable = true; + jdk.package = pkgs.jdk17; + }; + }; + } + + ); +} diff --git a/project/Settings.scala b/project/Settings.scala index f2264801..0beb8f4e 100644 --- a/project/Settings.scala +++ b/project/Settings.scala @@ -11,9 +11,10 @@ object Settings { val disciplineMUnit = "2.0.0" val fs2 = "3.10.2" val log4Cats = "2.7.0" - val lucumaReact = "0.69.1" + val lucumaReact = "0.71.0" val monocle = "3.3.0" - val mUnit = "1.0.0" + val mUnit = "1.0.1" + val mUnitScalacheck = "1.0.0" val mUnitCatsEffect = "2.0.0" val scalaCheck = "1.18.0" val scalajsReact = "3.0.0-beta6" @@ -91,7 +92,7 @@ object Settings { val MUnit = Def.setting( Seq[ModuleID]( "org.scalameta" %%% "munit" % mUnit, - "org.scalameta" %%% "munit-scalacheck" % mUnit, + "org.scalameta" %%% "munit-scalacheck" % mUnitScalacheck, "org.typelevel" %%% "munit-cats-effect" % mUnitCatsEffect ) )