-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMODULE.bazel
More file actions
64 lines (55 loc) · 2.44 KB
/
Copy pathMODULE.bazel
File metadata and controls
64 lines (55 loc) · 2.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# =============================================================================
# MODULE.bazel - Bazel Module for prompt-pulse
# =============================================================================
# Standalone Bazel module for shell monitoring dashboard.
# Uses rules_nixpkgs for hermetic Go toolchain from Nix.
# =============================================================================
module(
name = "prompt_pulse",
version = "0.2.0",
compatibility_level = 1,
)
# Core dependencies
bazel_dep(name = "rules_nixpkgs_core", version = "0.12.0")
bazel_dep(name = "rules_nixpkgs_go", version = "0.12.0")
bazel_dep(name = "rules_nixpkgs_cc", version = "0.12.0")
bazel_dep(name = "rules_go", version = "0.46.0")
bazel_dep(name = "rules_cc", version = "0.0.9")
bazel_dep(name = "bazel_skylib", version = "1.5.0")
bazel_dep(name = "platforms", version = "0.0.8")
bazel_dep(name = "gazelle", version = "0.37.0")
# =============================================================================
# Nix Toolchains
# =============================================================================
nixpkgs = use_extension("@rules_nixpkgs_core//extensions:nixpkgs.bzl", "nixpkgs")
nixpkgs.default(name = "nixpkgs", nix_file_content = """
import (builtins.fetchTarball {
name = "nixpkgs-24.11";
url = "https://github.com/NixOS/nixpkgs/archive/nixos-24.11.tar.gz";
}) {}
""")
use_repo(nixpkgs, "nixpkgs")
# Go toolchain from Nix (Go 1.24 - prompt-pulse requires latest Go)
nixpkgs_go = use_extension("@rules_nixpkgs_go//extensions:go.bzl", "nixpkgs_go")
nixpkgs_go.configure(
name = "nixpkgs_go_toolchain",
repository = "@nixpkgs",
attribute_path = "go_1_24",
)
use_repo(nixpkgs_go, "nixpkgs_go_toolchain")
register_toolchains("@nixpkgs_go_toolchain//:toolchain")
# C/C++ toolchain from Nix
nixpkgs_cc = use_extension("@rules_nixpkgs_cc//extensions:cc.bzl", "nixpkgs_cc")
nixpkgs_cc.configure(
name = "nixpkgs_cc_toolchain",
repository = "@nixpkgs",
)
use_repo(nixpkgs_cc, "nixpkgs_cc_toolchain")
register_toolchains("@nixpkgs_cc_toolchain//:toolchain")
# =============================================================================
# Go Dependencies
# =============================================================================
go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk")
go_sdk.from_file(go_mod = "//:go.mod")
go_deps = use_extension("@gazelle//:extensions.bzl", "go_deps")
go_deps.from_file(go_mod = "//:go.mod")