!QCCCSJHEsTIfozrZxz:nixos.org

Nix + Go

222 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
5 Jun 2025
@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
@diamondburned:matrix.orgdiamond (it/its)same for Python unless you use like Poetry06:55:30
@diamondburned:matrix.orgdiamond (it/its)you can theoretically package Go modules up as Nix derivations but like why when the language has already good dependency management on its own06:56:04
@diamondburned:matrix.orgdiamond (it/its)you'd rather just use the good dependency management and put it behind a fixed-output derivation06:56:19
@diamondburned:matrix.orgdiamond (it/its)at least for now until Nix has something better to deal with it06:56:25
@s_r:matrix.org@s_r:matrix.orgThat's fine, I'm not against using vendor :)06:56:38
@s_r:matrix.org@s_r:matrix.org does mkShell for go pull the module dependencies in? 06:57:39

Show newer messages


Back to Room ListRoom Version: 9