{ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; }; outputs = { self, nixpkgs, ... }: let inherit (self) outputs; supportedSystems = [ "aarch64-linux" "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ]; forAllSystems = nixpkgs.lib.genAttrs supportedSystems; nixpkgsFor = system: import nixpkgs {inherit system;}; in { packages = forAllSystems (system: let pkgs = nixpkgsFor system; inherit (pkgs) beamPackages; inherit (beamPackages) mixRelease fetchMixDeps; version = "0.1.0"; src = ./.; pname = "api.lyte.dev"; in { # this-package = mixRelease { # inherit pname version src; # mixFodDeps = fetchMixDeps { # inherit version src; # pname = "mix-deps-${pname}"; # hash = pkgs.lib.fakeSha256; # }; # buildInputs = with pkgs; [sqlite]; # HOME = "$(pwd)"; # MIX_XDG = "$HOME"; # }; # default = outputs.packages.${system}.this-package; }); devShells = forAllSystems (system: let pkgs = nixpkgsFor system; erlang = pkgs.beam.packages.erlang_26; elixir = erlang.elixir_1_16; in { default = pkgs.mkShell { shellHook = "export LOCALE_ARCHIVE=/usr/lib/locale/locale-archive"; buildInputs = with pkgs; [ inotify-tools erlang_26 erlang elixir-ls elixir ]; }; }); }; }