frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

What building a Package Manager taught me

1•xerrs•1h ago
The Package manager from the official Zig source, meaning "zig fetch" was very annoying. I hated having to first fetch the project from a URL, and then copy code into the build.zig, and then have no intellisense, and just GUESS what I have to write, and what I do not have to write. It was chaos.

So I fixed it, by building my own package manager, zeP. https://github.com/XerWoho/zeP

It is a simple package manager and Zig version manager.

What did I learn, though? First off, building a package manager requires INTENSIVE planning. I am currently still on pre-release, which is where big changes are to be expected, but the number of big changes I have already made has made me realize that I have to stop programming and start thinking before committing to something.

For example, my executable was named zeP, which is an issue for Linux users. They always had to type zeP, with the capital P, which is simply annoying.

Before that, I had a Zig version manager in zeP, which, after installing a Zig version, or switching to a version, changed the path to the file of the executable. Meaning it added a new path on each install or switch.

~/zig-0.15.1/x86-windows/:~/zig-0.13.0/x86-windows:~/zig-....

Some can see how bloated a PATH variable can get after a while, and not only that, it is completely useless, because I check if the path is in the PATH variable, and if it is, I do not add it. Meaning that (for the example above), zig 0.13.0 will never be used again, because it gets overshadowed by 0.15.1. To fix this, I use symlinks. Only on main path; ~/.local/bin, and within that path, zig, which is getting symlinked across installs and switches.

Symlinks looked very good to me, since I found out how pnpm works. Pnpm works with symlinks, reducing installs, delays, and sizes, because there is a main folder which has ALL the files, and they are getting linked across projects. But, there was a catch. If you uninstall a package, it deletes the package in the main folder, meaning all the other projects which might have that package installed will have a dangling symlink.

Again, the solution was simple. A manifest.json. In there, we store all the packages, with their linked projects. This will check the linked projects, and if it the package has no linked projects, only then, will it delete the package; else, it will just unlink the project.

Needless to say, there were a lot of issues that required testing and using zeP myself. Only by using my own product, could I determine the issues other people might have with it. But some people also gave feedback, after which I fixed a few issues.

zeP has its own custom printer struct. It receives data, and then re-prints it, by clearing the entire screen, and then printing again. This was done, so I had stuff like progress bars, etc. However a user hated the fact, that zeP literally hijacked your entire screen. So now, zeP only clears its OWN lines, and leaves your other stuff alone.

Building a package manager does not only require testing on my side, but also community feedback.

CPR: Christmas Present Rush

https://sublevelgames.itch.io/cpr-christmas-present-rush
1•greentec•3m ago•0 comments

Rust and the Price of Ignoring Theory [video]

https://www.youtube.com/watch?v=1iPWt1gvT_w
1•ok123456•4m ago•0 comments

Exposing Game Servers over Tailscale

https://chameth.com/exposing-game-servers-over-tailscale/
2•todsacerdoti•5m ago•0 comments

A Machine Learning Researcher's Notes from 5k Hours of Tekken

1•taha_moji•5m ago•0 comments

Watch these towers get wiggly

https://www.sfgate.com/national-parks/article/national-parks-under-threat-vibrations-21252643.php
1•ubasu•8m ago•0 comments

The Hum

https://en.wikipedia.org/wiki/The_Hum
1•doener•9m ago•0 comments

Text Similarity Search in Postgres

https://blog.kehvyn.dev/blog/pg-trgm-and-text-similarity-search/
1•kehvyn•12m ago•1 comments

Orbital Compute Control Room: A Space-based Data Centre Simulator

https://astrocompute.dev
3•throw0101a•15m ago•0 comments

What's new in Swift: December 2025 Edition

https://swift.org/blog/whats-new-in-swift-december-2025/
1•frizlab•18m ago•0 comments

Don't go to physics grad school and other cautionary tales

https://scottlocklin.wordpress.com/2025/12/19/dont-go-to-physics-grad-school-and-other-cautionary...
3•dxs•19m ago•0 comments

PulseScribe – Open-source voice-to-text for macOS with local AI

https://pulsescribe.me
1•fabszilla•20m ago•1 comments

TAS Explained: Super Mario Bros. 3 in 0.2 seconds [video]

https://www.youtube.com/watch?v=fQYX_AVxGq0
1•Sir_Twist•21m ago•0 comments

Lessons from a year of Postgres CDC in production

https://clickhouse.com/blog/postgres-cdc-year-in-review-2025
1•saisrirampur•23m ago•0 comments

We migrated off Django's storage API to a filesystem-first approach

https://goauthentik.io/blog/2025-12-19-why-we-revamped-file-management/
2•sdko•26m ago•0 comments

Hochul Reaches Deal on A.I. Regulation in New York

https://www.nytimes.com/2025/12/19/nyregion/ai-bill-regulations-ny.html
6•donohoe•28m ago•0 comments

The FOSS community acts like a cult and it's not helping the cause

https://torrent-empress.leaflet.pub/3mackqgyzh22t
5•Aloha•31m ago•7 comments

Ask HN: What was your worst typo?

1•juujian•36m ago•2 comments

Faith in the internet is fading among young Brits

https://www.theregister.com/2025/12/19/internet_bad_for_society/
6•Bender•38m ago•0 comments

Using GraphViz for Claude.md

https://blog.fsck.com/2025/09/29/using-graphviz-for-claudemd/
1•CharlesW•39m ago•0 comments

Show HN: Reavil – Turn qualitative user feedback into structured data

https://reavil.io
1•Jeebz•39m ago•1 comments

Ideatr – build and grow apps at the speed of thought

https://www.ideatr.dev/
1•arjunkshah21•41m ago•1 comments

Deep Time Maps – maps of ancient earth

https://deeptimemaps.com/
1•moultano•41m ago•0 comments

Wow! Signal

https://en.wikipedia.org/wiki/Wow!_signal
4•basilikum•42m ago•0 comments

Lovable, a Startup That Makes Anyone a Coder, Raises $330M

https://www.nytimes.com/2025/12/18/business/dealbook/lovable-a-start-up-that-makes-anyone-a-coder...
2•bookofjoe•43m ago•1 comments

DOJ Jeffrey Epstein

https://www.justice.gov/epstein
6•stevenjgarner•46m ago•0 comments

I wrote this blog post about how we approach spec-driven development

https://www.atelierlogos.studio/blog/2025-12-18-how-we-build-complex-apps
1•jdbohrman•46m ago•0 comments

DOJ Epstein Library Disclosures

https://www.justice.gov/epstein/doj-disclosures
2•stevenjgarner•48m ago•1 comments

Unix v4 Tape

https://discuss.systems/@ricci/115748594116050292
1•todsacerdoti•49m ago•0 comments

Wine 11.0-Rc3 Released with Another Week of Bug Fixing

https://www.phoronix.com/news/Wine-11.0-rc3-Released
2•Bender•50m ago•1 comments

LG TVs' unremovable Copilot shortcut is the least of smart TVs' AI problems

https://arstechnica.com/gadgets/2025/12/lg-tvs-unremovable-copilot-shortcut-is-the-least-of-smart...
3•Bender•53m ago•0 comments