{ description = "Planning Poker web app. Trying to build something and learn new things"; inputs.nixpkgs.url = "github:nixos/nixpkgs"; inputs.flake-utils.url = "github:numtide/flake-utils"; inputs.sbt-derivation.url = "github:zaninime/sbt-derivation/master"; inputs.sbt-derivation.inputs.nixpkgs.follows = "nixpkgs"; outputs = { self, nixpkgs, flake-utils, sbt-derivation }: flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; packageName = "blanning-poker-grargh"; version = "0.1.1"; in { devShells.default = pkgs.mkShell { buildInputs = [ pkgs.nodejs pkgs.sbt pkgs.scalafmt pkgs.jdk # pkgs.nodePackages.tailwindcss # pkgs.nodePackages.postcss ]; shellHook = '' echo "dev env for planning poker BWARGH started" ''; }; packages.backend = sbt-derivation.lib.mkSbtDerivation rec { inherit pkgs version; # ...and the rest of the arguments pname = "${packageName}-backend"; depsSha256 = "sha256-UOEq6KFS4rh4eaKxnRcVOh4SQWn3hnfpzcyRqPnFvco="; src = pkgs.nix-gitignore.gitignoreSource [] ./.; buildPhase = '' sbt backend/assembly ''; installPhase = '' mkdir -p $out/bin cp backend/target/scala-*/backend-assembly-*.jar $out/bin/ ''; }; } ); # see https://serokell.io/blog/practical-nix-flakes }