Some checks are pending
Build and Publish / build-release (push) Waiting to run
61 lines
1.6 KiB
Nix
61 lines
1.6 KiB
Nix
{
|
|
description = "Policy Service - Phoenix/Commanded CQRS/ES service";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
};
|
|
|
|
outputs = {
|
|
self,
|
|
nixpkgs,
|
|
flake-utils,
|
|
}:
|
|
flake-utils.lib.eachDefaultSystem (
|
|
system:
|
|
let
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
|
beamPackages = pkgs.beamPackages;
|
|
pname = "policy_service";
|
|
version = "1.0.0";
|
|
mixFodDeps = beamPackages.fetchMixDeps {
|
|
inherit pname version;
|
|
src = ./.;
|
|
sha256 = "sha256-yqxq5pB7dKEhCZiJWXrKKCra45hxfyyfpP/zyNLEF7A=";
|
|
};
|
|
package = beamPackages.mixRelease {
|
|
inherit pname version mixFodDeps;
|
|
src = ./.;
|
|
meta = {
|
|
mainProgram = "policy_service";
|
|
};
|
|
};
|
|
dockerImage = pkgs.dockerTools.buildImage {
|
|
name = "policy_service";
|
|
fromImageName = "hexpm/elixir";
|
|
fromImageTag = "1.17.5-erlang-27.0-debian-bookworm-20240612";
|
|
copyToRoot = pkgs.buildEnv {
|
|
name = "policy-service";
|
|
paths = [ package ];
|
|
pathsToLink = [ "/bin" ];
|
|
};
|
|
config = {
|
|
Cmd = [ "/bin/bash" ];
|
|
WorkingDir = "/";
|
|
};
|
|
};
|
|
in
|
|
{
|
|
packages.default = package;
|
|
packages.dockerImage = dockerImage;
|
|
devShells.default = pkgs.mkShell {
|
|
buildInputs = with pkgs; [
|
|
elixir
|
|
elixir-ls
|
|
git
|
|
];
|
|
};
|
|
}
|
|
);
|
|
}
|