15 Aug 2025 |
John Ericson | I have a draft PR for that | 05:36:32 |
John Ericson | or maybe it's not even draft | 05:36:38 |
John Ericson | feel free to go take it | 05:36:43 |
John Ericson | we just needed a use-case for it, and now we have one | 05:36:50 |
John Ericson | (it was always gonna be unit testing) | 05:37:02 |
| muneer changed their profile picture. | 10:32:21 |
fzakaria | i can take it up after; right now having the store be temporary directory for just fetching inputs feels okay -- but I want it. | 15:35:40 |
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 |