Add some zeus devshells

This commit is contained in:
Charlotte Van Petegem 2022-05-26 21:38:38 +02:00
parent 3150c018ad
commit cdd84ed7db
No known key found for this signature in database
GPG key ID: 019E764B7184435A

103
flake.nix
View file

@ -129,6 +129,109 @@
name = "Accentor API client in JavaScript";
packages = with pkgs; [ nodejs yarn ];
};
gamification2 = pkgs.devshell.mkShell {
name = "Gamification 2";
imports = [ "${devshell}/extra/language/c.nix" ];
packages = with pkgs; [
(pkgs.lowPrio binutils)
findutils
cmake
gnumake
nodejs
postgresql_14
ruby_3_1
yarn
];
env = [
{ name = "PGDATA"; eval = "$PRJ_DATA_DIR/postgres"; }
{ name = "DATABASE_HOST"; eval = "$PGDATA"; }
{ name = "GEM_HOME"; eval = "$PRJ_DATA_DIR/bundle/$(ruby -e 'puts RUBY_VERSION')"; }
{ name = "PATH"; prefix = "$GEM_HOME/bin"; }
];
commands = [
{
name = "pg:setup";
category = "database";
help = "Setup postgres in project folder";
command = ''
initdb --encoding=UTF8 --no-locale --no-instructions -U postgres
echo "listen_addresses = ${"'"}${"'"}" >> $PGDATA/postgresql.conf
echo "unix_socket_directories = '$PGDATA'" >> $PGDATA/postgresql.conf
echo "CREATE USER gamification2 WITH PASSWORD 'gamification2' CREATEDB;" | postgres --single -E postgres
'';
}
{
name = "pg:start";
category = "database";
help = "Start postgres instance";
command = ''
[ ! -d $PGDATA ] && setup-db
pg_ctl -D $PGDATA -U postgres start -l log/postgres.log
'';
}
{
name = "pg:stop";
category = "database";
help = "Stop postgres instance";
command = ''
pg_ctl -D $PGDATA -U postgres stop
'';
}
{
name = "pg:console";
category = "database";
help = "Open database console";
command = ''
psql --host $PGDATA -U postgres
'';
}
];
language.c = {
compiler = pkgs.gcc;
includes = [ pkgs.zlib pkgs.openssl ];
libraries = [ pkgs.zlib pkgs.openssl ];
};
};
tab = pkgs.devshell.mkShell {
name = "Tab";
imports = [ "${devshell}/extra/language/c.nix" ];
packages = with pkgs; [
(pkgs.lowPrio binutils)
findutils
gnumake
ruby_3_1
nodejs
yarn
];
env = [
{ name = "GEM_HOME"; eval = "$PRJ_DATA_DIR/bundle/$(ruby -e 'puts RUBY_VERSION')"; }
{ name = "PATH"; prefix = "$GEM_HOME/bin"; }
];
commands = [
{
name = "server-support";
category = "general commands";
help = "Run everything required for a server";
command = ''
bundle install
'';
}
{
name = "server";
category = "general commands";
help = "Run everything";
command = ''
server-support
rails s
'';
}
];
language.c = {
compiler = pkgs.gcc;
includes = [ pkgs.sqlite pkgs.libmysqlclient pkgs.zlib ];
libraries = [ pkgs.sqlite pkgs.libmysqlclient pkgs.zlib ];
};
};
dodona = pkgs.devshell.mkShell {
name = "Dodona";
imports = [ "${devshell}/extra/language/c.nix" ];