{ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; lexical.url = "github:lexical-lsp/lexical"; lexical.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = { self, nixpkgs, ... }: let inherit (self) outputs; systems = [ "aarch64-linux" "aarch64-darwin" "x86_64-darwin" ]; forAllSystems = nixpkgs.lib.genAttrs systems; in { devShells = forAllSystems ( system: let pkgs = import nixpkgs {inherit system;}; inherit (pkgs) beam mkShell; # inherit (beamPackages) mixRelease fetchMixDeps; erlang = beam.packages.erlang_26; elixir = erlang.elixir_1_15; # pname = "homeman"; # version = "1.0.0"; # TODO: source from mix.exs? or vice-versa? # src = ./.; # mixFodDeps = fetchMixDeps { # inherit src version; # pname = "mix-deps-${pname}"; # hash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"; # }; in { homeman = mkShell { shellHook = "export LOCALE_ARCHIVE=/usr/lib/locale/locale-archive"; buildInputs = [elixir pkgs.inotify-tools]; }; default = outputs.devShells.homeman; } ); }; }