!QCCCSJHEsTIfozrZxz:nixos.org

Nix + Go

219 Members
Go packaging for and with Nixpkgs. | Be excellent to each other.46 Servers

You have reached the beginning of time (for this room).


SenderMessageTime
15 Jan 2024
@fionera:matrix.orgfionera * Hi, I am currently migrating a software I maintain to nix and I am wondering what the best practice for a repository with multiple go binaries but one go.mod would be14:18:35
@qbit:tapenet.org@qbit:tapenet.org fionera: hi! 14:19:20
@qbit:tapenet.org@qbit:tapenet.orgthere's a subPackages opiton you can set that list all the various places things live14:19:36
@qbit:tapenet.org@qbit:tapenet.org for buildGoModule 14:19:51
@fionera:matrix.orgfionerabut how would I package it without having to set the vendor hash every time? :D14:20:05
@qbit:tapenet.org@qbit:tapenet.org by default it builds ./... 14:20:12
@qbit:tapenet.org@qbit:tapenet.orguh, you should only have to set it once for every change of deps14:20:24
@qbit:tapenet.org@qbit:tapenet.orgdo you have external C deps? 14:20:30
@qbit:tapenet.org@qbit:tapenet.org if so you will need to set proxyVendor = true; or the hash can change every build 14:20:49
@fionera:matrix.orgfioneraNo but I hoped to even skip the initial pinning :D14:20:49
@fionera:matrix.orgfioneraI am migrating vom bazel to nix 14:21:08
@qbit:tapenet.org@qbit:tapenet.orgonly way to do that is to have your stuff vendor'd already 14:21:14
@qbit:tapenet.org@qbit:tapenet.org as in go mod vendor; git add vindor; git commit ... etc 14:21:26
@qbit:tapenet.org@qbit:tapenet.organd then cut a new release14:21:32
@qbit:tapenet.org@qbit:tapenet.orgnot ideal14:21:34
@fionera:matrix.orgfionerayeah vendoring isnt possible as I am importing k8s and friends14:21:52
@qbit:tapenet.org@qbit:tapenet.org typically you just have src.hash = "" and vendorHash = "", then run nix-build 2x 14:22:13
@qbit:tapenet.org@qbit:tapenet.orgfilling in the hashes as they come14:22:17
@fionera:matrix.orgfioneraok :D Thank you very much :)14:23:01
@qbit:tapenet.org@qbit:tapenet.orgnp!14:24:43
@katexochen:matrix.orgPaul Meyer (katexochen) fionera: or use nix-update, for example nix-update --version=skip --flake <package-attr> will update the vendor hash of a local package. 14:55:58
@katexochen:matrix.orgPaul Meyer (katexochen) * fionera: or use nix-update, for example nix-update --version=skip --flake <package-attr> will update the vendor hash of a local package in a nix flake. 14:56:12
@katexochen:matrix.orgPaul Meyer (katexochen) * fionera: or use nix-update, for example nix-update --version=skip --flake <package-attr> will update the vendor hash of a local package in a nix flake. 15:18:17

Show newer messages


Back to Room ListRoom Version: 9