ISP/devenv.nix

60 lines
1.1 KiB
Nix

{ pkgs, lib, config, inputs, ... }:
{
# https://devenv.sh/basics/
env.GREET = "devenv";
# https://devenv.sh/packages/
packages = with pkgs; [
git
verilator
systemc
verible
svls
gtkwave
];
# https://devenv.sh/languages/
languages.rust.enable = true;
languages.c.enable = true;
languages.cplusplus.enable = true;
# https://devenv.sh/processes/
# processes.cargo-watch.exec = "cargo-watch";
# https://devenv.sh/services/
# services.postgres.enable = true;
# https://devenv.sh/scripts/
scripts.addEnv.exec = ''
export SYSTEMC_INCLUDE="${pkgs.systemc}/include"
echo $SYSTEMC_INCLUDE
export SYSTEMC_LIBDIR="${pkgs.systemc}/lib"
echo $SYSTEMC_LIBDIR
'';
enterShell = ''
addEnv
echo
git --version
echo
verilator --version
echo
gcc --version
'';
# https://devenv.sh/tests/
enterTest = ''
echo "Running tests"
git --version | grep --color=auto "${pkgs.git.version}"
'';
# https://devenv.sh/pre-commit-hooks/
# pre-commit.hooks.shellcheck.enable = true;
# See full reference at https://devenv.sh/reference/options/
}