Skip to content

Commit 001083d

Browse files
Merge pull request #78 from DylanDevelops/ravel/specific-packaging-docs
docs: Add distribution packaging policy
2 parents 21fa115 + b228a5d commit 001083d

1 file changed

Lines changed: 40 additions & 0 deletions

File tree

CONTRIBUTING.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,46 @@ Add pause/resume functionality
333333

334334
Reviews can take a few iterations, especially for large contributions. Don't be disheartened if you feel it takes time - we just want to ensure each contribution is high-quality and that any outstanding questions are resolved, captured or documented for posterity.
335335

336+
## Distribution Packaging
337+
338+
We appreciate packaging efforts for various package managers and distributions! However, to keep maintenance focused on the core application and avoid setting precedent for supporting every distribution method, we have the following policy:
339+
340+
### What's Maintained In-Tree
341+
342+
- **GoReleaser configuration** (`.goreleaser.yml`) - handles official releases for multiple platforms
343+
- **Core build files** - Go modules, source code, and build scripts
344+
345+
### What Should Live Externally
346+
347+
Distribution-specific packaging should be maintained outside this repository:
348+
349+
- **Nix flakes and modules** - Contribute to [nixpkgs](https://github.com/NixOS/nixpkgs) or maintain in a separate repo
350+
- **Homebrew formulas** - Once tmpo meets requirements, we'll submit to homebrew-core
351+
- **Linux packages** - AUR (Arch), APT/RPM repos, Snap, Flatpak, etc.
352+
- **System configuration** - Systemd units, init scripts, etc.
353+
- **Other package managers** - Scoop (Windows), Chocolatey, etc.
354+
355+
### Why This Policy?
356+
357+
Maintaining distribution-specific packaging in-tree creates ongoing maintenance burden:
358+
359+
- Each config format change requires updating multiple package definitions
360+
- Testing across different package managers becomes complex
361+
- Sets precedent for accepting every packaging request
362+
- Most package ecosystems prefer maintaining packages in their own repositories anyway
363+
364+
### How to Contribute Packaging
365+
366+
If you'd like to package tmpo for your preferred distribution:
367+
368+
1. **Create the package** in the appropriate repository (nixpkgs, AUR, etc.)
369+
2. **Open an issue** with the link to your package
370+
3. **We'll add a link** in our installation documentation to help users find it
371+
372+
This way, tmpo remains accessible across platforms while keeping maintenance focused on what we do best—building a great time tracking tool.
373+
374+
We may consider dedicated support for specific platforms in the future if we see a large user base, but for now, community-maintained packages with documentation links work best for everyone.
375+
336376
## Reporting Issues
337377

338378
When reporting bugs or requesting features, please:

0 commit comments

Comments
 (0)