feat: add Windows build support and release artifacts #83

Merged
kfickel merged 2 commits from 80_windows-build-support into main 2026-04-13 19:53:49 +02:00
Owner

Summary

Closes #80

  • Add mkWindowsCraneLib and mkStreamdWindows to flake.nix using the x86_64-pc-windows-gnu target and mingw-w64 toolchain, exporting a streamd-windows package
  • Fix cross-platform code compatibility: config path fallback uses directories::BaseDirs instead of a hardcoded Unix path; editor commands default to notepad on Windows; todo edit skips the +N line argument for notepad
  • Add Windows build step and .exe artifact to the release workflow

Verification

  • nix build .#streamd-windows builds successfully
  • file result/bin/streamd.exe confirms PE32+ executable (console) x86-64, for MS Windows
  • nix flake check passes all checks
  • cargo test passes all 167 tests
## Summary Closes #80 - Add `mkWindowsCraneLib` and `mkStreamdWindows` to `flake.nix` using the `x86_64-pc-windows-gnu` target and mingw-w64 toolchain, exporting a `streamd-windows` package - Fix cross-platform code compatibility: config path fallback uses `directories::BaseDirs` instead of a hardcoded Unix path; editor commands default to `notepad` on Windows; `todo edit` skips the `+N` line argument for notepad - Add Windows build step and `.exe` artifact to the release workflow ## Verification - `nix build .#streamd-windows` builds successfully - `file result/bin/streamd.exe` confirms `PE32+ executable (console) x86-64, for MS Windows` - `nix flake check` passes all checks - `cargo test` passes all 167 tests
kfickel added 2 commits 2026-04-07 14:22:57 +02:00
- Use directories::BaseDirs for config path fallback instead of hardcoded Unix path
- Default to notepad on Windows instead of vi for editor commands
- Skip +N line argument for notepad in todo edit (notepad doesn't support it)
feat: add Windows cross-compilation and release artifacts
All checks were successful
Continuous Integration / Lint, Check & Test (push) Successful in 1m28s
Continuous Integration / Build Package (push) Successful in 1m36s
dbc68da5c9
- Add mkWindowsCraneLib using x86_64-pc-windows-gnu target
- Add mkStreamdWindows using mingw-w64 toolchain for cross-compilation
- Export streamd-windows package from flake
- Add Windows build step and .exe artifact to release workflow
kfickel force-pushed 80_windows-build-support from dbc68da5c9 to ca2ebd5949 2026-04-13 18:56:23 +02:00 Compare
kfickel force-pushed 80_windows-build-support from ca2ebd5949 to aa1fbbc4b8 2026-04-13 19:38:16 +02:00 Compare
kfickel force-pushed 80_windows-build-support from aa1fbbc4b8 to 3745b88730 2026-04-13 19:53:17 +02:00 Compare
kfickel merged commit 6c8f1f5253 into main 2026-04-13 19:53:49 +02:00
kfickel deleted branch 80_windows-build-support 2026-04-13 19:53:49 +02:00
Sign in to join this conversation.
No reviewers
No labels
planned
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference: kfickel/streamd#83
No description provided.