-
-
Notifications
You must be signed in to change notification settings - Fork 17
feat: add Linux distro installers (AUR, .deb, .rpm, Nix) #13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
09adbf6
19e6916
d8a121c
213ffa3
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -75,3 +75,20 @@ strip = true | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| lto = true | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| codegen-units = 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| panic = "abort" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| [package.metadata.deb] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| maintainer = "arimxyer" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| copyright = "2024-2026 arimxyer" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| license-file = ["LICENSE", "0"] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| section = "utils" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| priority = "optional" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| assets = [ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ["target/release/models", "usr/bin/", "755"], | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| extended-description = "Browse AI models, benchmarks, and coding agents from the terminal" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| depends = "libc6" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| [package.metadata.generate-rpm] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| assets = [ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| { source = "target/release/models", dest = "/usr/bin/models", mode = "0755" }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+86
to
+93
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ["target/release/models", "usr/bin/", "755"], | |
| ] | |
| extended-description = "Browse AI models, benchmarks, and coding agents from the terminal" | |
| depends = "libc6" | |
| [package.metadata.generate-rpm] | |
| assets = [ | |
| { source = "target/release/models", dest = "/usr/bin/models", mode = "0755" }, | |
| ["target/*/release/models", "usr/bin/", "755"], | |
| ] | |
| extended-description = "Browse AI models, benchmarks, and coding agents from the terminal" | |
| depends = "libc6" | |
| [package.metadata.generate-rpm] | |
| assets = [ | |
| { source = "target/*/release/models", dest = "/usr/bin/models", mode = "0755" }, |
Copilot
AI
Mar 8, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same issue as the deb metadata: the RPM asset source is set to target/release/models, but the workflow stages the prebuilt binary under target/<triple>/release/models for --target runs. Update the asset source path or adjust the workflow staging so generate-rpm can find the file for both architectures.
| ["target/release/models", "usr/bin/", "755"], | |
| ] | |
| extended-description = "Browse AI models, benchmarks, and coding agents from the terminal" | |
| depends = "libc6" | |
| [package.metadata.generate-rpm] | |
| assets = [ | |
| { source = "target/release/models", dest = "/usr/bin/models", mode = "0755" }, | |
| ["target/*/release/models", "usr/bin/", "755"], | |
| ] | |
| extended-description = "Browse AI models, benchmarks, and coding agents from the terminal" | |
| depends = "libc6" | |
| [package.metadata.generate-rpm] | |
| assets = [ | |
| { source = "target/*/release/models", dest = "/usr/bin/models", mode = "0755" }, |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -83,6 +83,36 @@ scoop install extras/models | |
|
|
||
| > **Migrating from the custom bucket?** Run `scoop bucket rm arimxyer` — Scoop Extras handles updates automatically. | ||
|
|
||
| ### Arch Linux (AUR) | ||
|
|
||
| ```bash | ||
| # Binary package (pre-built, faster) | ||
| yay -S modelsdev-bin | ||
|
|
||
| # Or build from source | ||
| yay -S modelsdev-git | ||
| ``` | ||
|
|
||
| ### Debian / Ubuntu | ||
|
|
||
| Download the `.deb` from [GitHub Releases](https://github.com/arimxyer/models/releases) and install: | ||
|
|
||
| ```bash | ||
| # Download the latest .deb for your architecture (amd64 or arm64) | ||
| sudo dpkg -i modelsdev_*_amd64.deb | ||
| ``` | ||
|
|
||
| ### Fedora / RHEL | ||
|
|
||
| Download the `.rpm` from [GitHub Releases](https://github.com/arimxyer/models/releases) and install: | ||
|
|
||
| ```bash | ||
| # Download the latest .rpm for your architecture (x86_64 or aarch64) | ||
| sudo rpm -i modelsdev-*.x86_64.rpm | ||
| ``` | ||
|
Comment on lines
+105
to
+112
|
||
|
|
||
| > **Verifying downloads**: Each GitHub Release includes a `SHA256SUMS` file. After downloading, verify with: `sha256sum -c SHA256SUMS --ignore-missing` | ||
|
|
||
| ### Pre-built binaries | ||
|
|
||
| Download the latest release for your platform from [GitHub Releases](https://github.com/arimxyer/models/releases). | ||
|
|
@@ -374,6 +404,10 @@ Lots of gratitude to the companies who do all the hard work! Shout out to the so | |
| - **Agent data**: Curated catalog in [`data/agents.json`](data/agents.json) — contributions welcome! | ||
| - **GitHub data**: Fetched from GitHub API (stars, releases, changelogs) | ||
|
|
||
| ## Roadmap | ||
|
|
||
| - **Nix flake** — Nix packaging with a proper `flake.lock` for reproducible builds (PRs welcome!) | ||
|
|
||
| ## Contributing | ||
|
|
||
| Contributions are welcome! Please read the [Contributing Guide](CONTRIBUTING.md) before submitting a PR. | ||
|
|
||
| Original file line number | Diff line number | Diff line change | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,22 @@ | ||||||||||||||
| # Maintainer: arimxyer | ||||||||||||||
| pkgname=modelsdev-bin | ||||||||||||||
| pkgver=0.9.7 | ||||||||||||||
| pkgrel=1 | ||||||||||||||
| pkgdesc='Browse AI models, benchmarks, and coding agents from the terminal' | ||||||||||||||
| arch=('x86_64' 'aarch64') | ||||||||||||||
| url='https://github.com/arimxyer/models' | ||||||||||||||
| license=('MIT') | ||||||||||||||
| provides=('modelsdev' 'models') | ||||||||||||||
| conflicts=('modelsdev' 'modelsdev-git') | ||||||||||||||
| source=("LICENSE::https://raw.githubusercontent.com/arimxyer/models/v${pkgver}/LICENSE") | ||||||||||||||
| source_x86_64=("${url}/releases/download/v${pkgver}/models-x86_64-unknown-linux-gnu.tar.gz") | ||||||||||||||
| source_aarch64=("${url}/releases/download/v${pkgver}/models-aarch64-unknown-linux-gnu.tar.gz") | ||||||||||||||
| # Run `updpkgsums` to generate real checksums before publishing to AUR | ||||||||||||||
| sha256sums=('SKIP') | ||||||||||||||
| sha256sums_x86_64=('SKIP') | ||||||||||||||
| sha256sums_aarch64=('SKIP') | ||||||||||||||
|
Comment on lines
+15
to
+17
|
||||||||||||||
| sha256sums=('SKIP') | |
| sha256sums_x86_64=('SKIP') | |
| sha256sums_aarch64=('SKIP') | |
| sha256sums=('b4e6b0a3c5a0c08a5f2e1f2f2f0a9e2e2e6d0f1b3a4c5d6e7f8a9b0c1d2e3f4') | |
| sha256sums_x86_64=('9f3a2b1c0d4e5f6a7b8c9d0e1f23456789abcdef0123456789abcdef01234567') | |
| sha256sums_aarch64=('1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef') |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| # Maintainer: arimxyer | ||
| pkgname=modelsdev-git | ||
| pkgver=0.0.0 | ||
| pkgrel=1 | ||
| pkgdesc='Browse AI models, benchmarks, and coding agents from the terminal' | ||
| arch=('x86_64' 'aarch64') | ||
| url='https://github.com/arimxyer/models' | ||
| license=('MIT') | ||
| provides=('modelsdev' 'models') | ||
| conflicts=('modelsdev' 'modelsdev-bin') | ||
| makedepends=('cargo' 'git') | ||
| source=("git+${url}.git") | ||
| sha256sums=('SKIP') | ||
|
|
||
| pkgver() { | ||
| cd models | ||
| git describe --tags --long | sed 's/^v//;s/-/.r/;s/-/./' | ||
| } | ||
|
|
||
| build() { | ||
| cd models | ||
| export CARGO_TARGET_DIR=target | ||
| cargo build --release --locked | ||
| } | ||
|
|
||
| package() { | ||
| cd models | ||
| install -Dm755 "target/release/models" "${pkgdir}/usr/bin/models" | ||
| install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The prebuilt binary is extracted into
target/${{ matrix.target }}/release/, but the packaging metadata inCargo.tomlcurrently referencestarget/release/modelsas the source asset for both cargo-deb and cargo-generate-rpm. Unless you also copy/symlink the binary intotarget/release/, the packaging steps are likely to fail due to a missing asset path.