Switch up organization of nix shells

This commit is contained in:
Charlotte Van Petegem 2020-02-22 12:17:00 +01:00
parent 9212f3a380
commit ef53da0380
17 changed files with 1656 additions and 173 deletions

55
shells/accentor-api.nix Normal file
View file

@ -0,0 +1,55 @@
let
pkgs = import <nixpkgs> {};
nixpkgs-master = import <nixpkgs-master> {};
baseVimConfig = import ../programs/neovim/base.nix { inherit pkgs; };
in
pkgs.mkShell {
buildInputs = with pkgs; [
ffmpeg
postgresql
ruby_2_7
taglib
zlib
(nixpkgs-master.neovim.override {
configure = {
customRC = baseVimConfig.customRC + ''
" Required for operations modifying multiple buffers like rename
set hidden
let g:deoplete#enable_at_startup = 1
let g:LanguageClient_serverCommands = {
\ 'ruby': ['${solargraph}/bin/solargraph', 'stdio'],
\ }
'';
vam.knownPlugins = baseVimConfig.vam.knownPlugins;
vam.pluginDictionaries = (baseVimConfig.vam.pluginDictionaries or []) ++ [
{
names = [
"deoplete-nvim"
"LanguageClient-neovim"
"vim-ruby"
];
}
];
};
})
];
shellHook = ''
export PGDATA=$PWD/tmp/postgres_data
export PGHOST=$PWD/tmp/postgres
export PGDATABASE=postgres
export DATABASE_URL="postgresql:///postgres?host=$PGHOST"
if [ ! -d $PGHOST ]; then
mkdir -p $PGHOST
fi
if [ ! -d $PGDATA ]; then
echo 'Initializing postgresql database...'
initdb $PGDATA --auth=trust >/dev/null
fi
cat >"$PGDATA/postgresql.conf" <<HERE
listen_addresses = '''
unix_socket_directories = '$PGHOST'
HERE
'';
}

9
shells/accentor-web.nix Normal file
View file

@ -0,0 +1,9 @@
let
pkgs = import <nixpkgs> {};
in
pkgs.mkShell {
buildInputs = [
pkgs.nodejs-12_x
pkgs.yarn
];
}

54
shells/dodona.nix Normal file
View file

@ -0,0 +1,54 @@
let
pkgs = import <nixpkgs> {};
nixpkgs-master = import <nixpkgs-master> {};
baseVimConfig = import ../programs/neovim/base.nix { inherit pkgs; };
nodePackages = import ../packages/node/default.nix { inherit pkgs; };
in
pkgs.mkShell {
buildInputs = with pkgs; [
ruby
yarn
nodejs-12_x
libmysqlclient
zlib
(pkgs.writeScriptBin "start-db" ''
#!${pkgs.zsh}/bin/zsh
trap "docker stop dodona-db" 0
docker run --name dodona-db -p 3306:3306 --rm -v dodona-db-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=dodona mariadb:latest &
child=$!
wait $child
'')
(nixpkgs-master.neovim.override {
configure = {
customRC = baseVimConfig.customRC + ''
" Required for operations modifying multiple buffers like rename
set hidden
let g:deoplete#enable_at_startup = 1
let g:LanguageClient_serverCommands = {
\ 'ruby': ['${solargraph}/bin/solargraph', 'stdio'],
\ 'javascript': ['${nodePackages.javascript-typescript-langserver}/bin/javascript-typescript-stdio'],
\ 'typescript': ['${nodePackages.typescript-language-server}/bin/typescript-language-server', '--stdio'],
\ }
'';
vam.knownPlugins = baseVimConfig.vam.knownPlugins;
vam.pluginDictionaries = (baseVimConfig.vam.pluginDictionaries or []) ++ [
{
names = [
"deoplete-nvim"
"LanguageClient-neovim"
"vim-ruby"
"yats-vim"
];
}
];
};
})
];
shellHook = ''
export DATABASE_URL="mysql2://root:dodona@127.0.0.1:3306/dodona"
'';
}

9
shells/javafx.nix Normal file
View file

@ -0,0 +1,9 @@
let
pkgs = import <nixpkgs> {};
in
pkgs.mkShell {
buildInputs = with pkgs; [
jdk11
openjfx11
];
}

16
shells/ledger.nix Normal file
View file

@ -0,0 +1,16 @@
let
pkgs = import <nixpkgs> {};
nixpkgs-master = import <nixpkgs-master> {};
baseVimConfig = import ../programs/neovim/base.nix { inherit pkgs; };
in
pkgs.mkShell {
buildInputs = with nixpkgs-master; [
(neovim.override {
configure = {
customRC = baseVimConfig.customRC;
vam.knownPlugins = baseVimConfig.vam.knownPlugins;
vam.pluginDictionaries = (baseVimConfig.vam.pluginDictionaries or []) ++ [ { name = "vim-ledger"; } ];
};
})
];
}

6
shells/nix.nix Normal file
View file

@ -0,0 +1,6 @@
let
pkgs = import <nixpkgs> {};
in
pkgs.mkShell {
buildInputs = with pkgs; [];
}