single-file-elixir/flake.nix

70 lines
1.6 KiB
Nix
Raw Normal View History

2024-02-20 20:37:55 -06:00
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
};
outputs = {
2024-05-29 07:37:53 -05:00
# self,
2024-02-20 20:37:55 -06:00
nixpkgs,
...
}: let
2024-05-29 07:37:53 -05:00
# inherit (self) outputs;
2024-02-20 20:37:55 -06:00
systems = [
"aarch64-linux"
"aarch64-darwin"
"x86_64-darwin"
"x86_64-linux"
];
forAllSystems = nixpkgs.lib.genAttrs systems;
nixpkgsFor = system: import nixpkgs {inherit system;};
in {
2024-05-29 07:37:53 -05:00
# packages = forAllSystems (system: let
# pkgs = nixpkgsFor system;
2024-02-20 20:37:55 -06:00
2024-05-29 07:37:53 -05:00
# inherit (pkgs) beamPackages;
# inherit (beamPackages) mixRelease fetchMixDeps;
2024-02-20 20:37:55 -06:00
2024-05-29 07:37:53 -05:00
# 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;
# });
2024-02-20 20:37:55 -06:00
devShells = forAllSystems (system: let
2024-05-29 07:37:53 -05:00
pkgs = (nixpkgsFor system).extend (final: prev: {
erlang = prev.beam.packages.erlang_26;
elixir = final.erlang.elixir_1_16;
elixir-ls = prev.elixir-ls.override {elixir = final.elixir;};
});
2024-02-20 20:37:55 -06:00
in {
default = pkgs.mkShell {
shellHook = "export LOCALE_ARCHIVE=/usr/lib/locale/locale-archive";
2024-05-29 07:37:53 -05:00
buildInputs = with pkgs; [
erlang.erlang
elixir
elixir-ls
inotify-tools
watchexec
];
2024-02-20 20:37:55 -06:00
};
});
};
}