diff options
Diffstat (limited to 'nix/templates/goapp/flake.nix')
-rw-r--r-- | nix/templates/goapp/flake.nix | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/nix/templates/goapp/flake.nix b/nix/templates/goapp/flake.nix index 4e97240..132667d 100644 --- a/nix/templates/goapp/flake.nix +++ b/nix/templates/goapp/flake.nix @@ -3,7 +3,7 @@ inputs.flake-utils.url = "git+https://github.com/numtide/flake-utils"; outputs = - { nixpkgs, flake-utils, ... }: + { self, nixpkgs, flake-utils, ... }: flake-utils.lib.eachDefaultSystem ( system: let @@ -12,19 +12,24 @@ overlays = [ ]; }; - package-and-docker = packagename: { + package-and-docker = name: system: (let + pkgname = name + "-pkg"; + dockername = name + "-docker"; + in { # the raw package - "${packagename}" = import ./${packagename} { inherit pkgs packagename; }; + ${pkgname} = import ./${name} { inherit pkgs name; }; # the docker image - "${packagename}-docker" = pkgs.dockerTools.buildImage { - name = "${packagename}"; - config.Cmd = [ "${packagename}/bin/${packagename}" ]; + ${dockername} = pkgs.dockerTools.buildImage { + name = "${name}"; + config.Cmd = [ "${self.packages.${system}.${pkgname}}/bin/${name}" ]; }; - }; + }); in { - packages = { } // (package-and-docker "backend") // (package-and-docker "frontend"); + packages = { } + // (package-and-docker "backend" system) + // (package-and-docker "frontend" system); devShells.default = pkgs.mkShell { buildInputs = builtins.attrValues { |