lingo.lol is one of the many independent Mastodon servers you can use to participate in the fediverse.
A place for linguists, philologists, and other lovers of languages.

Server stats:

70
active users

#Nix

11 posts11 participants0 posts today
Replied in thread

@katzenmann @nixos_org One of the hurdles is stabilizing an underlying feature like fetchTree. @domenkozar is doing some great work on that with an alternate implementation of it in #SNix, exposing some of the unfortunate choices that all #Nix implementations should backtrack on.

This may lead to a small change in behavior in Flakes that would not be considered acceptable normally for non-experimental parts of Nix, but will be necessary in order to fix various problems that exist within Flakes.

For a user of Flakes, this means that you may have to put up with a binary cache miss, or synchronizing your Nix update with your team, but you shouldn't have to overhaul your code or anything.

Thank y'all for the first day of #Rejekts2025 with great talks and inspiring conversations!

I am excited that I got a spot for the #LightningTalk​s.
Looking forward to present you #Kubenix a tool leveraging #NixOS modules to declare #K8s workloads fully declarative.
I will also show how its #Helm integration essentially bridges the #CloudNative and #Nix ecosystem effectively, while offering additionally type safety.

See you at 18:15 in the hall #TheNash!

Well... I went on the deepest of dives today to fix the link error I've been tangling with while working on tigerbeetle-hs!

First, GHC passes `-lm` near the beginning of the linker flags it generates when compiling an executable. Pretty normal.

Unless you're linking a shared object file compiled from Zig.

Zig's build tool chain vendors it's own versions of libc for the various target platforms. When you call 'linkSystemLibrary2` and tell it to link `"m"` and tell Zig that's it's needed... well, it ignores you.

Zig's build tool sees that you asked to link a system library once and it links libc... and nothing else.

All of this means that if you pass `-lm` before you link the Zig shared object, you get a relink error. Because Zig helpfully provides an implementation for the libc symbol (in my case, `sin`) and the linker already has an implementation for that symbol... in libm.

It looks like Zig's tool chain doesn't include any of the GNU library paths in the RPATH of the elf header and so the linker asks you to relink the library against libm... which you can't actually do with Zig's build tools.

Trying out a hack with nix's `patchelf` to add the RPATH's into the nix store for the glibc so that the object file can declare its dependency on libm's implementation and will have to work through the community to see how we can get Zig to play nicer with systems.

Replied in thread

We are hosting the 10th iteration (I forgot to toot about the previous one) of our Brussels #Nix / #NixOS / #Guix User Group Meetup next Friday, March 28th, at @HSBXL!

The lightning talks planned so far are:
- Local DNS server with CoreDNS by Hugo
- Self-hosting a Mastodon instance by @xavier and myself :)

#OceanSprint 2025 is over, it was an great experience!

I mostly worked on gobuild.nix, a next-generation builder for Go in nixpkgs. gobuild.nix removes vendoring for Go packages in nixpkgs, modeling the full dependency graph in Nix. Each module dependency will be its own derivation, including build cache on a module level.

During the sprint, I moved gobuild.nix from linking dependency source into a vendor directory to providing a local directory that can be used as GOPROXY. This is both more versatile and simple.

Together with @britter I started implementing a code generation tool that will help to package the large number of packages that will be part of the Go dependencies package set. The tool generates the Nix code for these packages, including the FOD hashes.

Experiment in new Go builders for Nix (not a go2nix tool) - katexochen/gobuild.nix
GitHubGitHub - katexochen/gobuild.nix: Experiment in new Go builders for Nix (not a go2nix tool)Experiment in new Go builders for Nix (not a go2nix tool) - katexochen/gobuild.nix
#Nix#nixpkgs#golang