| 25 Jul 2024 |
quapka4 | Hm, or I could then build it with nix build .#<attribute>.<thingy>. | 09:06:34 |
dramforever | In reply to @quapka4:matrix.org Hi folks, can I automatically extract attributes from an attribute set? Imagine that I have many things inside let ... in that get build and used in side dev shells. But I also want to be able to build them as a first class citizen. I can inherit <thing>, but doing it for 10 things seems bit awkward. do you maybe want rec? https://nix.dev/manual/nix/2.23/language/constructs | 10:02:47 |
| @bumperboat:matrix.org changed their display name from bumperboat (UTC+2) to bumperboat. | 12:47:28 |
Miles Dyson | Hello, I am having this problem:
https://discourse.nixos.org/t/configuring-neovim-how-to-run-non-nix-executables/49631
Can the problem I am having be resolved with a flake? | 18:39:12 |
| 27 Jul 2024 |
| @bumperboat:matrix.org left the room. | 11:58:48 |
| 28 Jul 2024 |
| @s9616726:tu-dresden.de left the room. | 13:19:20 |
| 29 Jul 2024 |
| @rayne:spooky.computer left the room. | 03:39:18 |
| @northben:pixelchef.net left the room. | 13:23:12 |
| @travis-staton:matrix.org joined the room. | 15:04:47 |
| 31 Jul 2024 |
| Karel Kočí joined the room. | 11:55:17 |
| @simon.brandner:envs.net joined the room. | 15:52:25 |
@simon.brandner:envs.net | Hi, I am trying to setup a flake for my rust program but I am having some issues...
I am using the Burn framework for neural networks and am importing an ONNX pre-trained models in a build.rs script. The problem is that when I run nix build (I am using buildRustPackage) it fails due to not being able to find the .onnx files (No such file or directory). Do I somehow need to tell Nix about the .onnx files for the build to work?
(I am able to compile just fine in a dev shell)
(I hope this is the right room to ask in)
| 15:58:00 |
@simon.brandner:envs.net | My messy package.nix:
{
lib,
rustPlatform,
clang,
pkgs ? import <nixpkgs> {},
}: let
cargoToml = builtins.fromTOML (builtins.readFile ../Cargo.toml);
in
rustPlatform.buildRustPackage rec {
inherit (cargoToml.package) version;
pname = cargoToml.package.name;
cargoLock = {
lockFile = ../Cargo.lock;
outputHashes = {
"burn-0.14.0" = "sha256-5ssNI+QvMpEeU7JpK1KVtBpTgXKbaqTUYTBePTL+J24=";
"cubecl-0.1.1" = "sha256-xgwXyHAKSxf4rTF/Svpb61IOvxQUiV9xmOXk5WHDdjY=";
};
};
src = lib.cleanSource ../.;
nativeBuildInputs = with pkgs; [
clang
fontconfig
pkg-config
libxkbcommon
libGL
cmake
wayland
xorg.libXcursor
xorg.libXrandr
xorg.libXi
xorg.libX11
vulkan-headers
vulkan-loader
];
buildInputs = with pkgs; [
clang
fontconfig
pkg-config
libxkbcommon
libGL
cmake
wayland
xorg.libXcursor
xorg.libXrandr
xorg.libXi
xorg.libX11
vulkan-headers
vulkan-loader
];
LIBCLANG_PATH = "${pkgs.libclang.lib}/lib";
LD_LIBRARY_PATH = "${pkgs.lib.makeLibraryPath buildInputs}";
}
| 15:58:27 |
@simon.brandner:envs.net | I can see them in /tmp/nix-build-app-0.0.1.drv-0/source/models/ though.... | 16:11:33 |
@simon.brandner:envs.net | * I can see them in /tmp/nix-build-app-0.0.1.drv-0/source/models/ though... | 16:11:33 |
@simon.brandner:envs.net | Hmm, it might be me being stupid... | 16:16:26 |
@simon.brandner:envs.net | In reply to @simon.brandner:envs.net Hmm, it might be me being stupid... Doesn't seem to be the case... | 16:28:27 |
@simon.brandner:envs.net | Oh, the problem is actually elsewhere | 16:32:35 |
@simon.brandner:envs.net | Still doesn't explain why it fails in nix build and works fine elsewhere | 16:32:56 |
@simon.brandner:envs.net | So the problem is that the build.rs thingy is failing to find the file it generated (and I indeed cannot find it in /tmp/nix-build-app-0.0.1.drv-0) | 16:47:55 |
@simon.brandner:envs.net | It could be an issue with OUT_DIR not being set correctly... | 16:50:32 |
quapka4 | Hi folks, is it not possible to directly change the sources in $src during any of the phases? Imagine I need to add a generic target to Makefile, so I wanted to do something like:
mySource = ./extraMakeTarget.txt
<somePhase> = ''
cat $mySource >> $src/makefile
'';
But I am getting a Permission Denied error.
| 17:08:40 |
quapka4 | I don't/can't easily use patches because the makefile can have various structure depending on the version of the package. | 17:09:14 |
quapka4 | I assumed that during the phases I kinda have a full access to whatever sources I have, because my changes through any phase end up in the resulting hash anyway. | 17:12:05 |
Benedikt | In reply to @quapka4:matrix.org I assumed that during the phases I kinda have a full access to whatever sources I have, because my changes through any phase end up in the resulting hash anyway. You actually do, but the source (refered to by $src) is still in the read-only nix store. You probably want to change the upacked source, which should be in the working directory of the builder | 17:17:46 |
quapka4 | In reply to @soispha:vhack.eu You actually do, but the source (refered to by $src) is still in the read-only nix store. You probably want to change the upacked source, which should be in the working directory of the builder Ah, thanks! | 17:19:57 |
quapka4 | So, change $src to $sourceRoot works. | 17:20:33 |
quapka4 | And I guess postUnpack would be the appropriate place. | 17:23:26 |
@simon.brandner:envs.net | In reply to @simon.brandner:envs.net It could be an issue with OUT_DIR not being set correctly... Trying to print it makes a bit confused... When building using cargo, I see /home/..., when using nix build, I see /build/... | 17:29:38 |
samasaur | Pretty sure that is because when you are using nix build the build is run as a nixbld user, and their home directories are not under /home | 19:09:25 |