From f6d8a1de8d4a8614c8711e1c483f299e5164c7ea Mon Sep 17 00:00:00 2001 From: efim Date: Mon, 3 Jul 2023 06:23:46 +0000 Subject: [PATCH] feat(14): nix derivation to build docker image --- 14-rock-paper-scissors/default.nix | 17 +++++++++++++++++ flake.nix | 1 + 2 files changed, 18 insertions(+) diff --git a/14-rock-paper-scissors/default.nix b/14-rock-paper-scissors/default.nix index ee9c4df..0cd3570 100644 --- a/14-rock-paper-scissors/default.nix +++ b/14-rock-paper-scissors/default.nix @@ -81,7 +81,24 @@ let }; }; }; + image = pkgs.dockerTools.buildLayeredImage { + name = pname; + tag = "latest"; + created = "now"; + config = { + Cmd = [ "${pkgs.jdk}/bin/java" "-jar" "${package}/bin/${pname}.jar" "--host" "0.0.0.0" ]; + ExposedPorts = { + "8080/tcp" = {}; + }; + }; + }; + # image = pkgs.dockerTools.buildLayeredImage { # so, wow, this works + # name = "hello2"; + # tag = "latest"; + # config.Cmd = [ "${pkgs.hello}/bin/hello" ]; + # }; in { package = package; module = module; + image = image; } diff --git a/flake.nix b/flake.nix index 3c1abc6..6d18e0a 100644 --- a/flake.nix +++ b/flake.nix @@ -45,6 +45,7 @@ packages.testimonials-grid = testimonials-grid.package; nixosModules.testimonials-grid = testimonials-grid.module; packages.rock-paper-scissors = rock-paper-scissors.package; + packages.rock-paper-scissors-image = rock-paper-scissors.image; nixosModules.rock-paper-scissors = rock-paper-scissors.module; }); # see https://serokell.io/blog/practical-nix-flakes