First full session of vibecoding with agents, super cool! Signed-off-by: SindreKjelsrud <sindre@kjelsrud.dev>
56 lines
1.4 KiB
Nix
56 lines
1.4 KiB
Nix
let
|
|
nixpkgs = fetchTarball "https://github.com/NixOS/nixpkgs/tarball/nixos-25.05";
|
|
pkgs = import nixpkgs { config = {}; overlays = []; };
|
|
in
|
|
|
|
pkgs.mkShell {
|
|
buildInputs = with pkgs; [
|
|
rustc
|
|
cargo
|
|
gcc # cc-command for building native dependencies
|
|
pkg-config # useful for C-dependencies
|
|
openssl # if crates are dependent on openssl
|
|
openssl.dev # openssl development headers
|
|
# GUI dependencies - X11
|
|
libGL
|
|
xorg.libX11
|
|
xorg.libXcursor
|
|
xorg.libXi
|
|
xorg.libXrandr
|
|
libxkbcommon
|
|
# GUI dependencies - Wayland (for Wayland support)
|
|
wayland
|
|
];
|
|
|
|
# Set up library paths for runtime
|
|
shellHook = let
|
|
libPath = pkgs.lib.makeLibraryPath (with pkgs; [
|
|
libGL
|
|
xorg.libX11
|
|
xorg.libXcursor
|
|
xorg.libXi
|
|
xorg.libXrandr
|
|
libxkbcommon
|
|
wayland
|
|
]);
|
|
in ''
|
|
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${libPath}"
|
|
|
|
echo "NaviPod Development Environment"
|
|
|
|
# Verify Rust is available
|
|
if command -v rustc &> /dev/null; then
|
|
echo "✓ Rust $(rustc --version) is available"
|
|
fi
|
|
|
|
if command -v cargo &> /dev/null; then
|
|
echo "✓ Cargo $(cargo --version) is available"
|
|
fi
|
|
|
|
echo ""
|
|
echo "Welcome to NaviPod development shell!"
|
|
echo "Run 'cargo build' to build the project."
|
|
echo "Run 'cargo check' to check for compilation errors."
|
|
echo "Run './target/debug/navipod-gui' to launch the GUI (from within this shell)."
|
|
'';
|
|
}
|