Skip to content

Add distribution channels: RPM, Docker, Chocolatey, Nix#5

Merged
sheeki03 merged 7 commits intomainfrom
distribution-channels
Feb 3, 2026
Merged

Add distribution channels: RPM, Docker, Chocolatey, Nix#5
sheeki03 merged 7 commits intomainfrom
distribution-channels

Conversation

@sheeki03
Copy link
Owner

@sheeki03 sheeki03 commented Feb 3, 2026

Summary

  • Add RPM packaging for Fedora/RHEL/CentOS 9+
  • Add Docker support with GHCR publishing
  • Add Chocolatey packaging for Windows
  • Add Nix flake for NixOS users
  • Fix CI version replacement patterns (now version-agnostic)
  • Reorganize README install section, remove curl|sh method
  • Bump all packages to 0.1.3

sheeki03 and others added 3 commits February 3, 2026 23:02
- Add RPM spec file for Fedora/RHEL/CentOS 9+ (packaging/rpm/tirith.spec)
- Add publish-rpm job to release workflow (builds in Rocky Linux 9 container)
- Add Chocolatey packaging for Windows
- Add Nix flake for NixOS users
- Fix CI version replacement patterns to be version-agnostic (was hardcoded to 0.1.0)
- Remove curl|sh install method from README (ironic for a security tool)
- Reorganize README install section by platform (macOS, Linux, Windows, Cross-Platform)
- Update uninstall docs with RPM removal instructions

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Version 0.1.3
- Add Dockerfile and .dockerignore for GHCR publishing
- Add Docker publish job to release workflow
- Update all package manifests to 0.1.3
- Add homebrew-core submission docs
- Enhance doctor command diagnostics

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@macroscopeapp
Copy link

macroscopeapp bot commented Feb 3, 2026

Add RPM, Docker, Chocolatey, and Nix distribution while relicense to AGPL-3.0-only and bump CLI to v0.1.3

Introduce new distribution channels via CI for RPM, Docker (multi-arch), and Chocolatey, add Nix flake packaging, switch licensing to AGPL-3.0-only across manifests, update Homebrew/Scoop/AUR to v0.1.3, and extend DoctorInfo with shell profile detection and hook status. Centralize completion/man generation in release workflow and wrap Fish fish_clipboard_paste to route through tirith paste.

📍Where to Start

Start with the release pipeline changes in .github/workflows/release.yml, then review the Docker image in Dockerfile and Nix packaging in flake.nix. For runtime behavior, review shell detection in crates/tirith/src/cli/doctor.rs.


Macroscope summarized a9a23e4.

Instead of only binding Ctrl+V, wrap fish_clipboard_paste to intercept
all keyboard-initiated paste operations (Ctrl+V, Ctrl+Y, custom bindings).

- Use functions --copy to preserve original
- Add string collect to preserve multi-line newlines
- Keep stderr separate so warnings don't pollute pasted content
- Update comment to clarify terminal-level paste is not covered
end

# Allowed - output the content for insertion
echo -n "$content"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟠 High

shell/lib/fish-hook.fish:44

echo -n outputs to stdout but doesn't insert into the command line. Consider using commandline -i -- "$content" instead to properly insert the pasted text.

Suggested change
echo -n "$content"
commandline -i -- "$content"

🚀 Want me to fix this? Reply ex: "fix it for me".

env:
VERSION: ${{ github.ref_name }}
run: |
docker run --rm -v ${{ github.workspace }}:/workspace -w /workspace rockylinux:9 bash -c '
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟠 High

.github/workflows/release.yml:526

VERSION env var isn't passed into the Docker container. Consider adding -e VERSION to the docker run command so the variable is available inside.

Suggested change
docker run --rm -v ${{ github.workspace }}:/workspace -w /workspace rockylinux:9 bash -c '
docker run --rm -e VERSION -v ${{ github.workspace }}:/workspace -w /workspace rockylinux:9 bash -c '

🚀 Want me to fix this? Reply ex: "fix it for me".

@sheeki03 sheeki03 merged commit 7ee6c53 into main Feb 3, 2026
9 checks passed
@metruzanca
Copy link

metruzanca commented Feb 3, 2026

I would also recommend mise.jdx.dev. Growing popularity, loved by figma and dhh. (and myself and my team). Sure you can mise use cargo:tirith but if the user doesn't use rust, this will first install rust toolchain then tirith. Where as mise use tirith would be nicer (I assume it would work like cargo binstall extension) and adding a tool just requires a PR to the mise repo tools.toml.

I'd be happy to make a PR on your behalf to the mise repo and then make a PR here to update docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants