!FBuJyWXTGcGtHTPphC:nixos.org

Nix Rust

679 Members
Rust153 Servers

Load older messages


SenderMessageTime
20 Apr 2025
@tomasajt:matrix.orgTomahttps://github.com/NixOS/nixpkgs/pull/373541 some cleanup + improving what the docs suggest23:38:26
21 Apr 2025
@creepinson:matrix.org@creepinson:matrix.org left the room.04:58:57
@kfiz:sopado.dekfiz joined the room.11:04:55
@this-is-me:matrix.orgAndreas Weinzierl joined the room.17:47:36
23 Apr 2025
@anjix:matrix.organji left the room.16:10:17
24 Apr 2025
@gvolpe:matrix.org@gvolpe:matrix.org left the room.10:19:23
25 Apr 2025
@creepinson:matrix.org@creepinson:matrix.org joined the room.23:38:31
26 Apr 2025
@defelo:matrix.defelo.deDefelo joined the room.15:26:14
@awwpotato:envs.net@awwpotato:envs.net changed their profile picture.19:54:51
@awwpotato:envs.net@awwpotato:envs.net is a treewide removal of useFetchCargoVendor = true; a good idea? it would be a 0 rebuild change, main issue I can think of would be merge conflicts. 22:29:52
@awwpotato:envs.net@awwpotato:envs.netI guess it would cause issues when backporting, probably best to leave until after 25.05 release then22:50:43
27 Apr 2025
@adam_neverwas:matrix.orgAdam Neverwas

thread 'main' panicked at /home/username/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libudev-sys-0.1.4/build.rs:38:41:
called Result::unwrap() on an Err value: "\npkg-config exited with status code 1\n> PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 pkg-config --libs --cflags libudev\n\nThe system library libudev required by crate libudev-sys was not found.\nThe file libudev.pc needs to be installed and the PKG_CONFIG_PATH environment variable must contain its parent directory.\nThe PKG_CONFIG_PATH environment variable is not set.\n\nHINT: if you have installed the library, try setting PKG_CONFIG_PATH to the directory containing libudev.pc.\n"

The rust-analyzer vscode (codium) plugin does this.
CANNOT. CAN'T. I cant get rid of this, what can i do? Installed the vscode-extensions.rust-lang.rust-analyzer, rust-analyzer from inside vscode.

17:33:25
@adam_neverwas:matrix.orgAdam Neverwas tried gpt, putting into the path, errithing 17:34:26
@k900:0upti.meK900Post your shell.nix17:35:52
@k900:0upti.meK900Or whatever environment you're using17:36:07
@adam_neverwas:matrix.orgAdam Neverwas

{
description = "Rust development environment with latest Bevy";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
rust-overlay = {
url = "github:oxalica/rust-overlay";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-utils.follows = "flake-utils";
};
};
};
outputs = { self, nixpkgs, flake-utils, rust-overlay }:
flake-utils.lib.eachDefaultSystem (system:
let
overlays = [ (import rust-overlay) ];
pkgs = import nixpkgs {
inherit system overlays;
};

    rustToolchain = pkgs.rust-bin.stable.latest.default.override {
      extensions = [ "rust-src" "rust-analyzer" "clippy" "rustfmt" ];
      targets = [ "wasm32-unknown-unknown" ];
    };

    graphicsLibs = with pkgs; [
      vulkan-loader
      xorg.libX11
      xorg.libXcursor
      xorg.libXrandr
      xorg.libXi
      libxkbcommon
      wayland
      libGL
      libGLU
      xorg.libXext
    ];
    audioLibs = with pkgs; [
      alsa-lib
      libjack2
      libpulseaudio
    ];
    systemLibs = with pkgs; [
      udev
      systemd
      openssl
      pkg-config
    ];
    buildLibs = with pkgs; [
      cmake
      clang
      gcc
      binutils
      lld
    ];
    devTools = with pkgs; [
      rustToolchain
      rustup
      cargo-watch
      cargo-expand
      cargo-audit
      cargo-outdated
      cargo-geiger
      wasm-pack
    ];

    allLibs = graphicsLibs ++ audioLibs ++ systemLibs;

    wrapperScript = pkgs.writeScriptBin "create-wrappers" (builtins.readFile ./wrapper/generate_wrappers.sh);

    devEnv = pkgs.mkShell {
      buildInputs = devTools ++ buildLibs ++ allLibs ++ [ wrapperScript ];
      shellHook = ''
        echo "🦀 Rust + Bevy dev environment loading..."

         # Find libudev.pc file in the Nix store
          LIBUDEV_PC=$(find /nix/store -path "*/lib/pkgconfig/libudev.pc" | head -n 1)
          
          if [ ! -z "$LIBUDEV_PC" ]; then
            echo "✅ Found libudev.pc at: $LIBUDEV_PC"
            export PKG_CONFIG_PATH=$(dirname "$LIBUDEV_PC"):$PKG_CONFIG_PATH
          else
            echo "❌ Could not find libudev.pc in Nix store"
          fi

        export LD_LIBRARY_PATH=${pkgs.lib.makeLibraryPath allLibs}:$LD_LIBRARY_PATH
        export PKG_CONFIG_PATH=$(IFS=:; echo ${pkgs.lib.concatStringsSep ":" (builtins.map (pkg: "${pkg}/lib/pkgconfig") allLibs)}):$PKG_CONFIG_PATH
        
        # Ensure Rust can find the standard library
        export RUST_SRC_PATH=${rustToolchain}/lib/rustlib/src/rust/library
        
        export RUSTFLAGS="-C link-arg=-fuse-ld=lld"
        export BEVY_ASSET_ROOT="$(pwd)/assets"
        export CC=gcc
        export CXX=g++
        create-wrappers

        PATH="$(echo "$PATH" | sed -e "s#:$HOME/.local/bin##g" -e "s#$HOME/.local/bin:##g" -e "s#$HOME/.local/bin##g")"

        # LAST ROW
        export PATH="$HOME/.local/bin:$PATH"
        
        echo "✅ Rust + Bevy development environment ready!"
      '';
    };
  in
  {
    devShells.default = devEnv;
  }
);

}

17:37:11
@k900:0upti.meK900What the fuck are you doing17:38:07
@k900:0upti.meK900Literally what is all of this17:38:15
@adam_neverwas:matrix.orgAdam Neverwas flayyk 17:38:16
@k900:0upti.meK900 Why are you setting PKG_CONFIG_PATH manually 17:38:27
@k900:0upti.meK900 Why are you setting LIBUDEV_PC at all 17:38:35
@curid:matrix.org@curid:matrix.orgchatgpt creation17:38:40
@k900:0upti.meK900 Why are you messing with CC or CXX 17:38:45
@adam_neverwas:matrix.orgAdam Neverwas IYeh 17:38:46
@adam_neverwas:matrix.orgAdam Neverwas I tried everything 17:38:54
@k900:0upti.meK900OK we're done then17:39:00
@k900:0upti.meK900You need to understand what you're doing17:39:07
@k900:0upti.meK900Not copy/paste the word vomit machine output17:39:12
@adam_neverwas:matrix.orgAdam Neverwas This is a several time modified version 17:39:45
@k900:0upti.meK900Do you understand every line of it?17:40:26

Show newer messages


Back to Room ListRoom Version: 6