!9IQChSjwSHXPPWTa:lix.systems

Lix

1123 Members
Lix user channel. Feel free to discuss on-topic issues here and give each other help. For matrix.to links to the rest of the Lix channels, see: https://wiki.lix.systems/books/lix-organisation/page/matrix-rooms304 Servers

Load older messages


SenderMessageTime
14 May 2024
@raitobezarius:matrix.orgraitobezariusAnd I will sleep myself away01:00:45
@samrose:matrix.orgsamrose
In reply to @raitobezarius:matrix.org
Maybe my dumb view on this is I need to get an Ampere Altra Q80-30 somewhere, wire this up to gigabit (or even 100mbps) and then we get faster CI to some extent

fwiw in some of these kooky nix startup companies that i worked with over the years, we started out using self-hosted ci builders (especially for darwin, but also for arm in one case) and it actually worked fine, although of course you gotta be careful about who can trigger it.

I do have one friend over at equinix metal and I don't know if they would help out one day in the future but it's possible.

I am excited about a branch of nix where people are starting to try and fix the issues, document things and evolve ecosystem and core.

01:06:01
@jkachmar:matrix.orgjkachmar
In reply to @raitobezarius:matrix.org
More generally how a Nix aware CI component will decide to place a build on a piece of compute (policy, binpacking, etc.)
we sorta have this at $DAYJOB, my coworker has slowly been making progress on extracting it for open sourcing
01:30:22
@jkachmar:matrix.orgjkachmarhe ended up just ignoring the remote build protocol tho; our system is basically a centralized, work-stealing queue of machines that progress thru a build graph of derivations w/ additional metadata for hinting at machine sizing & weighting for scheduling priority01:32:27
@jkachmar:matrix.orgjkachmar * he ended up just ignoring the remote build protocol tho; our system is basically a centralized, work-stealing queue fashioned after the graph of whatever derivations get submitted. since it's all coordinated w/ Postgres, builders progress thru the graph by querying for available derivations based on builder features, weights, etc.01:34:18
@jkachmar:matrix.orgjkachmarmore intelligent binpacking would be nice, but i think actually just running a bunch of garbage & applying weights based on historical characteristics works kinda great esp. if you have global deduplication of builds01:35:01
@jkachmar:matrix.orgjkachmar but to tie it back to something lix-relevant: man... a lot of work basically went into hitting problems w/ nix-the-application and just having to work around more stuff 01:41:30
@samrose:matrix.orgsamrose
In reply to @jkachmar:matrix.org
he ended up just ignoring the remote build protocol tho; our system is basically a centralized, work-stealing queue fashioned after the graph of whatever derivations get submitted.

