15 Aug 2025 |
fzakaria | is there a way to use Nix as a C++ lib in a separate project? | 15:35:49 |
Sergei Zimmerman (xokdvium) | In reply to @fzakaria:one.ems.host is there a way to use Nix as a C++ lib in a separate project? Pretty easy to do so. Just needs pkg-config integration in your build system. I assume you are going to use bazel? | 15:44:21 |
fzakaria | No; i'm happy to use Meson, Cmake or w/e.
(Bazel would be cool though)
Having a nix derivation that builds it even cooler. | 15:48:42 |
fzakaria | (I'm not familiar with pkg-config)
One more question: How does one run a particular flake check only.
I'm trying to validate a check that is failing | 15:49:12 |
fzakaria | nix build -f flake.nix checks.x86_64-linux.nix-fetchers-tests-run
error: attribute 'checks' in selection path 'checks.x86_64-linux.nix-fetchers-tests-run' not found
| 15:50:35 |
dramforever | nix build .#checks.x86_64-linux.nix-fetchers-tests-run | 15:51:50 |
fzakaria | ty | 15:51:56 |
dramforever | quote that if you shell doesn't like it | 15:52:08 |
Sergei Zimmerman (xokdvium) | Both cmake and meson are pretty easy to set up. Recent enough cmake made this much easier with https://cmake.org/cmake/help/latest/module/FindPkgConfig.html | 15:54:20 |
Sergei Zimmerman (xokdvium) | You can also do nix build -f . checks.x86_64-linux.nix-fetchers-tests-run , since we are using flake-compat | 15:55:14 |
Sergei Zimmerman (xokdvium) | Or (nix-build) | 15:55:30 |
Sergei Zimmerman (xokdvium) | * Or nix-build | 15:55:36 |
fzakaria | it assumes it was installed on the system ? So Nix installed via the system will install the shared libraries and headers or is there a -dev version needed. | 15:56:09 |
fzakaria | (If i were to use Nix as a buildInput ) | 15:56:21 |
Sergei Zimmerman (xokdvium) | Corresponding components install the .pc files to dev output | 15:56:50 |
fzakaria | cool okay I see the pc files in nix.dev store and they point to the nix lib directory | 16:01:51 |
fzakaria | (Not sure how someone gets these files without using nix itself but maybe that's by design :P ) | 16:02:29 |
fzakaria | Interesting, locally
nix build .#checks.x86_64-linux.nix-fetchers-tests-run passes but on CI it fails.
> The program must call nix::initNix() before calling any libstore library functions. | 16:03:56 |
fzakaria |  Download image.png | 16:08:44 |
fzakaria | Also, CLion to debug live Nix has been amazing; unfortunately the GoogleTest integration doesn't work -- doesn't seem to hydrate the "Target"
| 16:08:45 |
Sergei Zimmerman (xokdvium) | Yeah that's pretty unfortunate, but the order of tests matters. It means that locally there's a test that has initialized libstore already | 16:30:20 |
Sergei Zimmerman (xokdvium) | Can't help here, since I don't have jetbrains stuff | 16:30:53 |
Sergei Zimmerman (xokdvium) | You'd need to use the new nixComponents packaging. It makes it so you can use the libs without bringing the cli with them | 16:32:00 |
fzakaria | ty for the answers! | 20:34:03 |
fzakaria | i recommend the jetbrains stuff; having the gdb integrated debugger has made investigating issues 100x easier | 20:34:19 |
fzakaria | I might invest in trying to get rr working too | 20:34:25 |
16 Aug 2025 |
connor (he/him) (UTC-7) | Does anyone have any recommended tooling for finding out what values are being kept around by the GC (as well as why they’re being kept around)? | 00:31:11 |
dramforever | nix-store --gc --print-roots | 04:53:02 |
connor (he/him) (UTC-7) | Sorry, I should have disambiguated -- Boehm GC | 04:54:09 |
dramforever | lol | 04:54:15 |