Add comprehensive Linux build guide and Dockerfile #1824
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add comprehensive Linux build guide and Dockerfile
Summary
This PR adds documentation and tooling to help developers compile Hyprnote desktop on Linux. The changes include:
Comprehensive Linux Build Guide (
docs/linux-build-guide.md): A detailed 442-line guide covering:Dockerfile for Linux Development (
Dockerfile.linux-dev): A reproducible build environment based on Ubuntu 24.04 that:.github/workflows/desktop_cd.yamlscripts/setup-linux-tauri.shandscripts/setup-linux-others.shKey Discovery: During iterative Docker testing, I discovered that
cmakeis required for building libsql-ffi but was not explicitly listed in the existing CI scripts. This has been added to both the Dockerfile and guide.Review & Testing Checklist for Human
docker build -t hyprnote-linux-dev -f Dockerfile.linux-dev .docker run --rm hyprnote-linux-dev pnpm -F desktop tauri build --bundles appimage --target x86_64-unknown-linux-gnu(this will take ~10-15 minutes)scripts/setup-linux-tauri.shorscripts/setup-linux-others.shfor consistency with CINotes
Testing Status: The Docker build was tested iteratively, and the build process started successfully and compiled hundreds of Rust crates. However, the initial build failed due to missing
cmake, which I added to both the Dockerfile and guide. The final version with cmake has NOT been verified to complete a full build successfully - this needs to be tested by the reviewer.Why This Matters: The user mentioned that dependency information was "scattered and not comprehensive in some way." This PR consolidates all dependency information from CI scripts into a single, comprehensive guide. However, the discovery of the missing
cmakedependency suggests there may be other dependencies not captured in the existing CI scripts.Recommendation: After verifying the build works, consider adding
cmaketo the CI setup scripts for consistency.Link to Devin run: https://app.devin.ai/sessions/86403f5e381f49f598e2c9c90d359bd3
Requested by: yujonglee (@yujonglee)