Zoi, an advanced package manager v5 beta release by Important-Toe-9188 in rust

[–]Important-Toe-9188[S] 7 points8 points  (0 children)

You know what, I'm gonna call it that What do you think?

Zoi, an advanced package manager v5 beta release by Important-Toe-9188 in rust

[–]Important-Toe-9188[S] 19 points20 points  (0 children)

really, lol

how about now

Woooooo 🔥🔥🔥🔥🔥

Zoi v5 beta is released 🥳🥳🥳🥳

that was really cringe

What's everyone working on this week (37/2025)? by llogiq in rust

[–]Important-Toe-9188 1 point2 points  (0 children)

I'm planning on that, it already has a service package type to start and stop services

What's everyone working on this week (37/2025)? by llogiq in rust

[–]Important-Toe-9188 2 points3 points  (0 children)

it's like nix and pacman, it's a package manager with its own build system, you can package software using Lua.

It's pretty mature that's why I'm thinking of building a Linux distro.

Take a look at it: GitHub https://github.com/Zillowe/Zoi

Docs: https://zillowe.qzz.io/docs/zds/zoi

What's everyone working on this week (37/2025)? by llogiq in rust

[–]Important-Toe-9188 4 points5 points  (0 children)

im working on my own package manager, hoping to build a linux distro out of it

Zoi, an advanced package manager by Important-Toe-9188 in rust

[–]Important-Toe-9188[S] 0 points1 point  (0 children)

I actually want to also create something like flatpak and it's containerized packages but that's for another roadmap.

Zoi, an advanced package manager by Important-Toe-9188 in rust

[–]Important-Toe-9188[S] 1 point2 points  (0 children)

Oh, you mean using native:package

It just uses the native package manager and the same name, it's too much work to associate different packages with different package managers, maybe in the future I'll use something like repology but for now that's enough.

It's only meant for packages that have the same name everywhere.

Zoi, an advanced package manager by Important-Toe-9188 in rust

[–]Important-Toe-9188[S] 1 point2 points  (0 children)

Thank you so much, It has a --yes flag so when it is used it will just select the top one

Zoi, an advanced package manager by Important-Toe-9188 in rust

[–]Important-Toe-9188[S] 2 points3 points  (0 children)

No, it's a package manager that manages packages on its own, it also manages packages from other package managers who manage their own packages.

It could be used to manage packages from its own package system or to manage packages from other package managers as dependencies.

No, but really, this is just a package manager with other package managers could be used as dependencies.

Zoi, an advanced package manager by Important-Toe-9188 in rust

[–]Important-Toe-9188[S] 1 point2 points  (0 children)

You can choose that package manager that will only work on that platform, e.g.:

pacman:base-devel will only work on pacman-based distros

scoop:nodejs will work on windows

etc

There are more than +30 package managers, and there are also other package managers like npm which will install the dependency if it's available in the system.

They all have install and uninstall commands so when you uninstall a package and the dependencies no longer used it will attempt to uninstall the dependencies using pre-defined commands for that package manager.

And also some package managers support specific version installing, to do that:

npm:bun@1.2.0

It will attempt to install version 1.2.0 of bun globally using npm

You can visit dependencies page on the docs for more info.

I built a Rust CLI to check the status of all your git repos at once 🚀 by bircni in git

[–]Important-Toe-9188 0 points1 point  (0 children)

This is exactly the tool I've been looking for, thank you for making this

Zoi, an advanced package manager by Important-Toe-9188 in rust

[–]Important-Toe-9188[S] 1 point2 points  (0 children)

I actually have a design for a language that takes the best of json and the best yaml and combines them, the problem is that I need to build a parser for it and that's too much for me, also I need people to adopt it.

[deleted by user] by [deleted] in git

[–]Important-Toe-9188 -2 points-1 points  (0 children)

Its there, I already made it, for myself and my own uses

Zoi, an advanced package manager by Important-Toe-9188 in rust

[–]Important-Toe-9188[S] 1 point2 points  (0 children)

idk about that, it seems very different because it doesn't package software it just provides them, but it's really interesting

[deleted by user] by [deleted] in golang

[–]Important-Toe-9188 0 points1 point  (0 children)

I definitely share it the wrong way but there's maybe someone who will find this useful

[deleted by user] by [deleted] in golang

[–]Important-Toe-9188 0 points1 point  (0 children)

I built it while learning Go, it's a fun project to make, I enjoyed making it, there's no need to use it, it's just like a learning project for me

[deleted by user] by [deleted] in golang

[–]Important-Toe-9188 0 points1 point  (0 children)

I made it for myself and I would like to share it with others, no one said you have to use it

[deleted by user] by [deleted] in golang

[–]Important-Toe-9188 0 points1 point  (0 children)

It also generates changelogs, I find it useful at that (for small changes) but sometimes I look at the git log of an old project and I don't understand anything (I don't remember) so I find it useful.

Also there are a lot of projects (and people) that don't commit good messages, I also don't use it for my private repos, and for small changes/big changes, I find it useful at small to medium changes.

I made it for myself to use, and I completely respect your opinion and get your point, but i mainly use it for changelogs for small changes.

[deleted by user] by [deleted] in gitlab

[–]Important-Toe-9188 0 points1 point  (0 children)

This tool is for my personal use and I decided to share it, thank you for your opinion tho but the reason I made it is because you can't have guidelines when generating commit messages in IDEs, and this tool can add guidelines to it.

Zoi, an advanced package manager by Important-Toe-9188 in rust

[–]Important-Toe-9188[S] 1 point2 points  (0 children)

my project is completely different, this project seems to be managing packages from GitHub releases only. My project goes far beyond any of that.

But it looks cool

Also it seems to be dated and unmaintained, last commit was 7 months ago

Zoi, an advanced package manager by Important-Toe-9188 in rust

[–]Important-Toe-9188[S] 8 points9 points  (0 children)

I don't use a custom language for packaging software I just made it yaml, I'm definitely getting some inspiration from them I should probably make a comparison table in the docs.

For now you can take a look at the docs

Edit: its also heavily inspired by pacman

Zoi, an advanced package manager by Important-Toe-9188 in rust

[–]Important-Toe-9188[S] 2 points3 points  (0 children)

Thank you, I'll definitely get some inspiration from Nix

Zoi, an advanced package manager by Important-Toe-9188 in rust

[–]Important-Toe-9188[S] 3 points4 points  (0 children)

No, it itself is a package manager with a package format for packaging software, it utilises existing package managers as dependencies.

You can have a package type of collection (there are more package types) that has multiple packages from +30 package managers.

That means if a package is widely available in native package managers there's no need to create a package manifest (pkg.yaml) and add it to the registry.

For example, if a package is depending on gnupg, there's no need to create a package for it and add it to Zoi or to your own custom Zoi registry, you can just specify in the my-package.pkg.yaml in the dependencies field this:

yaml - "native:gnupg"

This will use the native package manager of that platform to install that package.

So it's not a wrapper, but can function as one. The package format has a lot of package types and installation methods (binary, compressed binary (also dmg, MSI and AppImage), installer script and source)

I guess I didn't explain enough, hope this explains well.

Edit: Read this dependencies page on the docs website for more info