Description
At the time of writing, there are only two official ways for using the Modrinth App on Linux - AppImages and Debian packages. While this is fine for people on Debian-based distributions, and those who like using AppImages, some may prefer to use a package manager such as flatpak
or dnf
as it's easier to manage packages that way. According to this comment, the current compiled Debian packages aren't very great right now because they don't include proper dependency info and leave out some important stuff.
Along with AppImages and Debian packages, there are various packaging solutions to consider. If there's other packaging types that you think would be a good idea, suggest them in this thread. I personally think that the Flatpak should be maintained by Modrinth, and the rest could be maintained by members of the community if they wanted to do so. I think this is especially important as the Modrinth App is now in an open beta.
This issue serves as a place to discuss packaging, and I'll also treat this as a sort of "unofficial download page" for Linux users with updated information on what packages to use and where to get them.
Indicators
✅
- a package exists and works properly
- that package is considered ready for daily use
- that package is available on commonly used repositories, such as a Flatpak being on Flathub for example
🔃
- same as 1 and 2 in the above
- however, that package is not available on commonly used repositories, but is available on a developer's personal repository. this may not be applicable for some solutions and will use the checkmark icon instead, such as COPR
Unix/Unix-like packaging
✅
Flatpak
Package is available and maintained on Flathub - com.modrinth.ModrinthApp
- thank you @getchoo and other contributors!
Package that can be used on most common Linux distributions, and also good for security as Flatpaks are sandboxed unlike other types. This will be the package that most Linux users are looking for.
Notable mentions/issues
- [feat] Bundle Tauri apps as Flatpak tauri-apps/tauri#3619 (@Hyphrio)
- May be tricky to upload to Flathub, see this comment
Who's working on this?
- @getchoo is currently working on a package add upstream distribution sources for linux + flatpak package #559
- @getchoo opened a PR for Flathub Add com.modrinth.ModrinthApp flathub/flathub#4950
✅
Arch
Packages are available and maintained on the AUR - modrinth-app
, modrinth-app-bin
, and modrinth-app-appimage
- thank you Antti!
Any ideas on this?
- @offbeat-stuff suggested making a PKGBUILD that extracts the
deb
package to be used as an Arch pacman package. Here's an example
Notable mentions/issues
- [feat] Arch support for tauri bundler tauri-apps/tauri#3728 (@Hyphrio)
- feat(bundler): Add Pacman package support, closes #3728 tauri-apps/tauri#4301 (@Hyphrio)
Who's working on this?
✅
Nix
Package is available and maintained on Nixpkgs - modrinth-app
- thank you @getchoo and other contributors!
Nix can be used on both Linux and Darwin systems and is the package manager for NixOS.
Who's working on this?
- @getchoo has a PR in nixpkgs modrinth-app: init at 0.7.1 NixOS/nixpkgs#289149
- @getchoo is also working on a Nix flake feat: add nix flake #561
✅
Homebrew
Package is available and maintained on Homebrew Cask - modrinth
.
Homebrew is a package manager for MacOS (and Linux). Idea from #560. It would allow for easy installation on MacOS.
✅
Gentoo
Package is available and maintained on Gentoo GURU - modrinth-app-bin
- thank you @Norbiros and other contributors!
User-maintained package repository for Gentoo.
Fedora Copr
User-maintained package repositories for Fedora, CentOS Stream, and RHEL. Can be enabled with dnf copr enable <author>/<repo>
Notable mentions/issues
- [feat] Bundle Tauri apps as RPM tauri-apps/tauri#4402 (@Hyphrio)
- May be difficult, see this comment
Windows packaging
🔃 🍨 Scoop
Package is available and maintained on brawaru/bucket - thank you @brawaru!
Scoop is a command-line installer for Windows. It has many benefits, such as installing packages in a portable way (by default, it installs packages to ~/scoop
). Package manifests are just simple JSON files - this shouldn't be too hard to set up.
✅
WinGet
Package is available on WinGet - currently looking for maintainers!
WinGet is Microsoft's own package manager.
Other information
Theseus is very complex to package and doing so for many different formats at a time would be a little chaotic. I think that the common package types like Flatpak, Arch and Nix packages should be done.
Leave your thoughts below!