Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
hinshun
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
5 ms
·
1.
▲
by
hinshun
1y ago
No worries. I think Make vs Ninja is a whole another discussion but how it relates to this project is that Ninja has less features than Make (e.g. no globs, etc) which makes it attractive as a simple build graph format. Nix provides the too
2.
▲
by
hinshun
1y ago
We're still missing this feature to fully incrementally compile nix: https://github.com/pdtpartners/nix-ninja/issues/19 Since there's a target that depends on a generated source file for Nix's
3.
▲
by
hinshun
1y ago
I'm not sure, but we're in contact with some core Nix folks to see what we can do help move it along.
4.
▲
by
hinshun
1y ago
It made sense internally and we also thought it'll be compelling for people interested in Nix since Nix itself uses meson and outputs ninja. What other formats do you think are worth targeting?
5.
▲
Show HN: Nix Ninja – open-source Ninja-compatible build system for Nix
(github.com)
33 points
by
hinshun
1y ago
|
15 comments
6.
▲
Show HN: Globset for Nix Source Filtering
(github.com)
7 points
by
hinshun
2y ago
|
0 comments
7.
▲
by
hinshun
3y ago
Happy to help. For EKS there’s a blog ( https://blog.realvarez.com/using-estargz-to-reduce-container... ) that goes into using stargz-snapshotter which will be same initial setup, but you’ll need to install nix as well in the
8.
▲
by
hinshun
3y ago
Yes it’s going to depend on which k8s distribution you’re using. We have work in-progress for k3s to natively support nix-snapshotter: https://github.com/k3s-io/k3s/pull/9319 For other distributions, nix-snap
9.
▲
by
hinshun
3y ago
Author of nix-snapshotter here. Yes, one of the main downsides of Docker images using Nix is the 128 layer limit. It means we have to use a heuristic to combine packages into the same layer and losing Nix’s package granularity. When buildin
10.
▲
by
hinshun
3y ago
The EKS/GKE integration involves modifying the host that the kubelet lives and adding nix-snapshotter as a sibling host service. I didn’t mean running nix-snapshotter as a Kubernetes resource because then there’s a chicken & egg pr
11.
▲
by
hinshun
3y ago
Hi Alex, I’ve updated the README with a bit more information. 0 is actually an unbindable port, so nix:0 is just an arbitrary string that is unlikely to have conflicts. The Kubelet needs to be configured with —image-service-endpoint to use
12.
▲
by
hinshun
3y ago
Yes! Our talk wasn’t accepted but Robbie and I, and a few others from my team will be there. Come say Hi!
13.
▲
by
hinshun
3y ago
Yup. If you also deploy the Nix packages to bare-metal, then creating containers is at almost zero cost because the container image component is just JSON.
14.
▲
by
hinshun
3y ago
We will be running it on a non-NixOS Kubernetes cluster, all you need is a nix daemon running as a systemd service. I have tested with EKS, and you should be able to use nix-snapshotter with GKE too. May be able to put together some docs fo
15.
▲
by
hinshun
3y ago
Thank you! We appreciate it.
16.
▲
by
hinshun
3y ago
If you are comparing non-Nix image build performance, Nix is comparable to BuildKit in that it’s able to parallelize a build graph and cache intermediary outputs. Nix doesn’t require a Dockerfile to build, and constructs the layers directly
17.
▲
by
hinshun
3y ago
That's fair, adding another service is definitely a downside. If you are running nix-built images though, the underlying data still needs to land somewhere on disk. Nix-snapshotter lets you store less data and download less data due to
18.
▲
by
hinshun
3y ago
It can leverage de-duplication in your host nix store (as a sibling service to your container runtime), as opposed to having a containerized nix store each fetching its necessary packages.
19.
▲
by
hinshun
3y ago
If you are pushing nix-snapshotter images to a Docker Registry, then it can only either use what's in your host nix store, or fetch from a binary cache. The same is true if you are using the special image reference like `nix:0/nix
20.
▲
by
hinshun
3y ago
Hi flurie, Nixery exposes an API (in the form of an Docker registry) to dynamically build Nix-based images, but still tar & compresses Nix packages into layer tarballs. Since the image spec has a limit of 128 layers (due to overlayfs),
21.
▲
Show HN: Nix Snapshotter – Native understanding of Nix packages for containerd
(github.com)
145 points
by
hinshun
3y ago
|
34 comments