<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: ZilloweZ</title>
    <description>The latest articles on DEV Community by ZilloweZ (@zillowez).</description>
    <link>https://dev.to/zillowez</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F987839%2F00d8db34-b44c-4b57-be3e-1cb3d904ef27.jpg</url>
      <title>DEV Community: ZilloweZ</title>
      <link>https://dev.to/zillowez</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/zillowez"/>
    <language>en</language>
    <item>
      <title>Zoi, an advanced package manager v5 beta release</title>
      <dc:creator>ZilloweZ</dc:creator>
      <pubDate>Tue, 09 Sep 2025 03:09:15 +0000</pubDate>
      <link>https://dev.to/zillowez/zoi-an-advanced-package-manager-v5-beta-release-4p4f</link>
      <guid>https://dev.to/zillowez/zoi-an-advanced-package-manager-v5-beta-release-4p4f</guid>
      <description>&lt;p&gt;Hi yall,&lt;br&gt;
I'm excited to announce that Zoi v5 beta is released.&lt;/p&gt;

&lt;p&gt;Zoi is a package manager, like pacman and nix, you package software with Lua and it has a build system for packages and a rich dependency system.&lt;/p&gt;

&lt;p&gt;Zoi can build a package archive for you without building the software from source, if your software you're trying to package already provides a binary or a compressed binary (tar.gz, tar.xz, tar.zsr, zip) or from source if you want.&lt;/p&gt;

&lt;p&gt;Zoi will downloads the binaries and extract them, verify their checksums and signatures (if provided) and package them into a &lt;code&gt;name-version-os-arch-pkg.tar.zst&lt;/code&gt; archive.&lt;/p&gt;

&lt;p&gt;Zoi has a &lt;code&gt;pgp&lt;/code&gt; command for handling pgp keys and reuse them to verify the signatures of the software, and a &lt;code&gt;man&lt;/code&gt; command to view the manual of a package (either installed locally or from the upstream URL).&lt;/p&gt;

