Nix + Go | 237 Members | |
| Go packaging for and with Nixpkgs. | Be excellent to each other. | 50 Servers |
| Sender | Message | Time |
|---|---|---|
| 10 May 2024 | ||
| 12:26:08 | ||
| 11 May 2024 | ||
| Hello, bit new here (with nix too). I would like to ask if somebody could clarify for me how do I add a runtimeInput to a go package? I understand that this is not a Go issue as per-say, but rather more flakes/derivation problem. I use gomod2nix with flake. All works good except that I have a cmd line tool that my go program needs to call. I would like my flake to specify this dependency just like | 08:03:58 | |
| * Hello, bit new here (with nix too). I would like to ask if somebody could clarify for me how do I add a runtimeInput to a go package? I understand that this is not a Go issue as per-say, but rather more flakes/derivation problem. I use gomod2nix with flake. All works good except that I have a cmd line tool that my go program needs to call. I would like my flake to specify this dependency just like Edit: the project: https://github.com/brumik/bw-setup-secrets/ | 08:05:22 | |
In reply to @brumik1:matrix.orgyou want to add a hook that calls wrapProgram on your binary to wrap it around a shell script that appends the PATH variable appropriately | 09:52:33 | |
| you may want to try using postInstall maybe | 09:54:14 | |
| Thank you for the answer! PostInstall is part of mkDerivation right? Can I do there | 10:10:31 | |
`nixbuildGoModule { // ... shellHook = } | 23:26:15 | |
| omg | 23:26:17 | |
| 23:27:48 | |
| 23:28:15 | |
| 23:30:54 | ||
| I like to do this by having the go program run things by absolute path. You can set this up by taking the binary name from a global and then overriding it with linker flags | 23:45:28 | |
| e.g. https://github.com/dnr/nix-sandwich/blob/main/default.nix#L14-L20 | 23:45:36 | |
| 12 May 2024 | ||
| woah | 00:02:50 | |
| why? | 00:02:50 | |
| this is a really cool project though | 00:03:34 | |
| I might be mistaken here, but shellHook isnt supposed to be run when entering the shell instead when you build the package? | 09:32:57 | |
| I do agree the project is really cool dnr! | 09:34:27 | |
I ended up with using postFixup. I hope it is not antipattern | 09:47:03 | |
In reply to @diamondburned:matrix.orgYou mean why do it that way? It just seems cleaner to me than using a wrapper. There's just one binary and no script. The disadvantage I guess is that you can't override things by messing with PATH and calling the wrapped binary directly | 19:05:41 | |
| And thanks. I've actually been working on an even better version of that idea. I'm planning to announce it soon | 19:07:55 | |
| 13 May 2024 | ||
| 14:45:38 | ||
| 14 May 2024 | ||
| 07:25:31 | ||
| 10:31:33 | ||
| 10:49:24 | ||
| 15 May 2024 | ||
| 12:00:55 | ||
hi! I'm trying to run guac. made a first stab at it in https://github.com/raboof/guac/commit/b4251b9719e98e2a8b689088d71304d36250019d , but building it gives me some errors like cannot find module providing package github.com/aws/aws-sdk-go-v2/aws/protocol/xml: import lookup disabled by -mod=vendor. Indeed they don't seem to be in the gomod2nix.toml generated by gomod2nix generate. Any ideas what could be the matter? | 12:02:48 | |
github.com/aws/aws-sdk-go-v2/aws/protocol/xml indeed isn't in go.sum, even after go mod tidy | 12:36:45 | |
In reply to @raboof:matrix.orgWell, that's not a module but a package, right? https://github.com/aws/aws-sdk-go-v2/tree/v1.26.1/aws/protocol/xml Seems to belong to the module github.com/aws/aws-sdk-go-v2 | 12:46:41 | |
| gotcha - sorry, my go is rusty (no pun intended 😆). that's a good lead, digging further. | 13:05:20 | |