# NextCompanion A minimal GTK4/libadwaita Nextbike client for Linux. ## Features - Interactive map with bike station markers (Leaflet.js) - Marker clustering for dense areas - Rent and reserve bikes directly from the map - Filter by bike type (All / Standard / E-bikes) - View active rentals and reservations - Return bikes with station number or electric lock ## Screenshots *Coming soon* ## Installation ### Flatpak ```bash # Build and install locally flatpak-builder --user --install --force-clean build-dir org.nextbike.NextCompanion.yml ``` ### NixOS / Nix Run directly: ```bash nix run github:onny/nextcompanion ``` Or add to your flake inputs: ```nix { inputs.nextcompanion.url = "github:onny/nextcompanion"; } ``` Then add to your packages: ```nix environment.systemPackages = [ inputs.nextcompanion.packages.${system}.default ]; ``` For development: ```bash nix develop cargo run ``` ## Usage 1. Sign in with your Nextbike phone number and PIN 2. Browse the map to find bike stations 3. Click a station marker to see available bikes 4. Rent or reserve a bike with one tap 5. View your active rentals via the "Rentals" button 6. Return bikes by entering the station number **Note:** Sign-up is not supported. Create an account via the Nextbike website or official app first. ## Privacy This app does not track you or send telemetry. It only communicates with Nextbike API servers to perform bike operations. ## Requirements - GTK4 4.x - libadwaita 1.x - WebKitGTK 6.0 ## Building from source ```bash # With Nix nix build # With Cargo (requires GTK4, libadwaita, WebKitGTK development packages) cargo build --release ``` ## Tested cities NextCompanion uses the Nextbike API and should work in any supported city. Tested with: - KVV.nextbike (Karlsruhe, Germany) ## Disclaimer This is an unofficial client and is not affiliated with Nextbike GmbH. ## License See [LICENSE](LICENSE) file.