Distribution & Package Managers
Timeshit publishes official release assets on GitHub Releases and can optionally publish to multiple package managers.
Homebrew (macOS/Linux)
Homebrew repo:
https://github.com/NoahNxT/homebrew-nxt-solutions-packages
Install:
brew tap NoahNxT/nxt-solutions-packages
brew install timeshit
Upgrade:
brew upgrade timeshit
If you previously installed the legacy Node package, the old binary may conflict:
rm /opt/homebrew/bin/timeshit
brew link --overwrite timeshit
You can also remove the legacy global npm package:
npm remove -g toggl2timeshit
Scoop (Windows)
Scoop bucket repo:
scoop bucket add nxt-solutions https://github.com/NoahNxT/scoop-nxt-solutions-packages
scoop install timeshit
Chocolatey (Windows)
Requires Chocolatey.org account + API key.
Automation uses:
packaging/chocolatey/timeshit.nuspecpackaging/chocolatey/tools/chocolateyinstall.ps1packaging/chocolatey/tools/chocolateyuninstall.ps1
On each release, a GitHub Action packs and pushes timeshit.<version>.nupkg.
Install:
choco install timeshit
Install a specific version:
choco install timeshit --version=1.3.6
Winget (Windows)
Requires a GitHub token to open PRs against microsoft/winget-pkgs.
APT / RPM (Linux)
Recommended: Cloudsmith repo and API key for publishing .deb and .rpm.
APT (Cloudsmith) setup
- Create a Cloudsmith account and a Debian repository.
- Add repo variable:
CLOUDSMITH_REPO(e.g.nxt-solutions/timeshit)- Targets are controlled in the workflow matrix (
publish-apt.yml). Current defaults:- Ubuntu LTS:
focal,jammy,noble - Debian stable:
bullseye,bookworm
- Ubuntu LTS:
- Add repo secret:
CLOUDSMITH_API_KEY
- On release, GitHub Actions builds a
.deband uploads it to Cloudsmith.
Tip: to see valid distro/release pairs for your repo, run:
cloudsmith list distros deb
APT install (end users)
curl -1sLf 'https://dl.cloudsmith.io/public/nxt-solutions/timeshit/setup.deb.sh' | sudo -E bash
sudo apt-get update
sudo apt-get install timeshit
Troubleshooting (command not found):
dpkg -s timeshit
which timeshit
If it’s installed but not in PATH:
/usr/bin/timeshit
hash -r
If apt can’t find the package, force the distro/codename to match what you publish:
curl -1sLf 'https://dl.cloudsmith.io/public/nxt-solutions/timeshit/setup.deb.sh' \
| sudo -E distro=ubuntu codename=noble bash
Install a specific version:
sudo apt-get install timeshit=1.3.5-1
Force distro/codename (if needed):
curl -1sLf 'https://dl.cloudsmith.io/public/nxt-solutions/timeshit/setup.deb.sh' \
| sudo -E distro=debian codename=bookworm bash
AUR (Arch)
Requires AUR account and an SSH key for pushing package updates.
Automation Notes
Homebrew + Scoop are fully automated via GitHub Actions on release. Other managers can be added once credentials/accounts are available.
Homebrew + Scoop automation setup
- Create a PAT with repo access to:
NoahNxT/homebrew-nxt-solutions-packagesNoahNxT/scoop-nxt-solutions-packages
- Add it as a secret in this repo:
PACKAGES_REPO_TOKEN. - Run a release (
🔖 Release TUI) or trigger:🍺 Publish Homebrew🪣 Publish Scoop
Winget automation setup
- Fork
microsoft/winget-pkgsto your account. - Create a PAT with public_repo scope and add it as
WINGET_TOKEN. - Set repo variables:
WINGET_PACKAGE_ID(NxTSolutions.Timeshit)
- Run the 🪟 Publish Winget (Initial) workflow with a release tag (e.g.
v1.3.6).- This generates the manifest and opens the initial PR automatically.
- After the initial PR is merged, releases will auto-open PRs for updates.