Files
gtransfer/devenv.nix
Gregor Lohaus 2b77988086 init
2026-02-25 12:30:27 +01:00

58 lines
1.5 KiB
Nix

{ pkgs, lib, config, inputs, ... }:
{
# https://devenv.sh/basics/
env.GRAALVM_HOME = "${pkgs.graalvmPackages.graalvm-ce}";
# https://devenv.sh/packages/
packages = [
pkgs.graalvmPackages.graalvm-ce
pkgs.watchexec
];
# https://devenv.sh/languages/
languages.java.enable = true;
languages.java.lsp.enable = true;
languages.java.gradle.enable = true;
languages.java.jdk.package = pkgs.jdk25_headless;
# https://devenv.sh/processes/
# processes.cargo-watch.exec = "cargo-watch";
# process.manager.implementation = "mprocs";
processes.watchbuild = {
exec = "watchexec -r -e java,html,css,js -w ./Backend/src -- build-backend";
};
processes.runbin = {
exec = "watchexec -r -w ./Backend/buildcompleted.at ./Backend/build/native/nativeCompile/gtransfer";
};
# https://devenv.sh/services/
services.postgres.enable = true;
services.postgres.listen_addresses = "localhost";
services.postgres.port = 5432;
services.postgres.initialDatabases = [
{name="gtransfer";user="gtransfer";pass="gtransfer";}
];
# https://devenv.sh/scripts/
scripts.build-backend.exec = ''
gradle -p ./Backend build && echo $(date) > ./Backend/buildcompleted.at
'';
enterShell = ''
'';
# https://devenv.sh/tasks/
# tasks = {
# "myproj:setup".exec = "mytool build";
# "devenv:enterShell".after = [ "myproj:setup" ];
# };
# https://devenv.sh/tests/
enterTest = ''
'';
# https://devenv.sh/git-hooks/
# git-hooks.hooks.shellcheck.enable = true;
# See full reference at https://devenv.sh/reference/options/
}