{"id":15013175,"url":"https://github.com/sn99/nothing-linux","last_synced_at":"2025-07-03T14:08:30.821Z","repository":{"id":253944417,"uuid":"842393574","full_name":"sn99/nothing-linux","owner":"sn99","description":"Nothing Linux App","archived":false,"fork":false,"pushed_at":"2025-04-06T15:33:57.000Z","size":487,"stargazers_count":33,"open_issues_count":4,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-12T04:37:28.952Z","etag":null,"topics":["bluetooth","leptos","linux","nothing","rust","tauri"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sn99.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-08-14T09:02:30.000Z","updated_at":"2025-04-03T15:22:57.000Z","dependencies_parsed_at":"2024-08-28T04:44:45.277Z","dependency_job_id":"42104235-152c-43cf-886c-c6c6ed8bcb31","html_url":"https://github.com/sn99/nothing-linux","commit_stats":{"total_commits":12,"total_committers":3,"mean_commits":4.0,"dds":"0.16666666666666663","last_synced_commit":"e44437f1edf51f52e7720256bde60f0e9aa7e4e5"},"previous_names":["sn99/nothing-linux"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/sn99/nothing-linux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sn99%2Fnothing-linux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sn99%2Fnothing-linux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sn99%2Fnothing-linux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sn99%2Fnothing-linux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sn99","download_url":"https://codeload.github.com/sn99/nothing-linux/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sn99%2Fnothing-linux/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263339954,"owners_count":23451521,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bluetooth","leptos","linux","nothing","rust","tauri"],"created_at":"2024-09-24T19:43:51.551Z","updated_at":"2025-07-03T14:08:30.798Z","avatar_url":"https://github.com/sn99.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nothing Linux App\n\nI usually have to enable low latency mode on my Nothing Ear (2) while gaming on Linux.\nBut because there is no official Linux app, I have to switch to my phone to do this (using dual connection).\nSo I made this simple app for Ear (2) for linux.\n\n## Supported Devices\n\n- Nothing Ear (2)\n- Others too but untested by me (a man can only have so many earbuds)\n\n## Screenshots\n\n![Screenshot 1](readme/1.png)\n\n![Screenshot 2](readme/2.png)\n\n## Install\n\nYou can find the latest rpm, deb or appimage in the [Releases](https://github.com/sn99/nothing-linux/releases) page.\n\nNote: The app assumes you are connected to the bluetooth device already, not doing so will cause the app to crash.\n\n## Architecture\n\nIt is made using:\n\n- [Rust](https://www.rust-lang.org/)\n- [Leptos 0.6.xx](https://docs.rs/leptos/0.6.14/leptos/index.html)\n- [Tauri 2.0](https://v2.tauri.app/)\n\nThe project is structured in three separate parts:\n\n1. [nothing crate](nothing) - It contains the hardware specific code for the Ear (2).\n2. [tauri](src-tauri) - It contains the Tauri interface between the nothing crate and leptos frontend.\n3. [leptos](src) - It contains the frontend code for the app.\n\n### Hardware Abstraction\n\nThe project is written in such a way that future version of Nothing products could be supported by just modifying\nthe `nothing` crate.\n\nThe hardware is itself is treated as a [Struct](nothing/src/nothing_ear_2.rs) with controls in form\nof [trait methods](nothing/src/lib.rs).\nTo add new hardware or modify existing hardware, you just need to implement the trait members.\n\nYou will most probably just need to copy-paste [nothing_ear_2_rs](nothing/src/nothing_ear_2.rs) with global const\nchanged to the new hardware's values.\n\n### Structure\n\nThe `nothing` crate is used by `src-tauri` to create bindings for leptos frontend and that's about it.\n\n#### Getting BLE Values\n\nYour best bet is a rooted android device. Followed by running Android in a VM. I found this\nhelpful: [StackOverFlow](https://stackoverflow.com/questions/23877761/sniffing-logging-your-own-android-bluetooth-traffic)\n\n## Building\n\n### Prerequisites\n\n- On fedora you need to install the following packages: `dbus-devel pkgconf-pkg-config`\n- https://v2.tauri.app/start/prerequisites/\n- https://book.leptos.dev/getting_started/index.html\n\n### Steps\n\n1. To run locally: `cargo tauri dev`\n2. To build deb, rpm and appimage: `NO_STRIP=true cargo tauri build --verbose`\n\n## Future\n\nThere are a few more commands that I have yet to add like personalized ANC, earfit test, setting shortcuts, etc, But I\ndon't really use those setting, feel free to open an issue if you need those features (no guarantees).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsn99%2Fnothing-linux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsn99%2Fnothing-linux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsn99%2Fnothing-linux/lists"}