bonfire-app/nix/shell.nix
Aaron Meese 41f83f51c8 Replaced coordination with cooperation
It seems that the name was changed at some point or something along those lines, so using coordination breaks the setup process.
2021-12-12 16:25:43 -05:00

72 lines
1.7 KiB
Nix
Executable file

{ pkgs, flavour ? "cooperation" }:
with pkgs;
let
messctl = rustPlatform.buildRustPackage rec {
pname = "messctl";
version = "0.0.1";
src = fetchFromGitHub {
owner = "bonfire-networks";
repo = pname;
rev = "8421d5ee91b120f1fe78fe8b123fc0fdf59609ff";
sha256 = "sha256-MniXkng8v30xzSC+cIZ+K6DWeJLCFDieXZioAQFU4/s=";
};
cargoSha256 = "sha256-K4Wq949DK3STwKo0MgaGNsu3r+qg8OqqXK3O4g4FpR0=";
};
# define packages to install with special handling for OSX
shellBasePackages = [
git
beam.packages.erlang.elixir_1_12
nodejs-16_x
nodePackages.pnpm
postgresql_13
messctl
# for NIFs
rustfmt
clippy
];
shellBuildInputs = shellBasePackages ++ lib.optional stdenv.isLinux inotify-tools
++ lib.optionals stdenv.isDarwin
(with darwin.apple_sdk.frameworks; [ CoreFoundation CoreServices ]);
# define shell startup command
shellHooks = ''
# this allows mix to work on the local directory
mkdir -p $PWD/.nix-mix
mkdir -p $PWD/.nix-hex
export MIX_HOME=$PWD/.nix-mix
export HEX_HOME=$PWD/.nix-mix
export PATH=$MIX_HOME/bin:$PATH
export PATH=$HEX_HOME/bin:$PATH
mix local.hex --force
export LANG=en_US.UTF-8
export ERL_AFLAGS="-kernel shell_history enabled"
# postges related
export PGDATA="$PWD/db"
# elixir
export MIX_ENV=dev
export FORKS_PATH=./forks
# bonfire
export FLAVOUR=${flavour}
export BONFIRE_FLAVOUR=flavours/${flavour}
export WITH_DOCKER=no
'';
in
mkShell
{
nativeBuildInputs = [ rustc cargo gcc ]; # for NIFs
buildInputs = shellBuildInputs;
shellHook = shellHooks;
RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}";
}