!QCCCSJHEsTIfozrZxz:nixos.org

Nix + Go

217 Members
Go packaging for and with Nixpkgs. | Be excellent to each other.45 Servers

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


SenderMessageTime
5 Jun 2025
@s_r:matrix.org@s_r:matrix.org I do nix develop on the package that I'm building, with the working path being the source of that package 06:43:58
@diamondburned:matrix.orgdiamond (it/its) yeah don't do that; just use a regular devShell containing your dependencies 06:44:24
@s_r:matrix.org@s_r:matrix.orgYeah, but for the actual derivation I don't want to commit the vendor directory. I can obviously gitignore it, but then I need to remember to update the vendorHash before merging. Nothing of that is unsurmountable in any way, but it feels like a slightly awkward workflow, compared to how I would work in other languages.06:47:01
@s_r:matrix.org@s_r:matrix.org(not complaining, to be clear, just trying to figure out if there are better ways to work with go in nix)06:47:52
@s_r:matrix.org@s_r:matrix.orgWhat do you mean with "regular devShell"?06:52:58
@diamondburned:matrix.orgdiamond (it/its) what other languages do you not need to also have a vendorHash for? 06:53:57
@diamondburned:matrix.orgdiamond (it/its)i know go, rust and node by default require those06:54:20
@diamondburned:matrix.orgdiamond (it/its)and that's like a lot06:54:25
@diamondburned:matrix.orgdiamond (it/its) just a devShells.default = pkgs.mkShell instead of using your package's build env 06:54:43
@s_r:matrix.org@s_r:matrix.orgI don't use it for haskell, python, c, ...06:54:57
@diamondburned:matrix.orgdiamond (it/its)because the Go build env in Nix sets some extra env vars that you don't want to use for deevlopment06:54:57
@diamondburned:matrix.orgdiamond (it/its)for haskell and C you're basically kind of using Nix as a build tool and dependency management system already06:55:20
@s_r:matrix.org@s_r:matrix.org for those you get the dependencies in buildInputs 06:55:29

Show newer messages


Back to Room ListRoom Version: 9