&lt;p&gt;Zoi also has a lot of more features, such as dependency handling with 40+ package managers, an extensions system, repo management (you can change the git registry (Zoi package registries are simple git repos) to your own to to one of Zoi's mirrors, you can create your own registry with an archive packages repo to install the &lt;code&gt;pkg.tar.zst&lt;/code&gt; archives, and you can add mirrors for both), also you can add git repos as repos and access them with this format &lt;code&gt;@git/repo-name/package&lt;/code&gt; if you don't want to replace the package registry.&lt;/p&gt;

&lt;p&gt;Or you can install a package from a git repo (GitHub, GitLab, Codeberg) from a &lt;code&gt;zoi.yaml&lt;/code&gt; in that repo to install the package.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;zoi &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;--repo&lt;/span&gt; gh:Zillowe/Hello
&lt;span class="c"&gt;# GitHub by default so no need to specify gh, GitLab gl, Codeberg cb&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Zoi install commands works like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Read the &lt;code&gt;repo.yaml&lt;/code&gt; and see if there's an archive packages repo.&lt;/li&gt;
&lt;li&gt;If there's it will install the &lt;code&gt;pkg.tar.zst&lt;/code&gt; for that package.&lt;/li&gt;
&lt;li&gt;If it fails or there isn't it will try to build a &lt;code&gt;pkg.tar.zst&lt;/code&gt; then install it.
4 if that fails or package type isn't supported it will fallback into the normal installation by getting the sources and place them into their location.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Install Zoi with these package managers:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;yay &lt;span class="nt"&gt;-S&lt;/span&gt; zoi-bin

brew &lt;span class="nb"&gt;install &lt;/span&gt;Zillowe/tap/Zoi

scoop add bucket https://github.com/Zillowe/scoop.git
scoop &lt;span class="nb"&gt;install &lt;/span&gt;zoi

npx @zillowe/zoi
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or via an installer script:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://zillowe.pages.dev/scripts/zoi/install.sh | bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or from source using Cargo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;cargo &lt;span class="nb"&gt;install &lt;/span&gt;zoi-rs
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Some working examples:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;zoi &lt;span class="nb"&gt;install&lt;/span&gt; @zillowe/hello
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;zoi man @zillowe/hello
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;There's a lot of other features that I can't cover, like there's a lot of package types such as service, config, extension, and more.&lt;/p&gt;

&lt;p&gt;With Zoi you can replace Omarchy (v1) and Omakub with a package type of config.&lt;br&gt;
And also some of Nix functionality.&lt;/p&gt;

&lt;p&gt;Also Zoi is a library so you can add it to your own Rust applications.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;cargo add zoi-rs
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Also there's an example package &lt;code&gt;@zillowe/hello&lt;/code&gt; follow the guide to learn how to package a package: &lt;a href="https://github.com/Zillowe/Hello" rel="noopener noreferrer"&gt;https://github.com/Zillowe/Hello&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All features are documented in the docs so please take a look at them because there's a lot.&lt;/p&gt;

&lt;p&gt;Docs: &lt;a href="https://zillowe.qzz.io/docs/zds/zoi" rel="noopener noreferrer"&gt;https://zillowe.qzz.io/docs/zds/zoi&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I welcome contributors since I'm the only maintainer and specifically with contributing in the docs because it needs some work.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/Zillowe/Zoi" rel="noopener noreferrer"&gt;https://github.com/Zillowe/Zoi&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This should be the last release before v1 stable.&lt;/p&gt;

&lt;p&gt;Join my discord server (it's in the GitHub repo).&lt;/p&gt;

&lt;p&gt;Also I'm not aiming on a big package registry, I'm just providing a tool for people to use and build their own thing (if you want to upload your package to Zoi official package registry is welcome because a big package registry would be neat).&lt;/p&gt;

&lt;p&gt;Some of the next features I'm planning to implement:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Project specific packages, defining package in the local &lt;code&gt;zoi.yaml&lt;/code&gt; and install these packages into a local &lt;code&gt;.zoi/&lt;/code&gt; directory without adding it to PATH and runnable via &lt;code&gt;zoi exec&lt;/code&gt; command.&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Zoi, an advanced package manager</title>
      <dc:creator>ZilloweZ</dc:creator>
      <pubDate>Wed, 03 Sep 2025 22:57:22 +0000</pubDate>
      <link>https://dev.to/zillowez/zoi-an-advanced-package-manager-27gd</link>
      <guid>https://dev.to/zillowez/zoi-an-advanced-package-manager-27gd</guid>
      <description>&lt;p&gt;Hi, I'm building a universal package manager, think of it like a highly customizable universal AUR for all platforms (including FreeBSD and OpenBSD).&lt;/p&gt;

&lt;p&gt;I'm gonna show you some of the features.&lt;/p&gt;

&lt;p&gt;You can install a package from active repos:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;zoi &lt;span class="nb"&gt;install &lt;/span&gt;hello
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can install a package from a repo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;zoi &lt;span class="nb"&gt;install&lt;/span&gt; @hola/hola
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can install a package with a custom version:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;zoi &lt;span class="nb"&gt;install &lt;/span&gt;package@v1.2.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can update a package:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;zoi update package &lt;span class="c"&gt;# all for updating all installed packages&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can pin a package to a specific version to stop updates above that version:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;zoi pin package v1.2.0 &lt;span class="c"&gt;# unpin to unpin the pinned package&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can uninstall a package:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;zoi uninstall package
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can add a repo to the active list:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;zoi repo add repo-name
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And more, like search, list, and show packages info, and build packages from source.&lt;/p&gt;

&lt;p&gt;And a lot of dependency features with compatibility with existing package managers.&lt;/p&gt;

&lt;p&gt;Also you can use a custom registry and add your own repos (if you don't want to change the entire registry)&lt;/p&gt;

&lt;p&gt;The registry uses git because when updating existing packages and adding new ones the sync process will be fast because we're not downloading the entire registry again.&lt;/p&gt;

&lt;p&gt;My current aim is to make the package manager provide safe packages with security verifications, I already implemented checksums verification and signature verification.&lt;/p&gt;

&lt;p&gt;But I need help building it, the project is expanding and I'm the only maintainer with no contributors, if you find this project interesting please consider to contribute, every contribution counts. And if you have time and the experience to co-maintain this project with me please consider contacting me, I could offer a GitLab Ultimate seat also.&lt;/p&gt;

&lt;p&gt;GitHub &lt;a href="https://github.com/Zillowe/Zoi" rel="noopener noreferrer"&gt;https://github.com/Zillowe/Zoi&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Docs &lt;a href="https://zillowe.qzz.io/docs/zds/zoi" rel="noopener noreferrer"&gt;https://zillowe.qzz.io/docs/zds/zoi&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I have a lot plans and features to implement with a little time, please consider helping.&lt;/p&gt;

&lt;p&gt;The roadmap for v5 beta is at ROADMAP.md in the repo&lt;/p&gt;

&lt;p&gt;All features are documented on the docs site&lt;/p&gt;

</description>
      <category>programming</category>
      <category>developers</category>
      <category>tooling</category>
      <category>rust</category>
    </item>
  </channel>
</rss>
