Skip to content

Commit

Permalink
chore: add devenv option to not install git hooks (#1015)
Browse files Browse the repository at this point in the history
Tested with and without a `devenv.local.nix` with 
```
{
  hugr.installGitHooks = false;
}
```
  • Loading branch information
doug-q authored May 14, 2024
1 parent 48a8fca commit 10e3158
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 39 deletions.
85 changes: 47 additions & 38 deletions devenv.nix
Original file line number Diff line number Diff line change
@@ -1,52 +1,61 @@
{ pkgs, lib, inputs, ... }:
{ pkgs, lib, inputs, config, ... }:
let
pkgs-stable = import inputs.nixpkgs-stable { system = pkgs.stdenv.system; };
cfg = config.hugr;
in
{
# https://devenv.sh/packages/
# on macos frameworks have to be explicitly specified
# otherwise a linker error ocurs on rust packages
packages = [
pkgs.just
pkgs.llvmPackages_16.libllvm
# cargo-llvm-cov is currently marked broken on nixpkgs unstable
pkgs-stable.cargo-llvm-cov
] ++ lib.optionals
pkgs.stdenv.isDarwin
(with pkgs.darwin.apple_sdk; [
frameworks.CoreServices
frameworks.CoreFoundation
# added for json schema validation tests
frameworks.SystemConfiguration
]);
options.hugr = {
setupInShell = lib.mkEnableOption "setupInShell" // {
default = true;
description = "run `just setup` on entering shell";
};
};

# https://devenv.sh/scripts/
scripts.hello.exec = "echo Welcome to hugr dev shell!";
config = {
# https://devenv.sh/packages/
# on macos frameworks have to be explicitly specified
# otherwise a linker error ocurs on rust packages
packages = [
pkgs.just
pkgs.llvmPackages_16.libllvm
# cargo-llvm-cov is currently marked broken on nixpkgs unstable
pkgs-stable.cargo-llvm-cov
] ++ lib.optionals
pkgs.stdenv.isDarwin
(with pkgs.darwin.apple_sdk; [
frameworks.CoreServices
frameworks.CoreFoundation
# added for json schema validation tests
frameworks.SystemConfiguration
]);

enterShell = ''
hello
cargo --version
export LLVM_COV="${pkgs.llvmPackages_16.libllvm}/bin/llvm-cov"
export LLVM_PROFDATA="${pkgs.llvmPackages_16.libllvm}/bin/llvm-profdata"
# https://devenv.sh/scripts/
scripts.hello.exec = "echo Welcome to hugr dev shell!";

just setup
'';
enterShell = ''
hello
cargo --version
export LLVM_COV="${pkgs.llvmPackages_16.libllvm}/bin/llvm-cov"
export LLVM_PROFDATA="${pkgs.llvmPackages_16.libllvm}/bin/llvm-profdata"
'' + lib.optionalString cfg.setupInShell ''
just setup
'';

languages.python = {
enable = true;
poetry = {
languages.python = {
enable = true;
activate.enable = true;
poetry = {
enable = true;
activate.enable = true;
};
};
};

# https://devenv.sh/languages/
# https://devenv.sh/reference/options/#languagesrustversion
languages.rust = {
channel = "stable";
enable = true;
components = [ "rustc" "cargo" "clippy" "rustfmt" "rust-analyzer" ];
# https://devenv.sh/languages/
# https://devenv.sh/reference/options/#languagesrustversion
languages.rust = {
channel = "stable";
enable = true;
components = [ "rustc" "cargo" "clippy" "rustfmt" "rust-analyzer" ];
};
};

# See full reference at https://devenv.sh/reference/options/
}
3 changes: 2 additions & 1 deletion justfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ help:
# setting up the pre-commit hooks.
setup:
poetry install
poetry run pre-commit install -t pre-commit
# setup git hooks unless environment variable HUGR_JUST_INHIBIT_GIT_HOOKS is non-empty
[[ -z $HUGR_JUST_INHIBIT_GIT_HOOKS ]] && poetry run pre-commit install -t pre-commit || true

# Run the pre-commit checks.
check:
Expand Down

0 comments on commit 10e3158

Please sign in to comment.