{"id":13649087,"url":"https://github.com/tweag/rules_nixpkgs","last_synced_at":"2025-05-15T20:07:38.124Z","repository":{"id":37857743,"uuid":"113735960","full_name":"tweag/rules_nixpkgs","owner":"tweag","description":"Rules for importing Nixpkgs packages into Bazel.","archived":false,"fork":false,"pushed_at":"2025-05-10T04:37:10.000Z","size":2107,"stargazers_count":326,"open_issues_count":81,"forks_count":85,"subscribers_count":32,"default_branch":"master","last_synced_at":"2025-05-10T13:03:04.832Z","etag":null,"topics":["bazel","bazel-rules","nix","nixpkgs"],"latest_commit_sha":null,"homepage":"https://nix-bazel.build/","language":"Starlark","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tweag.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-12-10T08:53:48.000Z","updated_at":"2025-04-30T09:38:46.000Z","dependencies_parsed_at":"2023-11-11T05:27:40.607Z","dependency_job_id":"e5b9abc3-0da0-49a2-bdd3-8a36f28d232e","html_url":"https://github.com/tweag/rules_nixpkgs","commit_stats":{"total_commits":1106,"total_committers":72,"mean_commits":15.36111111111111,"dds":0.639240506329114,"last_synced_commit":"4657a419fed092403d3bbbb8fc681edb0c5f5f0e"},"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tweag%2Frules_nixpkgs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tweag%2Frules_nixpkgs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tweag%2Frules_nixpkgs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tweag%2Frules_nixpkgs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tweag","download_url":"https://codeload.github.com/tweag/rules_nixpkgs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254414501,"owners_count":22067272,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bazel","bazel-rules","nix","nixpkgs"],"created_at":"2024-08-02T01:04:45.755Z","updated_at":"2025-05-15T20:07:33.077Z","avatar_url":"https://github.com/tweag.png","language":"Starlark","funding_links":[],"categories":["Starlark"],"sub_categories":[],"readme":"\u003c!-- Generated with Stardoc: http://skydoc.bazel.build --\u003e\n\n\u003c!-- Edit the docstring in `nixpkgs/nixpkgs.bzl` and run `bazel run @rules_nixpkgs_docs//:update-readme` to change the project README. --\u003e\n\n# Nixpkgs rules for Bazel\n\n[![Continuous integration](https://github.com/tweag/rules_nixpkgs/actions/workflows/workflow.yaml/badge.svg?event=schedule)](https://github.com/tweag/rules_nixpkgs/actions/workflows/workflow.yaml)\n\nUse [Nix][nix] and the [Nixpkgs][nixpkgs] package set to import\nexternal dependencies (like system packages) into [Bazel][bazel]\nhermetically. If the version of any dependency changes, Bazel will\ncorrectly rebuild targets, and only those targets that use the\nexternal dependencies that changed.\n\nLinks:\n* [Nix + Bazel = fully reproducible, incremental\n  builds][blog-bazel-nix] (blog post)\n* [Nix + Bazel][youtube-bazel-nix] (lightning talk)\n\n[nix]: https://nixos.org/nix\n[nixpkgs]: https://github.com/NixOS/nixpkgs\n[bazel]: https://bazel.build\n[blog-bazel-nix]: https://www.tweag.io/posts/2018-03-15-bazel-nix.html\n[youtube-bazel-nix]: https://www.youtube.com/watch?v=7-K_RmDasEg\u0026t=2030s\n\nSee [examples](/examples/toolchains) for how to use `rules_nixpkgs` with different toolchains.\n\n## Rules\n\n* [nixpkgs_git_repository](#nixpkgs_git_repository)\n* [nixpkgs_http_repository](#nixpkgs_http_repository)\n* [nixpkgs_local_repository](#nixpkgs_local_repository)\n* [nixpkgs_package](#nixpkgs_package)\n* [nixpkgs_flake_package](#nixpkgs_flake_package)\n* [nixpkgs_cc_configure](#nixpkgs_cc_configure)\n* [nixpkgs_java_configure](#nixpkgs_java_configure)\n* [nixpkgs_python_configure](#nixpkgs_python_configure)\n* [nixpkgs_python_repository](#nixpkgs_python_repository)\n* [nixpkgs_go_configure](toolchains/go/README.md#nixpkgs_go_configure)\n* [nixpkgs_rust_configure](#nixpkgs_rust_configure)\n* [nixpkgs_sh_posix_configure](#nixpkgs_sh_posix_configure)\n* [nixpkgs_nodejs_configure](#nixpkgs_nodejs_configure)\n\n## Setup\n\nAdd the following to your `WORKSPACE` file, and select a `$COMMIT` accordingly.\n\n```bzl\nload(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_archive\")\n\nhttp_archive(\n    name = \"io_tweag_rules_nixpkgs\",\n    strip_prefix = \"rules_nixpkgs-$COMMIT\",\n    urls = [\"https://github.com/tweag/rules_nixpkgs/archive/$COMMIT.tar.gz\"],\n)\n\nload(\"@io_tweag_rules_nixpkgs//nixpkgs:repositories.bzl\", \"rules_nixpkgs_dependencies\")\nrules_nixpkgs_dependencies()\n\nload(\"@io_tweag_rules_nixpkgs//nixpkgs:nixpkgs.bzl\", \"nixpkgs_git_repository\", \"nixpkgs_package\", \"nixpkgs_cc_configure\")\n\nload(\"@io_tweag_rules_nixpkgs//nixpkgs:toolchains/go.bzl\", \"nixpkgs_go_configure\") # optional\n```\n\nIf you use `rules_nixpkgs` to configure a toolchain, then you will also need to\nconfigure the build platform to include the\n`@rules_nixpkgs_core//constraints:support_nix` constraint. For\nexample by adding the following to `.bazelrc`:\n\n```\nbuild --host_platform=@rules_nixpkgs_core//platforms:host\n```\n\n## Example\n\n```bzl\nnixpkgs_git_repository(\n    name = \"nixpkgs\",\n    revision = \"17.09\", # Any tag or commit hash\n    sha256 = \"\" # optional sha to verify package integrity!\n)\n\nnixpkgs_package(\n    name = \"hello\",\n    repositories = { \"nixpkgs\": \"@nixpkgs//:default.nix\" }\n)\n```\n\n## Migration from older releases\n\n### `path` Attribute (removed in 0.3)\n\n`path` was an attribute from the early days of `rules_nixpkgs`, and\nits ability to reference arbitrary paths is a danger to build hermeticity.\n\nReplace it with either `nixpkgs_git_repository` if you need\na specific version of `nixpkgs`. If you absolutely *must* depend on a\nlocal folder, use Bazel's\n[`local_repository` workspace rule](https://docs.bazel.build/versions/master/be/workspace.html#local_repository).\nBoth approaches work well with the `repositories` attribute of `nixpkgs_package`.\n\n```bzl\nlocal_repository(\n  name = \"local-nixpkgs\",\n  path = \"/path/to/nixpkgs\",\n)\n\nnixpkgs_package(\n  name = \"somepackage\",\n  repositories = {\n    \"nixpkgs\": \"@local-nixpkgs//:default.nix\",\n  },\n)\n```\n\n\n# Reference documentation\n\n\u003ca id=\"#nixpkgs_cc_configure\"\u003e\u003c/a\u003e\n\n### nixpkgs_cc_configure\n\n\u003cpre\u003e\nnixpkgs_cc_configure(\u003ca href=\"#nixpkgs_cc_configure-name\"\u003ename\u003c/a\u003e, \u003ca href=\"#nixpkgs_cc_configure-attribute_path\"\u003eattribute_path\u003c/a\u003e, \u003ca href=\"#nixpkgs_cc_configure-nix_file\"\u003enix_file\u003c/a\u003e, \u003ca href=\"#nixpkgs_cc_configure-nix_file_content\"\u003enix_file_content\u003c/a\u003e, \u003ca href=\"#nixpkgs_cc_configure-nix_file_deps\"\u003enix_file_deps\u003c/a\u003e, \u003ca href=\"#nixpkgs_cc_configure-repositories\"\u003erepositories\u003c/a\u003e,\n                     \u003ca href=\"#nixpkgs_cc_configure-repository\"\u003erepository\u003c/a\u003e, \u003ca href=\"#nixpkgs_cc_configure-nixopts\"\u003enixopts\u003c/a\u003e, \u003ca href=\"#nixpkgs_cc_configure-quiet\"\u003equiet\u003c/a\u003e, \u003ca href=\"#nixpkgs_cc_configure-fail_not_supported\"\u003efail_not_supported\u003c/a\u003e, \u003ca href=\"#nixpkgs_cc_configure-exec_constraints\"\u003eexec_constraints\u003c/a\u003e,\n                     \u003ca href=\"#nixpkgs_cc_configure-target_constraints\"\u003etarget_constraints\u003c/a\u003e, \u003ca href=\"#nixpkgs_cc_configure-register\"\u003eregister\u003c/a\u003e, \u003ca href=\"#nixpkgs_cc_configure-cc_lang\"\u003ecc_lang\u003c/a\u003e, \u003ca href=\"#nixpkgs_cc_configure-cc_std\"\u003ecc_std\u003c/a\u003e, \u003ca href=\"#nixpkgs_cc_configure-cross_cpu\"\u003ecross_cpu\u003c/a\u003e, \u003ca href=\"#nixpkgs_cc_configure-apple_sdk_path\"\u003eapple_sdk_path\u003c/a\u003e)\n\u003c/pre\u003e\n\nUse a CC toolchain from Nixpkgs. No-op if not a nix-based platform.\n\nBy default, Bazel auto-configures a CC toolchain from commands (e.g.\n`gcc`) available in the environment. To make builds more hermetic, use\nthis rule to specify explicitly which commands the toolchain should use.\n\nSpecifically, it builds a Nix derivation that provides the CC toolchain\ntools in the `bin/` path and constructs a CC toolchain that uses those\ntools. Tools that aren't found are replaced by `${coreutils}/bin/false`.\nYou can inspect the resulting `@\u003cname\u003e_info//:CC_TOOLCHAIN_INFO` to see\nwhich tools were discovered.\n\nIf you specify the `nix_file` or `nix_file_content` argument, the CC\ntoolchain is discovered by evaluating the corresponding expression. In\naddition, you may use the `attribute_path` argument to select an attribute\nfrom the result of the expression to use as the CC toolchain (see example below).\n\nIf neither the `nix_file` nor `nix_file_content` argument is used, the\ntoolchain is discovered from the `stdenv.cc` and the `stdenv.cc.bintools`\nattributes of the given `\u003cnixpkgs\u003e` repository.\n\n```\n# use GCC 11\nnixpkgs_cc_configure(\n  repository = \"@nixpkgs\",\n  nix_file_content = \"(import \u003cnixpkgs\u003e {}).gcc11\",\n)\n```\n```\n# use GCC 11 (same result as above)\nnixpkgs_cc_configure(\n  repository = \"@nixpkgs\",\n  attribute_path = \"gcc11\",\n  nix_file_content = \"import \u003cnixpkgs\u003e {}\",\n)\n```\n```\n# alternate usage without specifying `nix_file` or `nix_file_content`\nnixpkgs_cc_configure(\n  repository = \"@nixpkgs\",\n  attribute_path = \"gcc11\",\n)\n```\n```\n# use the `stdenv.cc` compiler (the default of the given @nixpkgs repository)\nnixpkgs_cc_configure(\n  repository = \"@nixpkgs\",\n)\n```\n\nThis rule depends on [`rules_cc`](https://github.com/bazelbuild/rules_cc).\n\n**Note:**\nYou need to configure `--crosstool_top=@\u003cname\u003e//:toolchain` to activate\nthis toolchain.\n\n\n#### Parameters\n\n\u003ctable class=\"params-table\"\u003e\n\u003ccolgroup\u003e\n\u003ccol class=\"col-param\" /\u003e\n\u003ccol class=\"col-description\" /\u003e\n\u003c/colgroup\u003e\n\u003ctbody\u003e\n\u003ctr id=\"nixpkgs_cc_configure-name\"\u003e\n\u003ctd\u003e\u003ccode\u003ename\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e\"local_config_cc\"\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_cc_configure-attribute_path\"\u003e\n\u003ctd\u003e\u003ccode\u003eattribute_path\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e\"\"\u003c/code\u003e\n\n\u003cp\u003e\n\noptional, string, Obtain the toolchain from the Nix expression under this attribute path. Uses default repository if no `nix_file` or `nix_file_content` is provided.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_cc_configure-nix_file\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_file\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\noptional, Label, Obtain the toolchain from the Nix expression defined in this file. Specify only one of `nix_file` or `nix_file_content`.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_cc_configure-nix_file_content\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_file_content\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e\"\"\u003c/code\u003e\n\n\u003cp\u003e\n\noptional, string, Obtain the toolchain from the given Nix expression. Specify only one of `nix_file` or `nix_file_content`.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_cc_configure-nix_file_deps\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_file_deps\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e[]\u003c/code\u003e\n\n\u003cp\u003e\n\noptional, list of Label, Additional files that the Nix expression depends on.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_cc_configure-repositories\"\u003e\n\u003ctd\u003e\u003ccode\u003erepositories\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e{}\u003c/code\u003e\n\n\u003cp\u003e\n\ndict of Label to string, Provides `\u003cnixpkgs\u003e` and other repositories. Specify one of `repositories` or `repository`.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_cc_configure-repository\"\u003e\n\u003ctd\u003e\u003ccode\u003erepository\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nLabel, Provides `\u003cnixpkgs\u003e`. Specify one of `repositories` or `repository`.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_cc_configure-nixopts\"\u003e\n\u003ctd\u003e\u003ccode\u003enixopts\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e[]\u003c/code\u003e\n\n\u003cp\u003e\n\noptional, list of string, Extra flags to pass when calling Nix. See `nixopts` attribute to `nixpkgs_package` for further details.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_cc_configure-quiet\"\u003e\n\u003ctd\u003e\u003ccode\u003equiet\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eFalse\u003c/code\u003e\n\n\u003cp\u003e\n\nbool, Whether to hide `nix-build` output.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_cc_configure-fail_not_supported\"\u003e\n\u003ctd\u003e\u003ccode\u003efail_not_supported\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eTrue\u003c/code\u003e\n\n\u003cp\u003e\n\nbool, Whether to fail if `nix-build` is not available.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_cc_configure-exec_constraints\"\u003e\n\u003ctd\u003e\u003ccode\u003eexec_constraints\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nConstraints for the execution platform.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_cc_configure-target_constraints\"\u003e\n\u003ctd\u003e\u003ccode\u003etarget_constraints\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nConstraints for the target platform.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_cc_configure-register\"\u003e\n\u003ctd\u003e\u003ccode\u003eregister\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eTrue\u003c/code\u003e\n\n\u003cp\u003e\n\nbool, enabled by default, Whether to register (with `register_toolchains`) the generated toolchain and install it as the default cc_toolchain.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_cc_configure-cc_lang\"\u003e\n\u003ctd\u003e\u003ccode\u003ecc_lang\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e\"c++\"\u003c/code\u003e\n\n\u003cp\u003e\n\nstring, `\"c++\"` by default. Used to populate `CXX_FLAG` so the compiler is called in C++ mode. Can be set to `\"none\"` together with appropriate `copts` in the `cc_library` call: see above.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_cc_configure-cc_std\"\u003e\n\u003ctd\u003e\u003ccode\u003ecc_std\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e\"c++0x\"\u003c/code\u003e\n\n\u003cp\u003e\n\nstring, `\"c++0x\"` by default. Used to populate `CXX_FLAG` so the compiler uses the given language standard. Can be set to `\"none\"` together with appropriate `copts` in the `cc_library` call: see above.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_cc_configure-cross_cpu\"\u003e\n\u003ctd\u003e\u003ccode\u003ecross_cpu\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e\"\"\u003c/code\u003e\n\n\u003cp\u003e\n\nstring, `\"\"` by default. Used if you want to add a cross compilation C/C++ toolchain. Set this to the CPU architecture for the target CPU. For example x86_64, would be k8.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_cc_configure-apple_sdk_path\"\u003e\n\u003ctd\u003e\u003ccode\u003eapple_sdk_path\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e\"\"\u003c/code\u003e\n\n\u003cp\u003e\n\nstring, `\"\"` by default. Obtain the default nix `apple-sdk` for the toolchain form the Nix expression under this attribute path.  Uses default repository if no `nix_file` or `nix_file_content` is provided.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n\n\u003ca id=\"#nixpkgs_flake_package\"\u003e\u003c/a\u003e\n\n### nixpkgs_flake_package\n\n\u003cpre\u003e\nnixpkgs_flake_package(\u003ca href=\"#nixpkgs_flake_package-name\"\u003ename\u003c/a\u003e, \u003ca href=\"#nixpkgs_flake_package-nix_flake_file\"\u003enix_flake_file\u003c/a\u003e, \u003ca href=\"#nixpkgs_flake_package-nix_flake_lock_file\"\u003enix_flake_lock_file\u003c/a\u003e, \u003ca href=\"#nixpkgs_flake_package-nix_flake_file_deps\"\u003enix_flake_file_deps\u003c/a\u003e, \u003ca href=\"#nixpkgs_flake_package-package\"\u003epackage\u003c/a\u003e,\n                      \u003ca href=\"#nixpkgs_flake_package-build_file\"\u003ebuild_file\u003c/a\u003e, \u003ca href=\"#nixpkgs_flake_package-build_file_content\"\u003ebuild_file_content\u003c/a\u003e, \u003ca href=\"#nixpkgs_flake_package-nixopts\"\u003enixopts\u003c/a\u003e, \u003ca href=\"#nixpkgs_flake_package-quiet\"\u003equiet\u003c/a\u003e, \u003ca href=\"#nixpkgs_flake_package-fail_not_supported\"\u003efail_not_supported\u003c/a\u003e,\n                      \u003ca href=\"#nixpkgs_flake_package-legacy_path_syntax\"\u003elegacy_path_syntax\u003c/a\u003e, \u003ca href=\"#nixpkgs_flake_package-kwargs\"\u003ekwargs\u003c/a\u003e)\n\u003c/pre\u003e\n\nMake the content of a local Nix Flake package available in the Bazel workspace.\n\n**IMPORTANT NOTE**: Calling `nix build` copies the entirety of the Nix Flake\ninto the Nix Store.  When using the `path:` syntax, this means the directory\ncontaining `flake.nix` and any subdirectories.  Without specifying `path:`\nNix may infer that the flake is the Git repository and copy the entire thing.\nAs a consequence, you may want to isolate your flake from the rest of the\nrepository to minimize the amount of unnecessary data that gets copied into\nthe Nix Store whenever the flake is rebuilt.\n\n\n#### Parameters\n\n\u003ctable class=\"params-table\"\u003e\n\u003ccolgroup\u003e\n\u003ccol class=\"col-param\" /\u003e\n\u003ccol class=\"col-description\" /\u003e\n\u003c/colgroup\u003e\n\u003ctbody\u003e\n\u003ctr id=\"nixpkgs_flake_package-name\"\u003e\n\u003ctd\u003e\u003ccode\u003ename\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\nrequired.\n\n\u003cp\u003e\n\nA unique name for this repository.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_flake_package-nix_flake_file\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_flake_file\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\nrequired.\n\n\u003cp\u003e\n\nLabel to `flake.nix` that will be evaluated.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_flake_package-nix_flake_lock_file\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_flake_lock_file\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\nrequired.\n\n\u003cp\u003e\n\nLabel to `flake.lock` that corresponds to `nix_flake_file`.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_flake_package-nix_flake_file_deps\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_flake_file_deps\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e[]\u003c/code\u003e\n\n\u003cp\u003e\n\nAdditional dependencies of `nix_flake_file` if any.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_flake_package-package\"\u003e\n\u003ctd\u003e\u003ccode\u003epackage\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nNix Flake package to make available.  The default package will be used if not specified.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_flake_package-build_file\"\u003e\n\u003ctd\u003e\u003ccode\u003ebuild_file\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nThe file to use as the BUILD file for this repository. See [`nixpkgs_package`](#nixpkgs_package-build_file) for more information.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_flake_package-build_file_content\"\u003e\n\u003ctd\u003e\u003ccode\u003ebuild_file_content\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e\"\"\u003c/code\u003e\n\n\u003cp\u003e\n\nLike `build_file`, but a string of the contents instead of a file name. See [`nixpkgs_package`](#nixpkgs_package-build_file_content) for more information.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_flake_package-nixopts\"\u003e\n\u003ctd\u003e\u003ccode\u003enixopts\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e[]\u003c/code\u003e\n\n\u003cp\u003e\n\nExtra flags to pass when calling Nix. See [`nixpkgs_package`](#nixpkgs_package-nixopts) for more information.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_flake_package-quiet\"\u003e\n\u003ctd\u003e\u003ccode\u003equiet\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eFalse\u003c/code\u003e\n\n\u003cp\u003e\n\nWhether to hide the output of the Nix command.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_flake_package-fail_not_supported\"\u003e\n\u003ctd\u003e\u003ccode\u003efail_not_supported\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eTrue\u003c/code\u003e\n\n\u003cp\u003e\n\nIf set to `True` (default) this rule will fail on platforms which do not support Nix (e.g. Windows). If set to `False` calling this rule will succeed but no output will be generated.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_flake_package-legacy_path_syntax\"\u003e\n\u003ctd\u003e\u003ccode\u003elegacy_path_syntax\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eFalse\u003c/code\u003e\n\n\u003cp\u003e\n\nIf set to True (not default), the Nix Flake invocation will directly call `nix build \u003cpath\u003e` instead of `nix build path:\u003cpath\u003e` which may involve copying the entirety of the Git repo into the Nix Store instead of just the path and its children.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_flake_package-kwargs\"\u003e\n\u003ctd\u003e\u003ccode\u003ekwargs\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\n\n\u003cp\u003e\n\nCommon rule arguments.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n\n\u003ca id=\"#nixpkgs_git_repository\"\u003e\u003c/a\u003e\n\n### nixpkgs_git_repository\n\n\u003cpre\u003e\nnixpkgs_git_repository(\u003ca href=\"#nixpkgs_git_repository-name\"\u003ename\u003c/a\u003e, \u003ca href=\"#nixpkgs_git_repository-revision\"\u003erevision\u003c/a\u003e, \u003ca href=\"#nixpkgs_git_repository-remote\"\u003eremote\u003c/a\u003e, \u003ca href=\"#nixpkgs_git_repository-sha256\"\u003esha256\u003c/a\u003e, \u003ca href=\"#nixpkgs_git_repository-kwargs\"\u003ekwargs\u003c/a\u003e)\n\u003c/pre\u003e\n\nName a specific revision of Nixpkgs on GitHub or a local checkout.\n\n#### Parameters\n\n\u003ctable class=\"params-table\"\u003e\n\u003ccolgroup\u003e\n\u003ccol class=\"col-param\" /\u003e\n\u003ccol class=\"col-description\" /\u003e\n\u003c/colgroup\u003e\n\u003ctbody\u003e\n\u003ctr id=\"nixpkgs_git_repository-name\"\u003e\n\u003ctd\u003e\u003ccode\u003ename\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\nrequired.\n\n\u003cp\u003e\n\nString\n\nA unique name for this repository.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_git_repository-revision\"\u003e\n\u003ctd\u003e\u003ccode\u003erevision\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\nrequired.\n\n\u003cp\u003e\n\nString\n\nGit commit hash or tag identifying the version of Nixpkgs to use.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_git_repository-remote\"\u003e\n\u003ctd\u003e\u003ccode\u003eremote\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e\"https://github.com/NixOS/nixpkgs\"\u003c/code\u003e\n\n\u003cp\u003e\n\nString\n\nThe URI of the remote Git repository. This must be a HTTP URL. There is\ncurrently no support for authentication. Defaults to [upstream\nnixpkgs](https://github.com/NixOS/nixpkgs).\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_git_repository-sha256\"\u003e\n\u003ctd\u003e\u003ccode\u003esha256\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nString\n\nThe SHA256 used to verify the integrity of the repository.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_git_repository-kwargs\"\u003e\n\u003ctd\u003e\u003ccode\u003ekwargs\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\n\n\u003cp\u003e\n\nAdditional arguments to forward to the underlying repository rule.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n\n\u003ca id=\"#nixpkgs_http_repository\"\u003e\u003c/a\u003e\n\n### nixpkgs_http_repository\n\n\u003cpre\u003e\nnixpkgs_http_repository(\u003ca href=\"#nixpkgs_http_repository-name\"\u003ename\u003c/a\u003e, \u003ca href=\"#nixpkgs_http_repository-url\"\u003eurl\u003c/a\u003e, \u003ca href=\"#nixpkgs_http_repository-urls\"\u003eurls\u003c/a\u003e, \u003ca href=\"#nixpkgs_http_repository-auth\"\u003eauth\u003c/a\u003e, \u003ca href=\"#nixpkgs_http_repository-strip_prefix\"\u003estrip_prefix\u003c/a\u003e, \u003ca href=\"#nixpkgs_http_repository-integrity\"\u003eintegrity\u003c/a\u003e, \u003ca href=\"#nixpkgs_http_repository-sha256\"\u003esha256\u003c/a\u003e, \u003ca href=\"#nixpkgs_http_repository-kwargs\"\u003ekwargs\u003c/a\u003e)\n\u003c/pre\u003e\n\nDownload a Nixpkgs repository over HTTP.\n\n#### Parameters\n\n\u003ctable class=\"params-table\"\u003e\n\u003ccolgroup\u003e\n\u003ccol class=\"col-param\" /\u003e\n\u003ccol class=\"col-description\" /\u003e\n\u003c/colgroup\u003e\n\u003ctbody\u003e\n\u003ctr id=\"nixpkgs_http_repository-name\"\u003e\n\u003ctd\u003e\u003ccode\u003ename\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\nrequired.\n\n\u003cp\u003e\n\nString\n\nA unique name for this repository.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_http_repository-url\"\u003e\n\u003ctd\u003e\u003ccode\u003eurl\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nString\n\nA URL to download the repository from.\n\nThis must be a file, http or https URL. Redirections are followed.\n\nMore flexibility can be achieved by the urls parameter that allows\nto specify alternative URLs to fetch from.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_http_repository-urls\"\u003e\n\u003ctd\u003e\u003ccode\u003eurls\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nList of String\n\nA list of URLs to download the repository from.\n\nEach entry must be a file, http or https URL. Redirections are followed.\n\nURLs are tried in order until one succeeds, so you should list local mirrors first.\nIf all downloads fail, the rule will fail.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_http_repository-auth\"\u003e\n\u003ctd\u003e\u003ccode\u003eauth\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nDict of String\n\nAn optional dict mapping host names to custom authorization patterns.\n\nIf a URL's host name is present in this dict the value will be used as a pattern when\ngenerating the authorization header for the http request. This enables the use of custom\nauthorization schemes used in a lot of common cloud storage providers.\n\nThe pattern currently supports 2 tokens: \u003ccode\u003e\u0026lt;login\u0026gt;\u003c/code\u003e and\n\u003ccode\u003e\u0026lt;password\u0026gt;\u003c/code\u003e, which are replaced with their equivalent value\nin the netrc file for the same host name. After formatting, the result is set\nas the value for the \u003ccode\u003eAuthorization\u003c/code\u003e field of the HTTP request.\n\nExample attribute and netrc for a http download to an oauth2 enabled API using a bearer token:\n\n\u003cpre\u003e\nauth_patterns = {\n    \"storage.cloudprovider.com\": \"Bearer \u0026lt;password\u0026gt;\"\n}\n\u003c/pre\u003e\n\nnetrc:\n\n\u003cpre\u003e\nmachine storage.cloudprovider.com\n        password RANDOM-TOKEN\n\u003c/pre\u003e\n\nThe final HTTP request would have the following header:\n\n\u003cpre\u003e\nAuthorization: Bearer RANDOM-TOKEN\n\u003c/pre\u003e\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_http_repository-strip_prefix\"\u003e\n\u003ctd\u003e\u003ccode\u003estrip_prefix\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nString\n\nA directory prefix to strip from the extracted files.\n\nMany archives contain a top-level directory that contains all of the useful\nfiles in archive. This field can be used to strip it from all of the\nextracted files.\n\nFor example, suppose you are using `nixpkgs-22.11.zip`, which contains\nthe directory `nixpkgs-22.11/` under which there is the `default.nix`\nfile and the `pkgs/` directory. Specify `strip_prefix =\n\"nixpkgs-22.11\"` to use the `nixpkgs-22.11` directory as your top-level\ndirectory.\n\nNote that if there are files outside of this directory, they will be\ndiscarded and inaccessible (e.g., a top-level license file). This includes\nfiles/directories that start with the prefix but are not in the directory\n(e.g., `nixpkgs-22.11.release-notes`). If the specified prefix does not\nmatch a directory in the archive, Bazel will return an error.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_http_repository-integrity\"\u003e\n\u003ctd\u003e\u003ccode\u003eintegrity\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nString\n\nExpected checksum in Subresource Integrity format of the file downloaded.\n\nThis must match the checksum of the file downloaded. _It is a security risk\nto omit the checksum as remote files can change._ At best omitting this\nfield will make your build non-hermetic. It is optional to make development\neasier but either this attribute or `sha256` should be set before shipping.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_http_repository-sha256\"\u003e\n\u003ctd\u003e\u003ccode\u003esha256\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nString\nThe expected SHA-256 of the file downloaded.\n\nThis must match the SHA-256 of the file downloaded. _It is a security risk\nto omit the SHA-256 as remote files can change._ At best omitting this\nfield will make your build non-hermetic. It is optional to make development\neasier but should be set before shipping.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_http_repository-kwargs\"\u003e\n\u003ctd\u003e\u003ccode\u003ekwargs\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\n\n\u003cp\u003e\n\nAdditional arguments to forward to the underlying repository rule.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n\n\u003ca id=\"#nixpkgs_java_configure\"\u003e\u003c/a\u003e\n\n### nixpkgs_java_configure\n\n\u003cpre\u003e\nnixpkgs_java_configure(\u003ca href=\"#nixpkgs_java_configure-name\"\u003ename\u003c/a\u003e, \u003ca href=\"#nixpkgs_java_configure-attribute_path\"\u003eattribute_path\u003c/a\u003e, \u003ca href=\"#nixpkgs_java_configure-java_home_path\"\u003ejava_home_path\u003c/a\u003e, \u003ca href=\"#nixpkgs_java_configure-repository\"\u003erepository\u003c/a\u003e, \u003ca href=\"#nixpkgs_java_configure-repositories\"\u003erepositories\u003c/a\u003e, \u003ca href=\"#nixpkgs_java_configure-nix_file\"\u003enix_file\u003c/a\u003e,\n                       \u003ca href=\"#nixpkgs_java_configure-nix_file_content\"\u003enix_file_content\u003c/a\u003e, \u003ca href=\"#nixpkgs_java_configure-nix_file_deps\"\u003enix_file_deps\u003c/a\u003e, \u003ca href=\"#nixpkgs_java_configure-nixopts\"\u003enixopts\u003c/a\u003e, \u003ca href=\"#nixpkgs_java_configure-fail_not_supported\"\u003efail_not_supported\u003c/a\u003e, \u003ca href=\"#nixpkgs_java_configure-quiet\"\u003equiet\u003c/a\u003e, \u003ca href=\"#nixpkgs_java_configure-toolchain\"\u003etoolchain\u003c/a\u003e,\n                       \u003ca href=\"#nixpkgs_java_configure-register\"\u003eregister\u003c/a\u003e, \u003ca href=\"#nixpkgs_java_configure-toolchain_name\"\u003etoolchain_name\u003c/a\u003e, \u003ca href=\"#nixpkgs_java_configure-toolchain_version\"\u003etoolchain_version\u003c/a\u003e, \u003ca href=\"#nixpkgs_java_configure-exec_constraints\"\u003eexec_constraints\u003c/a\u003e,\n                       \u003ca href=\"#nixpkgs_java_configure-target_constraints\"\u003etarget_constraints\u003c/a\u003e)\n\u003c/pre\u003e\n\nDefine a Java runtime provided by nixpkgs.\n\nCreates a `nixpkgs_package` for a `java_runtime` instance. Optionally,\nyou can also create \u0026 register a Java toolchain. This only works with Bazel \u003e= 5.0\nBazel can use this instance to run JVM binaries and tests, refer to the\n[Bazel documentation](https://docs.bazel.build/versions/4.0.0/bazel-and-java.html#configuring-the-jdk) for details.\n\n#### Example\n\n##### Bazel 4\n\nAdd the following to your `WORKSPACE` file to import a JDK from nixpkgs:\n```bzl\nload(\"@io_tweag_rules_nixpkgs//nixpkgs:nixpkgs.bzl\", \"nixpkgs_java_configure\")\nnixpkgs_java_configure(\n    attribute_path = \"jdk11.home\",\n    repository = \"@nixpkgs\",\n)\n```\n\nAdd the following configuration to `.bazelrc` to enable this Java runtime:\n```\nbuild --javabase=@nixpkgs_java_runtime//:runtime\nbuild --host_javabase=@nixpkgs_java_runtime//:runtime\n# Adjust this to match the Java version provided by this runtime.\n# See `bazel query 'kind(java_toolchain, @bazel_tools//tools/jdk:all)'` for available options.\nbuild --java_toolchain=@bazel_tools//tools/jdk:toolchain_java11\nbuild --host_java_toolchain=@bazel_tools//tools/jdk:toolchain_java11\n```\n\n##### Bazel 5\n\nAdd the following to your `WORKSPACE` file to import a JDK from nixpkgs:\n```bzl\nload(\"@io_tweag_rules_nixpkgs//nixpkgs:nixpkgs.bzl\", \"nixpkgs_java_configure\")\nnixpkgs_java_configure(\n    attribute_path = \"jdk11.home\",\n    repository = \"@nixpkgs\",\n    toolchain = True,\n    toolchain_name = \"nixpkgs_java\",\n    toolchain_version = \"11\",\n)\n```\n\nAdd the following configuration to `.bazelrc` to enable this Java runtime:\n```\nbuild --host_platform=@io_tweag_rules_nixpkgs//nixpkgs/platforms:host\nbuild --java_runtime_version=nixpkgs_java\nbuild --tool_java_runtime_version=nixpkgs_java\n```\n\n##### Bazel 6\n\n#### with with [Bzlmod](https://bazel.build/versions/6.5.0/external/overview#bzlmod)\n\nAdd the following to your `MODULE.bazel` file to depend on `rules_nixpkgs`, `rules_nixpkgs_java`, and nixpgks:\n```bzl\nbazel_dep(name = \"rules_nixpkgs_core\", version = \"0.13.0\")\nbazel_dep(name = \"rules_nixpkgs_java\", version = \"0.13.0\")\nbazel_dep(name = \"rules_java\", version = \"7.3.1\")\nbazel_dep(name = \"platforms\", version = \"0.0.9\")\n\nnix_repo = use_extension(\"@rules_nixpkgs_core//extensions:repository.bzl\", \"nix_repo\")\nnix_repo.github(\n    name = \"nixpkgs\",\n    org = \"NixOS\",\n    repo = \"nixpkgs\",\n    commit = \"ff0dbd94265ac470dda06a657d5fe49de93b4599\",\n    sha256 = \"1bf0f88ee9181dd993a38d73cb120d0435e8411ea9e95b58475d4426c0948e98\",\n)\nuse_repo(nix_repo, \"nixpkgs\")\n\nnon_module_dependencies = use_extension(\"//:non_module_dependencies.bzl\", \"non_module_dependencies\")\nuse_repo(non_module_dependencies, \"nixpkgs_java_runtime_toolchain\")\n\nregister_toolchains(\"@nixpkgs_java_runtime_toolchain//:all\")\n\narchive_override(\n    module_name = \"rules_nixpkgs_java\",\n    urls = \"https://github.com/tweag/rules_nixpkgs/releases/download/v0.13.0/rules_nixpkgs-0.13.0.tar.gz\",\n    integrity = \"\",\n    strip_prefix = \"rules_nixpkgs-0.13.0/toolchains/java\",\n)\n```\n\nAdd the following to a `.bzl` file, like `non_module_dependencies.bzl`, to import a JDK from nixpkgs:\n```bzl\nload(\"@rules_nixpkgs_java//:java.bzl\", \"nixpkgs_java_configure\")\n\ndef _non_module_dependencies_impl(_ctx):\n    nixpkgs_java_configure(\n        name = \"nixpkgs_java_runtime\",\n        attribute_path = \"openjdk19.home\",\n        repository = \"@nixpkgs\",\n        toolchain = True,\n        toolchain_name = \"nixpkgs_java\",\n        toolchain_version = \"19\",\n        register = False,\n    )\n\nnon_module_dependencies = module_extension(\n    implementation = _non_module_dependencies_impl,\n)\n```\n\nAdd the following configuration to `.bazelrc` to enable this Java runtime:\n```\ncommon --enable_bzlmod\nbuild --host_platform=@rules_nixpkgs_core//platforms:host\nbuild --java_runtime_version=nixpkgs_java_19\nbuild --tool_java_runtime_version=nixpkgs_java_19\nbuild --java_language_version=19\nbuild --tool_java_language_version=19\n```\n\n#### with `WORKSPACE`\n\nAdd the following to your `WORKSPACE` file to import a JDK from nixpkgs:\n```bzl\nload(\"@io_tweag_rules_nixpkgs//nixpkgs:nixpkgs.bzl\", \"nixpkgs_java_configure\")\nnixpkgs_java_configure(\n    attribute_path = \"jdk11.home\",\n    repository = \"@nixpkgs\",\n    toolchain = True,\n    toolchain_name = \"nixpkgs_java\",\n    toolchain_version = \"11\",\n)\n```\n\nAdd the following configuration to `.bazelrc` to enable this Java runtime:\n```\nbuild --host_platform=@io_tweag_rules_nixpkgs//nixpkgs/platforms:host\nbuild --java_runtime_version=nixpkgs_java_11\nbuild --tool_java_runtime_version=nixpkgs_java_11\nbuild --java_language_version=11\nbuild --tool_java_language_version=11\n```\n\n##### Bazel 7 with [Bzlmod](https://bazel.build/versions/7.0.0/external/overview#bzlmod)\n\nAdd the following to your `MODULE.bazel` file to depend on `rules_nixpkgs`, `rules_nixpkgs_java`, and nixpgks:\n```bzl\nbazel_dep(name = \"rules_nixpkgs_core\", version = \"0.13.0\")\nbazel_dep(name = \"rules_nixpkgs_java\", version = \"0.13.0\")\nbazel_dep(name = \"rules_java\", version = \"7.5.0\")\nbazel_dep(name = \"platforms\", version = \"0.0.9\")\n\nnix_repo = use_extension(\"@rules_nixpkgs_core//extensions:repository.bzl\", \"nix_repo\")\nnix_repo.github(\n    name = \"nixpkgs\",\n    org = \"NixOS\",\n    repo = \"nixpkgs\",\n    commit = \"ff0dbd94265ac470dda06a657d5fe49de93b4599\",\n    sha256 = \"1bf0f88ee9181dd993a38d73cb120d0435e8411ea9e95b58475d4426c0948e98\",\n)\nuse_repo(nix_repo, \"nixpkgs\")\n\nnon_module_dependencies = use_extension(\"//:non_module_dependencies.bzl\", \"non_module_dependencies\")\nuse_repo(non_module_dependencies, \"nixpkgs_java_runtime_toolchain\")\n\nregister_toolchains(\"@nixpkgs_java_runtime_toolchain//:all\")\n\narchive_override(\n    module_name = \"rules_nixpkgs_java\",\n    urls = \"https://github.com/tweag/rules_nixpkgs/releases/download/v0.13.0/rules_nixpkgs-0.13.0.tar.gz\",\n    integrity = \"\",\n    strip_prefix = \"rules_nixpkgs-0.13.0/toolchains/java\",\n)\n```\n\nAdd the following to a `.bzl` file, like `non_module_dependencies.bzl`, to import a JDK from nixpkgs:\n```bzl\nload(\"@rules_nixpkgs_java//:java.bzl\", \"nixpkgs_java_configure\")\n\ndef _non_module_dependencies_impl(_ctx):\n    nixpkgs_java_configure(\n        name = \"nixpkgs_java_runtime\",\n        attribute_path = \"openjdk19.home\",\n        repository = \"@nixpkgs\",\n        toolchain = True,\n        toolchain_name = \"nixpkgs_java\",\n        toolchain_version = \"19\",\n        register = False,\n    )\n\nnon_module_dependencies = module_extension(\n    implementation = _non_module_dependencies_impl,\n)\n```\n\nAdd the following configuration to `.bazelrc` to enable this Java runtime:\n```\nbuild --host_platform=@rules_nixpkgs_core//platforms:host\nbuild --java_runtime_version=nixpkgs_java_19\nbuild --tool_java_runtime_version=nixpkgs_java_19\nbuild --java_language_version=19\nbuild --tool_java_language_version=19\nbuild --extra_toolchains=@nixpkgs_java_runtime_toolchain//:all # necessary on NixOS only\n```\n\n\n#### Parameters\n\n\u003ctable class=\"params-table\"\u003e\n\u003ccolgroup\u003e\n\u003ccol class=\"col-param\" /\u003e\n\u003ccol class=\"col-description\" /\u003e\n\u003c/colgroup\u003e\n\u003ctbody\u003e\n\u003ctr id=\"nixpkgs_java_configure-name\"\u003e\n\u003ctd\u003e\u003ccode\u003ename\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e\"nixpkgs_java_runtime\"\u003c/code\u003e\n\n\u003cp\u003e\n\nThe name-prefix for the created external repositories.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_java_configure-attribute_path\"\u003e\n\u003ctd\u003e\u003ccode\u003eattribute_path\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nstring, The nixpkgs attribute path for `jdk.home`.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_java_configure-java_home_path\"\u003e\n\u003ctd\u003e\u003ccode\u003ejava_home_path\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e\"\"\u003c/code\u003e\n\n\u003cp\u003e\n\noptional, string, The path to `JAVA_HOME` within the package.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_java_configure-repository\"\u003e\n\u003ctd\u003e\u003ccode\u003erepository\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nSee [`nixpkgs_package`](#nixpkgs_package-repository).\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_java_configure-repositories\"\u003e\n\u003ctd\u003e\u003ccode\u003erepositories\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e{}\u003c/code\u003e\n\n\u003cp\u003e\n\nSee [`nixpkgs_package`](#nixpkgs_package-repositories).\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_java_configure-nix_file\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_file\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\noptional, Label, Obtain the runtime from the Nix expression defined in this file. Specify only one of `nix_file` or `nix_file_content`.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_java_configure-nix_file_content\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_file_content\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e\"\"\u003c/code\u003e\n\n\u003cp\u003e\n\noptional, string, Obtain the runtime from the given Nix expression. Specify only one of `nix_file` or `nix_file_content`.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_java_configure-nix_file_deps\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_file_deps\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nSee [`nixpkgs_package`](#nixpkgs_package-nix_file_deps).\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_java_configure-nixopts\"\u003e\n\u003ctd\u003e\u003ccode\u003enixopts\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e[]\u003c/code\u003e\n\n\u003cp\u003e\n\nSee [`nixpkgs_package`](#nixpkgs_package-nixopts).\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_java_configure-fail_not_supported\"\u003e\n\u003ctd\u003e\u003ccode\u003efail_not_supported\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eTrue\u003c/code\u003e\n\n\u003cp\u003e\n\nSee [`nixpkgs_package`](#nixpkgs_package-fail_not_supported).\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_java_configure-quiet\"\u003e\n\u003ctd\u003e\u003ccode\u003equiet\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eFalse\u003c/code\u003e\n\n\u003cp\u003e\n\nSee [`nixpkgs_package`](#nixpkgs_package-quiet).\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_java_configure-toolchain\"\u003e\n\u003ctd\u003e\u003ccode\u003etoolchain\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eFalse\u003c/code\u003e\n\n\u003cp\u003e\n\nCreate a Bazel toolchain based on the Java runtime.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_java_configure-register\"\u003e\n\u003ctd\u003e\u003ccode\u003eregister\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nRegister the created toolchain. Requires `toolchain` to be `True`. Defaults to the value of `toolchain`.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_java_configure-toolchain_name\"\u003e\n\u003ctd\u003e\u003ccode\u003etoolchain_name\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nThe name of the toolchain that can be used in --java_runtime_version.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_java_configure-toolchain_version\"\u003e\n\u003ctd\u003e\u003ccode\u003etoolchain_version\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nThe version of the toolchain that can be used in --java_runtime_version.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_java_configure-exec_constraints\"\u003e\n\u003ctd\u003e\u003ccode\u003eexec_constraints\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nConstraints for the execution platform.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_java_configure-target_constraints\"\u003e\n\u003ctd\u003e\u003ccode\u003etarget_constraints\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nConstraints for the target platform.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n\n\u003ca id=\"#nixpkgs_local_repository\"\u003e\u003c/a\u003e\n\n### nixpkgs_local_repository\n\n\u003cpre\u003e\nnixpkgs_local_repository(\u003ca href=\"#nixpkgs_local_repository-name\"\u003ename\u003c/a\u003e, \u003ca href=\"#nixpkgs_local_repository-nix_file\"\u003enix_file\u003c/a\u003e, \u003ca href=\"#nixpkgs_local_repository-nix_file_deps\"\u003enix_file_deps\u003c/a\u003e, \u003ca href=\"#nixpkgs_local_repository-nix_file_content\"\u003enix_file_content\u003c/a\u003e, \u003ca href=\"#nixpkgs_local_repository-nix_flake_lock_file\"\u003enix_flake_lock_file\u003c/a\u003e,\n                         \u003ca href=\"#nixpkgs_local_repository-kwargs\"\u003ekwargs\u003c/a\u003e)\n\u003c/pre\u003e\n\nCreate an external repository representing the content of Nixpkgs.\n\nBased on a Nix expression stored locally or provided inline. One of\n`nix_file` or `nix_file_content` must be provided.\n\n\n#### Parameters\n\n\u003ctable class=\"params-table\"\u003e\n\u003ccolgroup\u003e\n\u003ccol class=\"col-param\" /\u003e\n\u003ccol class=\"col-description\" /\u003e\n\u003c/colgroup\u003e\n\u003ctbody\u003e\n\u003ctr id=\"nixpkgs_local_repository-name\"\u003e\n\u003ctd\u003e\u003ccode\u003ename\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\nrequired.\n\n\u003cp\u003e\n\nString\n\nA unique name for this repository.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_local_repository-nix_file\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_file\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nLabel\n\nA file containing an expression for a Nix derivation.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_local_repository-nix_file_deps\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_file_deps\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nList of labels\n\nDependencies of `nix_file` if any.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_local_repository-nix_file_content\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_file_content\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nString\n\nAn expression for a Nix derivation.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_local_repository-nix_flake_lock_file\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_flake_lock_file\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nString\n\nA flake lock file that can be used on the provided nixpkgs repository.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_local_repository-kwargs\"\u003e\n\u003ctd\u003e\u003ccode\u003ekwargs\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\n\n\u003cp\u003e\n\nAdditional arguments to forward to the underlying repository rule.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n\n\u003ca id=\"#nixpkgs_nodejs_configure\"\u003e\u003c/a\u003e\n\n### nixpkgs_nodejs_configure\n\n\u003cpre\u003e\nnixpkgs_nodejs_configure(\u003ca href=\"#nixpkgs_nodejs_configure-name\"\u003ename\u003c/a\u003e, \u003ca href=\"#nixpkgs_nodejs_configure-attribute_path\"\u003eattribute_path\u003c/a\u003e, \u003ca href=\"#nixpkgs_nodejs_configure-repository\"\u003erepository\u003c/a\u003e, \u003ca href=\"#nixpkgs_nodejs_configure-repositories\"\u003erepositories\u003c/a\u003e, \u003ca href=\"#nixpkgs_nodejs_configure-nix_platform\"\u003enix_platform\u003c/a\u003e, \u003ca href=\"#nixpkgs_nodejs_configure-nix_file\"\u003enix_file\u003c/a\u003e,\n                         \u003ca href=\"#nixpkgs_nodejs_configure-nix_file_content\"\u003enix_file_content\u003c/a\u003e, \u003ca href=\"#nixpkgs_nodejs_configure-nix_file_deps\"\u003enix_file_deps\u003c/a\u003e, \u003ca href=\"#nixpkgs_nodejs_configure-nixopts\"\u003enixopts\u003c/a\u003e, \u003ca href=\"#nixpkgs_nodejs_configure-fail_not_supported\"\u003efail_not_supported\u003c/a\u003e, \u003ca href=\"#nixpkgs_nodejs_configure-quiet\"\u003equiet\u003c/a\u003e,\n                         \u003ca href=\"#nixpkgs_nodejs_configure-exec_constraints\"\u003eexec_constraints\u003c/a\u003e, \u003ca href=\"#nixpkgs_nodejs_configure-target_constraints\"\u003etarget_constraints\u003c/a\u003e, \u003ca href=\"#nixpkgs_nodejs_configure-register\"\u003eregister\u003c/a\u003e)\n\u003c/pre\u003e\n\n\n\n#### Parameters\n\n\u003ctable class=\"params-table\"\u003e\n\u003ccolgroup\u003e\n\u003ccol class=\"col-param\" /\u003e\n\u003ccol class=\"col-description\" /\u003e\n\u003c/colgroup\u003e\n\u003ctbody\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure-name\"\u003e\n\u003ctd\u003e\u003ccode\u003ename\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e\"nixpkgs_nodejs\"\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure-attribute_path\"\u003e\n\u003ctd\u003e\u003ccode\u003eattribute_path\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e\"nodejs\"\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure-repository\"\u003e\n\u003ctd\u003e\u003ccode\u003erepository\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure-repositories\"\u003e\n\u003ctd\u003e\u003ccode\u003erepositories\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e{}\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure-nix_platform\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_platform\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure-nix_file\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_file\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure-nix_file_content\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_file_content\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure-nix_file_deps\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_file_deps\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure-nixopts\"\u003e\n\u003ctd\u003e\u003ccode\u003enixopts\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e[]\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure-fail_not_supported\"\u003e\n\u003ctd\u003e\u003ccode\u003efail_not_supported\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eTrue\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure-quiet\"\u003e\n\u003ctd\u003e\u003ccode\u003equiet\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eFalse\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure-exec_constraints\"\u003e\n\u003ctd\u003e\u003ccode\u003eexec_constraints\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure-target_constraints\"\u003e\n\u003ctd\u003e\u003ccode\u003etarget_constraints\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure-register\"\u003e\n\u003ctd\u003e\u003ccode\u003eregister\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eTrue\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n\n\u003ca id=\"#nixpkgs_nodejs_configure_platforms\"\u003e\u003c/a\u003e\n\n### nixpkgs_nodejs_configure_platforms\n\n\u003cpre\u003e\nnixpkgs_nodejs_configure_platforms(\u003ca href=\"#nixpkgs_nodejs_configure_platforms-name\"\u003ename\u003c/a\u003e, \u003ca href=\"#nixpkgs_nodejs_configure_platforms-platforms_mapping\"\u003eplatforms_mapping\u003c/a\u003e, \u003ca href=\"#nixpkgs_nodejs_configure_platforms-attribute_path\"\u003eattribute_path\u003c/a\u003e, \u003ca href=\"#nixpkgs_nodejs_configure_platforms-repository\"\u003erepository\u003c/a\u003e,\n                                   \u003ca href=\"#nixpkgs_nodejs_configure_platforms-repositories\"\u003erepositories\u003c/a\u003e, \u003ca href=\"#nixpkgs_nodejs_configure_platforms-nix_platform\"\u003enix_platform\u003c/a\u003e, \u003ca href=\"#nixpkgs_nodejs_configure_platforms-nix_file\"\u003enix_file\u003c/a\u003e, \u003ca href=\"#nixpkgs_nodejs_configure_platforms-nix_file_content\"\u003enix_file_content\u003c/a\u003e,\n                                   \u003ca href=\"#nixpkgs_nodejs_configure_platforms-nix_file_deps\"\u003enix_file_deps\u003c/a\u003e, \u003ca href=\"#nixpkgs_nodejs_configure_platforms-nixopts\"\u003enixopts\u003c/a\u003e, \u003ca href=\"#nixpkgs_nodejs_configure_platforms-fail_not_supported\"\u003efail_not_supported\u003c/a\u003e, \u003ca href=\"#nixpkgs_nodejs_configure_platforms-quiet\"\u003equiet\u003c/a\u003e,\n                                   \u003ca href=\"#nixpkgs_nodejs_configure_platforms-exec_constraints\"\u003eexec_constraints\u003c/a\u003e, \u003ca href=\"#nixpkgs_nodejs_configure_platforms-target_constraints\"\u003etarget_constraints\u003c/a\u003e, \u003ca href=\"#nixpkgs_nodejs_configure_platforms-register\"\u003eregister\u003c/a\u003e, \u003ca href=\"#nixpkgs_nodejs_configure_platforms-kwargs\"\u003ekwargs\u003c/a\u003e)\n\u003c/pre\u003e\n\nRuns nixpkgs_nodejs_configure for each platform.\n\nSince rules_nodejs adds platform suffix to repository name, this can be helpful\nif one wants to use npm_install and reference js dependencies from npm repo.\nSee the example directory.\n\n\n#### Parameters\n\n\u003ctable class=\"params-table\"\u003e\n\u003ccolgroup\u003e\n\u003ccol class=\"col-param\" /\u003e\n\u003ccol class=\"col-description\" /\u003e\n\u003c/colgroup\u003e\n\u003ctbody\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure_platforms-name\"\u003e\n\u003ctd\u003e\u003ccode\u003ename\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e\"nixpkgs_nodejs\"\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure_platforms-platforms_mapping\"\u003e\n\u003ctd\u003e\u003ccode\u003eplatforms_mapping\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e{\"aarch64-darwin\": struct(exec_constraints = [\"@platforms//os:macos\", \"@platforms//cpu:arm64\"], rules_nodejs_platform = \"darwin_arm64\", target_constraints = [\"@platforms//os:macos\", \"@platforms//cpu:arm64\"]), \"x86_64-linux\": struct(exec_constraints = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"], rules_nodejs_platform = \"linux_amd64\", target_constraints = [\"@platforms//os:linux\", \"@platforms//cpu:x86_64\"]), \"x86_64-darwin\": struct(exec_constraints = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"], rules_nodejs_platform = \"darwin_amd64\", target_constraints = [\"@platforms//os:macos\", \"@platforms//cpu:x86_64\"]), \"aarch64-linux\": struct(exec_constraints = [\"@platforms//os:linux\", \"@platforms//cpu:arm64\"], rules_nodejs_platform = \"linux_arm64\", target_constraints = [\"@platforms//os:linux\", \"@platforms//cpu:arm64\"])}\u003c/code\u003e\n\n\u003cp\u003e\n\nstruct describing mapping between nix platform and rules_nodejs bazel platform with\ntarget and exec constraints\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure_platforms-attribute_path\"\u003e\n\u003ctd\u003e\u003ccode\u003eattribute_path\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e\"nodejs\"\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure_platforms-repository\"\u003e\n\u003ctd\u003e\u003ccode\u003erepository\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure_platforms-repositories\"\u003e\n\u003ctd\u003e\u003ccode\u003erepositories\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e{}\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure_platforms-nix_platform\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_platform\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure_platforms-nix_file\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_file\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure_platforms-nix_file_content\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_file_content\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure_platforms-nix_file_deps\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_file_deps\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure_platforms-nixopts\"\u003e\n\u003ctd\u003e\u003ccode\u003enixopts\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e[]\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure_platforms-fail_not_supported\"\u003e\n\u003ctd\u003e\u003ccode\u003efail_not_supported\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eTrue\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure_platforms-quiet\"\u003e\n\u003ctd\u003e\u003ccode\u003equiet\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eFalse\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure_platforms-exec_constraints\"\u003e\n\u003ctd\u003e\u003ccode\u003eexec_constraints\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure_platforms-target_constraints\"\u003e\n\u003ctd\u003e\u003ccode\u003etarget_constraints\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure_platforms-register\"\u003e\n\u003ctd\u003e\u003ccode\u003eregister\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eTrue\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_nodejs_configure_platforms-kwargs\"\u003e\n\u003ctd\u003e\u003ccode\u003ekwargs\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n\n\u003ca id=\"#nixpkgs_package\"\u003e\u003c/a\u003e\n\n### nixpkgs_package\n\n\u003cpre\u003e\nnixpkgs_package(\u003ca href=\"#nixpkgs_package-name\"\u003ename\u003c/a\u003e, \u003ca href=\"#nixpkgs_package-attribute_path\"\u003eattribute_path\u003c/a\u003e, \u003ca href=\"#nixpkgs_package-nix_file\"\u003enix_file\u003c/a\u003e, \u003ca href=\"#nixpkgs_package-nix_file_deps\"\u003enix_file_deps\u003c/a\u003e, \u003ca href=\"#nixpkgs_package-nix_file_content\"\u003enix_file_content\u003c/a\u003e, \u003ca href=\"#nixpkgs_package-repository\"\u003erepository\u003c/a\u003e,\n                \u003ca href=\"#nixpkgs_package-repositories\"\u003erepositories\u003c/a\u003e, \u003ca href=\"#nixpkgs_package-build_file\"\u003ebuild_file\u003c/a\u003e, \u003ca href=\"#nixpkgs_package-build_file_content\"\u003ebuild_file_content\u003c/a\u003e, \u003ca href=\"#nixpkgs_package-nixopts\"\u003enixopts\u003c/a\u003e, \u003ca href=\"#nixpkgs_package-quiet\"\u003equiet\u003c/a\u003e, \u003ca href=\"#nixpkgs_package-fail_not_supported\"\u003efail_not_supported\u003c/a\u003e,\n                \u003ca href=\"#nixpkgs_package-kwargs\"\u003ekwargs\u003c/a\u003e)\n\u003c/pre\u003e\n\nMake the content of a Nixpkgs package available in the Bazel workspace.\n\nIf `repositories` is not specified, you must provide a nixpkgs clone in `nix_file` or `nix_file_content`.\n\n\n#### Parameters\n\n\u003ctable class=\"params-table\"\u003e\n\u003ccolgroup\u003e\n\u003ccol class=\"col-param\" /\u003e\n\u003ccol class=\"col-description\" /\u003e\n\u003c/colgroup\u003e\n\u003ctbody\u003e\n\u003ctr id=\"nixpkgs_package-name\"\u003e\n\u003ctd\u003e\u003ccode\u003ename\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\nrequired.\n\n\u003cp\u003e\n\nA unique name for this repository.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_package-attribute_path\"\u003e\n\u003ctd\u003e\u003ccode\u003eattribute_path\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e\"\"\u003c/code\u003e\n\n\u003cp\u003e\n\nSelect an attribute from the top-level Nix expression being evaluated. The attribute path is a sequence of attribute names separated by dots.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_package-nix_file\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_file\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nA file containing an expression for a Nix derivation.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_package-nix_file_deps\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_file_deps\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e[]\u003c/code\u003e\n\n\u003cp\u003e\n\nDependencies of `nix_file` if any.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_package-nix_file_content\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_file_content\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e\"\"\u003c/code\u003e\n\n\u003cp\u003e\n\nAn expression for a Nix derivation.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_package-repository\"\u003e\n\u003ctd\u003e\u003ccode\u003erepository\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nA repository label identifying which Nixpkgs to use. Equivalent to `repositories = { \"nixpkgs\": ...}`\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_package-repositories\"\u003e\n\u003ctd\u003e\u003ccode\u003erepositories\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e{}\u003c/code\u003e\n\n\u003cp\u003e\n\nA dictionary mapping `NIX_PATH` entries to repository labels.\n\nSetting it to\n```\nrepositories = { \"myrepo\" : \"//:myrepo\" }\n```\nfor example would replace all instances of `\u003cmyrepo\u003e` in the called nix code by the path to the target `\"//:myrepo\"`. See the [relevant section in the nix manual](https://nixos.org/nix/manual/#env-NIX_PATH) for more information.\n\nSpecify one of `repository` or `repositories`.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_package-build_file\"\u003e\n\u003ctd\u003e\u003ccode\u003ebuild_file\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nThe file to use as the BUILD file for this repository.\n\nIts contents are copied into the file `BUILD` in root of the nix output folder. The Label does not need to be named `BUILD`, but can be.\n\nFor common use cases we provide filegroups that expose certain files as targets:\n\n\u003cdl\u003e\n  \u003cdt\u003e\u003ccode\u003e:bin\u003c/code\u003e\u003c/dt\u003e\n  \u003cdd\u003eEverything in the \u003ccode\u003ebin/\u003c/code\u003e directory.\u003c/dd\u003e\n  \u003cdt\u003e\u003ccode\u003e:lib\u003c/code\u003e\u003c/dt\u003e\n  \u003cdd\u003eAll \u003ccode\u003e.so\u003c/code\u003e, \u003ccode\u003e.dylib\u003c/code\u003e and \u003ccode\u003e.a\u003c/code\u003e files that can be found in subdirectories of \u003ccode\u003elib/\u003c/code\u003e.\u003c/dd\u003e\n  \u003cdt\u003e\u003ccode\u003e:include\u003c/code\u003e\u003c/dt\u003e\n  \u003cdd\u003eAll \u003ccode\u003e.h\u003c/code\u003e, \u003ccode\u003e.hh\u003c/code\u003e, \u003ccode\u003e.hpp\u003c/code\u003e and \u003ccode\u003e.hxx\u003c/code\u003e files that can be found in subdirectories of \u003ccode\u003einclude/\u003c/code\u003e.\u003c/dd\u003e\n\u003c/dl\u003e\n\nIf you need different files from the nix package, you can reference them like this:\n```\npackage(default_visibility = [ \"//visibility:public\" ])\nfilegroup(\n    name = \"our-docs\",\n    srcs = glob([\"share/doc/ourpackage/**/*\"]),\n)\n```\nSee the bazel documentation of [`filegroup`](https://docs.bazel.build/versions/master/be/general.html#filegroup) and [`glob`](https://docs.bazel.build/versions/master/be/functions.html#glob).\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_package-build_file_content\"\u003e\n\u003ctd\u003e\u003ccode\u003ebuild_file_content\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e\"\"\u003c/code\u003e\n\n\u003cp\u003e\n\nLike `build_file`, but a string of the contents instead of a file name.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_package-nixopts\"\u003e\n\u003ctd\u003e\u003ccode\u003enixopts\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e[]\u003c/code\u003e\n\n\u003cp\u003e\n\nExtra flags to pass when calling Nix.\n\nSubject to location expansion, any instance of `$(location LABEL)` will be replaced by the path to the file referenced by `LABEL` relative to the workspace root.\n\nNote, labels to external workspaces will resolve to paths that contain `~` characters if the Bazel flag `--enable_bzlmod` is true. Nix does not support `~` characters in path literals at the time of writing, see [#7742](https://github.com/NixOS/nix/issues/7742). Meaning, the result of location expansion may not form a valid Nix path literal. Use `./$${\"$(location @for//:example)\"}` to work around this limitation if you need to pass a path argument via `--arg`, or pass the resulting path as a string value using `--argstr` and combine it with an additional `--arg workspace_root ./.` argument using `workspace_root + (\"/\" + path_str)`.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_package-quiet\"\u003e\n\u003ctd\u003e\u003ccode\u003equiet\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eFalse\u003c/code\u003e\n\n\u003cp\u003e\n\nWhether to hide the output of the Nix command.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_package-fail_not_supported\"\u003e\n\u003ctd\u003e\u003ccode\u003efail_not_supported\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eTrue\u003c/code\u003e\n\n\u003cp\u003e\n\nIf set to `True` (default) this rule will fail on platforms which do not support Nix (e.g. Windows). If set to `False` calling this rule will succeed but no output will be generated.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_package-kwargs\"\u003e\n\u003ctd\u003e\u003ccode\u003ekwargs\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n\n\u003ca id=\"#nixpkgs_python_configure\"\u003e\u003c/a\u003e\n\n### nixpkgs_python_configure\n\n\u003cpre\u003e\nnixpkgs_python_configure(\u003ca href=\"#nixpkgs_python_configure-name\"\u003ename\u003c/a\u003e, \u003ca href=\"#nixpkgs_python_configure-python3_attribute_path\"\u003epython3_attribute_path\u003c/a\u003e, \u003ca href=\"#nixpkgs_python_configure-python3_bin_path\"\u003epython3_bin_path\u003c/a\u003e, \u003ca href=\"#nixpkgs_python_configure-repository\"\u003erepository\u003c/a\u003e, \u003ca href=\"#nixpkgs_python_configure-repositories\"\u003erepositories\u003c/a\u003e,\n                         \u003ca href=\"#nixpkgs_python_configure-nix_file_deps\"\u003enix_file_deps\u003c/a\u003e, \u003ca href=\"#nixpkgs_python_configure-nixopts\"\u003enixopts\u003c/a\u003e, \u003ca href=\"#nixpkgs_python_configure-fail_not_supported\"\u003efail_not_supported\u003c/a\u003e, \u003ca href=\"#nixpkgs_python_configure-quiet\"\u003equiet\u003c/a\u003e, \u003ca href=\"#nixpkgs_python_configure-exec_constraints\"\u003eexec_constraints\u003c/a\u003e,\n                         \u003ca href=\"#nixpkgs_python_configure-target_constraints\"\u003etarget_constraints\u003c/a\u003e, \u003ca href=\"#nixpkgs_python_configure-register\"\u003eregister\u003c/a\u003e)\n\u003c/pre\u003e\n\nDefine and register a Python toolchain provided by nixpkgs.\n\nCreates `nixpkgs_package`s for Python 2 or 3 `py_runtime` instances and a\ncorresponding `py_runtime_pair` and `toolchain`. The toolchain is\nautomatically registered and uses the constraint:\n\n```\n\"@io_tweag_rules_nixpkgs//nixpkgs/constraints:support_nix\"\n```\n\n\n#### Parameters\n\n\u003ctable class=\"params-table\"\u003e\n\u003ccolgroup\u003e\n\u003ccol class=\"col-param\" /\u003e\n\u003ccol class=\"col-description\" /\u003e\n\u003c/colgroup\u003e\n\u003ctbody\u003e\n\u003ctr id=\"nixpkgs_python_configure-name\"\u003e\n\u003ctd\u003e\u003ccode\u003ename\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e\"nixpkgs_python_toolchain\"\u003c/code\u003e\n\n\u003cp\u003e\n\nThe name-prefix for the created external repositories.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_python_configure-python3_attribute_path\"\u003e\n\u003ctd\u003e\u003ccode\u003epython3_attribute_path\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e\"python3\"\u003c/code\u003e\n\n\u003cp\u003e\n\nThe nixpkgs attribute path for python3.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_python_configure-python3_bin_path\"\u003e\n\u003ctd\u003e\u003ccode\u003epython3_bin_path\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e\"bin/python\"\u003c/code\u003e\n\n\u003cp\u003e\n\nThe path to the interpreter within the package.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_python_configure-repository\"\u003e\n\u003ctd\u003e\u003ccode\u003erepository\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nSee [`nixpkgs_package`](#nixpkgs_package-repository).\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_python_configure-repositories\"\u003e\n\u003ctd\u003e\u003ccode\u003erepositories\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e{}\u003c/code\u003e\n\n\u003cp\u003e\n\nSee [`nixpkgs_package`](#nixpkgs_package-repositories).\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_python_configure-nix_file_deps\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_file_deps\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nSee [`nixpkgs_package`](#nixpkgs_package-nix_file_deps).\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_python_configure-nixopts\"\u003e\n\u003ctd\u003e\u003ccode\u003enixopts\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e[]\u003c/code\u003e\n\n\u003cp\u003e\n\nSee [`nixpkgs_package`](#nixpkgs_package-nixopts).\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_python_configure-fail_not_supported\"\u003e\n\u003ctd\u003e\u003ccode\u003efail_not_supported\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eTrue\u003c/code\u003e\n\n\u003cp\u003e\n\nSee [`nixpkgs_package`](#nixpkgs_package-fail_not_supported).\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_python_configure-quiet\"\u003e\n\u003ctd\u003e\u003ccode\u003equiet\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eFalse\u003c/code\u003e\n\n\u003cp\u003e\n\nSee [`nixpkgs_package`](#nixpkgs_package-quiet).\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_python_configure-exec_constraints\"\u003e\n\u003ctd\u003e\u003ccode\u003eexec_constraints\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nConstraints for the execution platform.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_python_configure-target_constraints\"\u003e\n\u003ctd\u003e\u003ccode\u003etarget_constraints\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nConstraints for the target platform.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_python_configure-register\"\u003e\n\u003ctd\u003e\u003ccode\u003eregister\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eTrue\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n\n\u003ca id=\"#nixpkgs_python_repository\"\u003e\u003c/a\u003e\n\n### nixpkgs_python_repository\n\n\u003cpre\u003e\nnixpkgs_python_repository(\u003ca href=\"#nixpkgs_python_repository-name\"\u003ename\u003c/a\u003e, \u003ca href=\"#nixpkgs_python_repository-repository\"\u003erepository\u003c/a\u003e, \u003ca href=\"#nixpkgs_python_repository-repositories\"\u003erepositories\u003c/a\u003e, \u003ca href=\"#nixpkgs_python_repository-nix_file\"\u003enix_file\u003c/a\u003e, \u003ca href=\"#nixpkgs_python_repository-nix_file_deps\"\u003enix_file_deps\u003c/a\u003e, \u003ca href=\"#nixpkgs_python_repository-quiet\"\u003equiet\u003c/a\u003e)\n\u003c/pre\u003e\n\nDefine a collection of python packages based on a nix file.\n\nThe only entry point is a [`nix_file`](#nixpkgs_python_repository-nix_file)\nwhich should expose a `pkgs` and a `python` attributes. `python` is the\npython interpreter, and `pkgs` a set of python packages that will be made\navailable to bazel.\n\n:warning: All the packages in `pkgs` are built by this rule. It is\ntherefore not a good idea to expose something as big as `pkgs.python3` as\nprovided by nixpkgs.\n\nThis rule is instead intended to expose an ad-hoc set of packages for your\nproject, as can be built by poetry2nix, mach-nix, dream2nix or by manually\npicking the python packages you need from nixpkgs.\n\nThe format is generic to support the many ways to generate such packages\nsets with nixpkgs. See our python [`tests`](/testing/toolchains/python) and\n[`examples`](/examples/toolchains/python) to get started.\n\nThis rule is intended to mimic as closely as possible the [rules_python\nAPI](https://github.com/bazelbuild/rules_python#using-the-package-installation-rules).\n`nixpkgs_python_repository` should be a drop-in replacement of `pip_parse`.\nAs such, it also provides a `requirement` function.\n\n:warning: Using the `requirement` fucntion inherits the same advantages and\nlimitations as the one in rules_python. All the function does is create a\nlabel of the form `@{nixpkgs_python_repository_name}//:{package_name}`.\nWhile depending on such a label directly will work, the layout may change\nin the future. To be on the safe side, define and import your own\n`requirement` function if you need to play with these labels.\n\n:warning: Just as with rules_python, nothing is done to enforce consistency\nbetween the version of python used to generate this repository and the one\nconfigured in your toolchain, even if you use nixpkgs_python_toolchain. You\nshould ensure they both use the same python from the same nixpkgs version.\n\n:warning: packages names exposed by this rule are determined by the `pname`\nattribute of the corresponding nix package. These may vary slightly from\nnames used by rules_python. Should this be a problem, you can provide you\nown `requirement` function, for example one that lowercases its argument.\n\n\n#### Parameters\n\n\u003ctable class=\"params-table\"\u003e\n\u003ccolgroup\u003e\n\u003ccol class=\"col-param\" /\u003e\n\u003ccol class=\"col-description\" /\u003e\n\u003c/colgroup\u003e\n\u003ctbody\u003e\n\u003ctr id=\"nixpkgs_python_repository-name\"\u003e\n\u003ctd\u003e\u003ccode\u003ename\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\nrequired.\n\n\u003cp\u003e\n\nThe name for the created package set.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_python_repository-repository\"\u003e\n\u003ctd\u003e\u003ccode\u003erepository\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nSee [`nixpkgs_package`](#nixpkgs_package-repository).\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_python_repository-repositories\"\u003e\n\u003ctd\u003e\u003ccode\u003erepositories\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e{}\u003c/code\u003e\n\n\u003cp\u003e\n\nSee [`nixpkgs_package`](#nixpkgs_package-repositories).\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_python_repository-nix_file\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_file\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nSee [`nixpkgs_package`](#nixpkgs_package-nix_file).\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_python_repository-nix_file_deps\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_file_deps\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e[]\u003c/code\u003e\n\n\u003cp\u003e\n\nSee [`nixpkgs_package`](#nixpkgs_package-nix_file_deps).\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_python_repository-quiet\"\u003e\n\u003ctd\u003e\u003ccode\u003equiet\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eFalse\u003c/code\u003e\n\n\u003cp\u003e\n\nSee [`nixpkgs_package`](#nixpkgs_package-quiet).\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n\n\u003ca id=\"#nixpkgs_rust_configure\"\u003e\u003c/a\u003e\n\n### nixpkgs_rust_configure\n\n\u003cpre\u003e\nnixpkgs_rust_configure(\u003ca href=\"#nixpkgs_rust_configure-name\"\u003ename\u003c/a\u003e, \u003ca href=\"#nixpkgs_rust_configure-default_edition\"\u003edefault_edition\u003c/a\u003e, \u003ca href=\"#nixpkgs_rust_configure-repository\"\u003erepository\u003c/a\u003e, \u003ca href=\"#nixpkgs_rust_configure-repositories\"\u003erepositories\u003c/a\u003e, \u003ca href=\"#nixpkgs_rust_configure-nix_file\"\u003enix_file\u003c/a\u003e, \u003ca href=\"#nixpkgs_rust_configure-nix_file_deps\"\u003enix_file_deps\u003c/a\u003e,\n                       \u003ca href=\"#nixpkgs_rust_configure-nix_file_content\"\u003enix_file_content\u003c/a\u003e, \u003ca href=\"#nixpkgs_rust_configure-nixopts\"\u003enixopts\u003c/a\u003e, \u003ca href=\"#nixpkgs_rust_configure-fail_not_supported\"\u003efail_not_supported\u003c/a\u003e, \u003ca href=\"#nixpkgs_rust_configure-quiet\"\u003equiet\u003c/a\u003e, \u003ca href=\"#nixpkgs_rust_configure-exec_constraints\"\u003eexec_constraints\u003c/a\u003e,\n                       \u003ca href=\"#nixpkgs_rust_configure-target_constraints\"\u003etarget_constraints\u003c/a\u003e, \u003ca href=\"#nixpkgs_rust_configure-register\"\u003eregister\u003c/a\u003e)\n\u003c/pre\u003e\n\n\n\n#### Parameters\n\n\u003ctable class=\"params-table\"\u003e\n\u003ccolgroup\u003e\n\u003ccol class=\"col-param\" /\u003e\n\u003ccol class=\"col-description\" /\u003e\n\u003c/colgroup\u003e\n\u003ctbody\u003e\n\u003ctr id=\"nixpkgs_rust_configure-name\"\u003e\n\u003ctd\u003e\u003ccode\u003ename\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e\"nixpkgs_rust\"\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_rust_configure-default_edition\"\u003e\n\u003ctd\u003e\u003ccode\u003edefault_edition\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e\"2018\"\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_rust_configure-repository\"\u003e\n\u003ctd\u003e\u003ccode\u003erepository\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_rust_configure-repositories\"\u003e\n\u003ctd\u003e\u003ccode\u003erepositories\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e{}\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_rust_configure-nix_file\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_file\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_rust_configure-nix_file_deps\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_file_deps\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_rust_configure-nix_file_content\"\u003e\n\u003ctd\u003e\u003ccode\u003enix_file_content\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_rust_configure-nixopts\"\u003e\n\u003ctd\u003e\u003ccode\u003enixopts\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e[]\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_rust_configure-fail_not_supported\"\u003e\n\u003ctd\u003e\u003ccode\u003efail_not_supported\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eTrue\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_rust_configure-quiet\"\u003e\n\u003ctd\u003e\u003ccode\u003equiet\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eFalse\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_rust_configure-exec_constraints\"\u003e\n\u003ctd\u003e\u003ccode\u003eexec_constraints\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_rust_configure-target_constraints\"\u003e\n\u003ctd\u003e\u003ccode\u003etarget_constraints\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_rust_configure-register\"\u003e\n\u003ctd\u003e\u003ccode\u003eregister\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eTrue\u003c/code\u003e\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n\n\u003ca id=\"#nixpkgs_sh_posix_configure\"\u003e\u003c/a\u003e\n\n### nixpkgs_sh_posix_configure\n\n\u003cpre\u003e\nnixpkgs_sh_posix_configure(\u003ca href=\"#nixpkgs_sh_posix_configure-name\"\u003ename\u003c/a\u003e, \u003ca href=\"#nixpkgs_sh_posix_configure-packages\"\u003epackages\u003c/a\u003e, \u003ca href=\"#nixpkgs_sh_posix_configure-exec_constraints\"\u003eexec_constraints\u003c/a\u003e, \u003ca href=\"#nixpkgs_sh_posix_configure-register\"\u003eregister\u003c/a\u003e, \u003ca href=\"#nixpkgs_sh_posix_configure-kwargs\"\u003ekwargs\u003c/a\u003e)\n\u003c/pre\u003e\n\nCreate a POSIX toolchain from nixpkgs.\n\nLoads the given Nix packages, scans them for standard Unix tools, and\ngenerates a corresponding `sh_posix_toolchain`.\n\nMake sure to call `nixpkgs_sh_posix_configure` before `sh_posix_configure`,\nif you use both. Otherwise, the local toolchain will always be chosen in\nfavor of the nixpkgs one.\n\n\n#### Parameters\n\n\u003ctable class=\"params-table\"\u003e\n\u003ccolgroup\u003e\n\u003ccol class=\"col-param\" /\u003e\n\u003ccol class=\"col-description\" /\u003e\n\u003c/colgroup\u003e\n\u003ctbody\u003e\n\u003ctr id=\"nixpkgs_sh_posix_configure-name\"\u003e\n\u003ctd\u003e\u003ccode\u003ename\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e\"nixpkgs_sh_posix_config\"\u003c/code\u003e\n\n\u003cp\u003e\n\nName prefix for the generated repositories.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_sh_posix_configure-packages\"\u003e\n\u003ctd\u003e\u003ccode\u003epackages\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003e[\"stdenv.initialPath\"]\u003c/code\u003e\n\n\u003cp\u003e\n\nList of Nix attribute paths to draw Unix tools from.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_sh_posix_configure-exec_constraints\"\u003e\n\u003ctd\u003e\u003ccode\u003eexec_constraints\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eNone\u003c/code\u003e\n\n\u003cp\u003e\n\nConstraints for the execution platform.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_sh_posix_configure-register\"\u003e\n\u003ctd\u003e\u003ccode\u003eregister\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\ndefault is \u003ccode\u003eTrue\u003c/code\u003e\n\n\u003cp\u003e\n\nAutomatically register the generated toolchain if set to True.\n\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr id=\"nixpkgs_sh_posix_configure-kwargs\"\u003e\n\u003ctd\u003e\u003ccode\u003ekwargs\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\n\noptional.\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftweag%2Frules_nixpkgs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftweag%2Frules_nixpkgs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftweag%2Frules_nixpkgs/lists"}