!djTaTBQyWEPRQxrPTb:nixos.org

Nixpkgs Architecture Team

231 Members
https://github.com/nixpkgs-architecture, weekly public meetings on Wednesday 15:00-16:00 UTC at https://meet.jit.si/nixpkgs-architecture53 Servers

Load older messages


SenderMessageTime
17 Aug 2022
@profpatsch:augsburg.oneprofpatschSo you can’t look at modules in a vacuum, they might influence each other.13:56:49
@roberthensing:matrix.orgRobert Hensing (roberth)exactly, so only use it when that's what you need13:57:26
@profpatsch:augsburg.oneprofpatschroberthensing: I’m not talking about only using the power when you need it, I’m saying because the power is there in the first place, the implementation will need to be slow.13:58:17
@roberthensing:matrix.orgRobert Hensing (roberth)I'm not suggesting that we put all logic together all the time like we do in NixOS13:59:06
@profpatsch:augsburg.oneprofpatschIt’s like taking the first element of a lazy list, which should be O(1), except the lazy list is generated in a way that you can only know the first element if you know the last element13:59:08
@roberthensing:matrix.orgRobert Hensing (roberth)you only add the stuff you need for a specific package or derivation13:59:20
@profpatsch:augsburg.oneprofpatschI hope that makes sense13:59:24
@roberthensing:matrix.orgRobert Hensing (roberth)so then it is a good thing that we can create interfaces that allow extension rather than hardcoding everything into a huge object14:02:31
@roberthensing:matrix.orgRobert Hensing (roberth)we need to consider the context here. Do you know of an alternative way to reorganize mkDerivation to support polyglot projects with multiple language integrations in the same derivation?14:05:44
@qyliss:fairydust.spaceAlyssa Rossuh, setup hooks?14:08:03
@qyliss:fairydust.spaceAlyssa Ross(not saying they're good)14:08:30
@roberthensing:matrix.orgRobert Hensing (roberth)good point, but currently language integrations have a bunch of Nix-level logic too14:08:31
@qyliss:fairydust.spaceAlyssa Rossyes, but we could try to get rid of that14:08:47
@qyliss:fairydust.spaceAlyssa Rossthat had been my plan, assuming I couldn't make fundamental changes to stdenv14:09:14
@roberthensing:matrix.orgRobert Hensing (roberth)in some cases that may cause rebuilds, because a conditional can not cause a dependency to be removed from the hash when the conditional is in the builder14:09:41
@roberthensing:matrix.orgRobert Hensing (roberth) * that will cause more rebuilds, because a conditional can not cause a dependency to be removed from the hash when the conditional is in the builder14:09:58
@profpatsch:augsburg.oneprofpatschroberthensing: wait, I thought this was about the module system eval overhead14:17:51
@profpatsch:augsburg.oneprofpatschmkDerivation is orthogonal imo14:18:14
@roberthensing:matrix.orgRobert Hensing (roberth)

Why strip down the module system?
A module system for packaging would be awesome, but the current module system
is too slow. This is ok for configuration management, but hurts packaging
performance too much.

14:18:49
@roberthensing:matrix.orgRobert Hensing (roberth)https://gist.github.com/roberth/940dff88ca5f5f95949dc309dbe60a6514:19:02
@roberthensing:matrix.orgRobert Hensing (roberth)modules quick enough for use in packaging14:19:11
@roberthensing:matrix.orgRobert Hensing (roberth)that's the niche for which I thought it's fitting14:19:59
@profpatsch:augsburg.oneprofpatschokay I missed that part14:20:00
@profpatsch:augsburg.oneprofpatsch I think the module system is already too slow for nixos options 14:20:16
@profpatsch:augsburg.oneprofpatschEvalling my system takes like 5–10 seconds14:20:29
@profpatsch:augsburg.oneprofpatschand that’s just one system14:20:31
@roberthensing:matrix.orgRobert Hensing (roberth)it's really quick if you don't load all of NixOS14:20:32
@roberthensing:matrix.orgRobert Hensing (roberth)I've revived RFC 22 a bit around the start of the year14:21:08
@profpatsch:augsburg.oneprofpatschnow you’ve got two import systems; who guarantees that some module that you are importing from nixos does not implicitely pull in the whole elephant?14:21:30
@profpatsch:augsburg.oneprofpatschI had a thought that the first step to get an overview would be to generate a dot-graph of all option dependencies in nixpkgs14:22:18

There are no newer messages yet.


Back to Room ListRoom Version: 9