arcology-phx/shell.nix

38 lines
869 B
Nix

{ ... }:
let
pkgs = import <nixpkgs> {};
# import <arroyo> {};
in with pkgs; mkShell {
packages = [
elixir_1_14
elixir_ls
inotify-tools
mix2nix
# probably will need this.... 🥴
nodePackages.node2nix
(writeScriptBin "setup-mix-phx" ''
${elixir}/bin/mix local.hex
${elixir}/bin/mix local.rebar
${elixir}/bin/mix archive.install hex phx_new
'')
];
shellHook = ''
export LANG="C.UTF-8";
export ERL_AFLAGS="-kernel shell_history enabled";
export NIX_SHELL_DIR="$PWD/.nix-shell";
export MIX_HOME="$NIX_SHELL_DIR/.mix";
export MIX_ARCHIVES="$MIX_HOME/archives";
export HEX_HOME="$NIX_SHELL_DIR/.hex";
export PATH="$HEX_HOME/bin:$MIX_HOME/escripts:$MIX_HOME/bin:$PATH";
export LIVEBOOK_HOME="$PWD";
${elixir}/bin/mix --version
${elixir}/bin/iex --version
'';
}