nixos-config/shells/dodona.nix
2020-05-06 15:23:19 +02:00

32 lines
791 B
Nix

let
pkgs = import <nixpkgs> { };
in
pkgs.mkShell {
buildInputs = with pkgs; [
chromedriver
libmysqlclient
nodejs-12_x
ruby
yarn
zlib
(
pkgs.writeScriptBin "start-db" ''
#!${zsh}/bin/zsh
trap "docker stop dodona-db" 0
trap "docker stop dodona-cache" 0
docker run --name dodona-db -p 3306:3306 --rm -v dodona-db-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=dodona mariadb:latest &
docker run --name dodona-cache -p 11211:11211 --rm memcached:latest &
child=$!
wait $child
''
)
];
shellHook = ''
export DATABASE_URL="mysql2://root:dodona@127.0.0.1:3306/dodona"
export GEM_HOME="$PWD/vendor/rubygems/$(ruby -e 'puts RUBY_VERSION')"
export PATH="$GEM_HOME/bin:$PATH"
'';
}