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 ]; shellHook = '' 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 run' to run the CLI." echo "Run 'cargo check' to check for compilation errors." echo "" echo "Available commands:" echo " navipod sync [--album ALBUM] [--artist ARTIST] - Sync content to iPod" echo " navipod list-albums - List available albums" echo " navipod check - Check iPod connection" echo " navipod scrobble [--clear] [--backup] - Sync scrobbles to ListenBrainz" ''; }