63 lines
2.5 KiB
Nix
63 lines
2.5 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
|
|
];
|
|
|
|
shellHook = ''
|
|
echo "╔═══════════════════════════════════════════════════════════════╗"
|
|
echo "║ NaviPod Development Environment ║"
|
|
echo "║ Sync Navidrome to iPod | Scrobble to ListenBrainz ║"
|
|
echo "╚═══════════════════════════════════════════════════════════════╝"
|
|
echo ""
|
|
|
|
# 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 "📦 Build Commands:"
|
|
echo " cargo build - Build in debug mode"
|
|
echo " cargo build --release - Build optimized release"
|
|
echo " cargo check - Check for compilation errors"
|
|
echo " cargo run -- [COMMAND] - Build and run a command"
|
|
echo ""
|
|
echo "🎵 NaviPod Commands:"
|
|
echo " cargo run -- sync [OPTIONS]"
|
|
echo " --album <NAME> Sync specific album"
|
|
echo " --artist <NAME> Sync specific artist"
|
|
echo " --playlist <NAME> Sync specific playlist"
|
|
echo ""
|
|
echo " cargo run -- list-albums List all albums from Navidrome"
|
|
echo " cargo run -- list-playlists List all playlists from Navidrome"
|
|
echo " cargo run -- check Check iPod connection"
|
|
echo ""
|
|
echo " cargo run -- scrobble [OPTIONS]"
|
|
echo " --clear Clear scrobbler log after sync"
|
|
echo " --no-backup Skip backup when clearing"
|
|
echo ""
|
|
echo "📝 Configuration:"
|
|
echo " Edit config.toml to set your Navidrome URL, credentials,"
|
|
echo " iPod mount point, and ListenBrainz token."
|
|
echo ""
|
|
echo "💡 Quick Start:"
|
|
echo " 1. cp config.example.toml config.toml"
|
|
echo " 2. Edit config.toml with your settings"
|
|
echo " 3. cargo run -- sync"
|
|
echo ""
|
|
'';
|
|
}
|