47 lines
1.1 KiB
Nix
47 lines
1.1 KiB
Nix
{ pkgs, lib, ... }:
|
|
|
|
{
|
|
# https://devenv.sh/packages/
|
|
packages = [
|
|
pkgs.bash
|
|
pkgs.elixir
|
|
pkgs.erlang
|
|
pkgs.postgresql
|
|
pkgs.hex
|
|
pkgs.rebar3
|
|
] ++ lib.optionals pkgs.stdenv.isLinux [ pkgs.inotify-tools pkgs.libnotify ];
|
|
|
|
|
|
env = {
|
|
PGHOST = "localhost";
|
|
PGPORT = "5432";
|
|
PGUSER= "postgres";
|
|
PGPASSWORD = "postgres";
|
|
ERL_AFLAGS = "-kernel shell_history enabled";
|
|
MIX_REBAR3 = "${pkgs.rebar3.outPath}/bin/rebar3";
|
|
};
|
|
|
|
enterShell = ''
|
|
export MIX_HOME="$PWD/.nix-mix"
|
|
export HEX_HOME="$PWD/.nix-hex"
|
|
mkdir -p "$MIX_HOME"
|
|
mkdir -p "$HEX_HOME"
|
|
export ESBUILD_PATH=${pkgs.esbuild}/bin/esbuild
|
|
[[ "$PATH" =~ "$MIX_HOME/bin" ]] || export PATH="$MIX_HOME/bin:$PATH"
|
|
[[ "$PATH" =~ "$HEX_HOME/bin" ]] || export PATH="$HEX_HOME/bin:$PATH"
|
|
'';
|
|
|
|
|
|
# https://devenv.sh/languages/
|
|
languages.elixir.enable = true;
|
|
# languages.nix.enable = true;
|
|
|
|
# https://devenv.sh/pre-commit-hooks/
|
|
# pre-commit.hooks.shellcheck.enable = true;
|
|
|
|
# https://devenv.sh/processes/
|
|
# processes.ping.exec = "ping example.com";
|
|
|
|
# See full reference at https://devenv.sh/reference/options/
|
|
}
|