From 8b54f208286ead47138b177c2d3e2ff041d94a7b Mon Sep 17 00:00:00 2001 From: HaimKortovich Date: Wed, 15 Apr 2026 16:22:50 -0500 Subject: [PATCH] fix flake --- flake.lock | 11 +++++----- flake.nix | 60 ++++++++++++++++++++++++++++++++++++++++-------------- 2 files changed, 51 insertions(+), 20 deletions(-) diff --git a/flake.lock b/flake.lock index 91efd4f..4cee253 100644 --- a/flake.lock +++ b/flake.lock @@ -20,15 +20,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1771950615, - "narHash": "sha256-Iqc6kksbvnjrg/9WYWGlOFw9J3o6/W5kBki4PvJp7X0=", - "owner": "nixos", + "lastModified": 1776169885, + "narHash": "sha256-l/iNYDZ4bGOAFQY2q8y5OAfBBtrDAaPuRQqWaFHVRXM=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "f6f08216301df30f2acab89c39506c296ac10c21", + "rev": "4bd9165a9165d7b5e33ae57f3eecbcb28fb231c9", "type": "github" }, "original": { - "owner": "nixos", + "owner": "NixOS", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index 1f49a87..cad28ac 100644 --- a/flake.nix +++ b/flake.nix @@ -1,25 +1,55 @@ { - description = "test"; + description = "Customer Service - Phoenix/Commanded CQRS/ES service"; inputs = { - nixpkgs.url = "github:nixos/nixpkgs"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; - outputs = { self, nixpkgs, flake-utils, ... }: - flake-utils.lib.eachDefaultSystem (system: + outputs = { + self, + nixpkgs, + flake-utils, + }: + flake-utils.lib.eachDefaultSystem ( + system: let pkgs = nixpkgs.legacyPackages.${system}; - - in { - devShell = - pkgs.mkShell { - buildInputs = with pkgs; - [ - elixir - elixir-ls - git - ]; + beamPackages = pkgs.beamPackages; + pname = "customer_service"; + version = "1.0.0"; + mixFodDeps = beamPackages.fetchMixDeps { + inherit pname version; + src = pkgs.lib.cleanSource ./.; + sha256 = "sha256-SspB/uMURF/QIjs+h11rr+X/pJ4dy7zuX8HV52CK998="; }; - }); + package = beamPackages.mixRelease { + inherit pname version mixFodDeps; + src = pkgs.lib.cleanSource ./.; + meta = { + mainProgram = "customer_service"; + }; + removeCookie = false; + }; + dockerImage = pkgs.dockerTools.buildLayeredImage { + name = "customer_service"; + contents = [ package pkgs.bashInteractive pkgs.busybox pkgs.shadow ]; + config = { + Cmd = [ "${package}/bin/customer_service" "start" ]; + }; + }; + in + { + packages.default = package; + packages.dockerImage = dockerImage; + devShells.default = pkgs.mkShell { + buildInputs = with pkgs; [ + elixir + elixir-ls + kubernetes-helm + git + ]; + }; + } + ); }