since it's all coordinated w/ Postgres, builders progress thru the graph by querying for available derivations based on builder features, weights, etc.
yeah I also often wondered about just short circuiting by storing derivation data in postgres. Maybe that is more possible with content addressed derivations? I work on a product that is hosted postgres with a postgest api and was experimenting with wrapping nix with cli that can talk to postgrest and store data like this. It also seems like maybe you wouldn't need binpacking if you had a simple agent on the build machine that can just reveal the resources available
01:49:53
@darkkronicle:jpxs.ioDarkKronicle (Let me know if I should ask this question somewhere else). Is there a way to debug why Lix is building from source and not using the binary cache? It installs just fine, just wondering if it's on my end. I added the substituter to my substituter list and double checked the public key. (My current version is 2.90.0-beta.1-lixpre20240506-b6799ab). Each time it builds it gives me a different hash, so maybe I have a weird dependency issue? 02:11:04
@leo60228:matrix.orgleo60228
In reply to @raitobezarius:matrix.org
Maybe my dumb view on this is I need to get an Ampere Altra Q80-30 somewhere, wire this up to gigabit (or even 100mbps) and then we get faster CI to some extent
apparently asrock rack recently launched a "normal" ampere altra board
02:11:14
@leo60228:matrix.orgleo60228 which looks v interesting 02:11:16
@leo60228:matrix.orgleo60228 not cheap, but 02:11:18
@leo60228:matrix.orgleo60228 annoyingly basically no compatible coolers exist, if you buy the motherboard together with a CPU it comes with a 2U passive cooler, alphacool makes a compatible waterblock, and noctua has two coolers listed on their website but just say to contact their b2b sales address if you want to buy one 02:12:49
@samrose:matrix.orgsamrose
In reply to @darkkronicle:jpxs.io
(Let me know if I should ask this question somewhere else). Is there a way to debug why Lix is building from source and not using the binary cache? It installs just fine, just wondering if it's on my end. I added the substituter to my substituter list and double checked the public key. (My current version is 2.90.0-beta.1-lixpre20240506-b6799ab). Each time it builds it gives me a different hash, so maybe I have a weird dependency issue?
When I nix build -L in the root of the source repo, I just see the same version each time, and uses the build from cache (although I have not replaced nix with lix on the same machine I built it on)
02:40:35
@darkkronicle:jpxs.ioDarkKronicleMaybe it's because I'm using nixpkgs unstable?02:42:16
@samrose:matrix.orgsamroseare you installing lix from nixpkgs is that right?02:44:04
@darkkronicle:jpxs.ioDarkKronicle
inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
    lix = {
      url = "git+https://git@git.lix.systems/lix-project/lix?ref=refs/tags/2.90-beta.1";;
      flake = false;
    };
    lix-module = {
      url = "git+https://git.lix.systems/lix-project/nixos-module";;
      inputs.lix.follows = "lix";
      inputs.nixpkgs.follows = "nixpkgs";
    };
   ...
}
02:46:33
@samrose:matrix.orgsamrosefwiw there is only one commit of lix in nixpkgs-unstable so I don't believe using nixpkgs-unstable is a factor https://github.com/NixOS/nixpkgs/commits/nixpkgs-unstable/pkgs/tools/package-management/lix/default.nix02:48:40
@samrose:matrix.orgsamroseoh wait, you are sourcing lix from the upstream source ok02:49:18
@darkkronicle:jpxs.ioDarkKronicleohhh I didn't realize it existed as a package on nixpkgs yet02:49:33
@darkkronicle:jpxs.ioDarkKronicleI'll probably just switch to that then :p02:49:43
@samrose:matrix.orgsamrosesomeone mentioned earlier that the nixpkgs version may lag behind a bit02:50:24
@darkkronicle:jpxs.ioDarkKronicleHmm ok. So the binary cache is built with the latest nixpkgs stable release then?02:51:18
@samrose:matrix.orgsamrosehttps://matrix.to/#/!9IQChSjwSHXPPWTa:lix.systems/$V1dsy1Ni0XPj4DAz06RY8j3BcaEoJFBeERONLReRWEw?via=lix.systems&via=matrix.org&via=auxolotl.org02:51:20
@samrose:matrix.orgsamrose
In reply to @puck:puck.moe
The version of Lix in nixpkgs will likely lag behind by a bit; and the dedicated overlay/module will build other packages that depend on Nix with Lix as well; which doesn't happen in nixpkgs.
this message sorry ^^
02:52:31
@samrose:matrix.orgsamrosebut it may make it easier in the short term02:52:47
@samrose:matrix.orgsamroseto use lix02:52:50
@samrose:matrix.orgsamrose(installing from nixpkgs may make it easier I mean)02:54:14
@darkkronicle:jpxs.ioDarkKronicle That makes sense, I'll probably still use the module, but may switch to have it follow stable to be able to use the cache. Since this follows stable (https://git.lix.systems/lix-project/lix/src/branch/main/flake.nix#L5). Thanks for the help! Really looking forward to this project 02:57:37
@easrng:yuri.imeasrng changed their profile picture.03:18:18

Show newer messages


Back to Room ListRoom Version: 10