{ pkgs, lib, config, inputs, ... }:
{
# https://devenv.sh/basics/
env.GREET = "casbin-sqlx-watcher";
# https://devenv.sh/packages/
packages = [
pkgs.git
];
# https://devenv.sh/processes/
# processes.cargo-watch.exec = "cargo-watch";
languages.rust = {
enable = true;
# https://devenv.sh/reference/options/#languagesrustchannel
channel = "stable";
};
# https://devenv.sh/services/
services.postgres = {
enable = true;
package = pkgs.postgresql_17;
listen_addresses = "127.0.0.1";
extensions = extensions: [];
};
# https://devenv.sh/scripts/
scripts.hello.exec = ''
echo hello from $GREET
'';
enterShell = ''
hello
git --version
'';
# https://devenv.sh/tasks/
scripts = {
"db:nuke".exec = "rm -rf $PGDATA";
};
# https://devenv.sh/tests/
enterTest = ''
echo "Running tests"
git --version | grep --color=auto "${pkgs.git.version}"
'';
dotenv.enable = true;
# https://devenv.sh/git-hooks/
# git-hooks.hooks.shellcheck.enable = true;
# See full reference at https://devenv.sh/reference/options/
}