!djTaTBQyWEPRQxrPTb:nixos.org

Nixpkgs Architecture Team

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

Load older messages


SenderMessageTime
7 Jul 2022
@kevincox:matrix.orgkevincox

Unfortunately it is not. I would open source it but I actually lost the source so unless I find a way to download the python from Google Cloud Functions it isn't going to get improvements any time soon.

That being said the service is trivial. It just uses the API to add the requested user to the event. Probably should have some rate limiting or something... Maybe I'll rewrite it some day.

23:33:09
8 Jul 2022
@aciceri:nixos.devzrsk infinisil: while I don't think having enough experience with the high level nixpkgs architecture (then I don't think I could bring great contribution to the discussions) I would enjoy to attend (at least some) meetings. This is my email: andrea.ciceri@autistici.org 07:22:35
@infinisil:matrix.orginfinisil zrsk: Invited :) 07:30:08
@gytis-ivaskevicius:matrix.orgGytis Ivaskevicius joined the room.08:24:24
@tomberek:matrix.orgtomberek
In reply to @infinisil:matrix.org
Ping tomberek
I’m camping this week. The overall idea sounds good. The one recommendation I’d have is to have two kinds of sessions. One for meetings/discussion and one for actually working/hacking/pair-programming/etc. Time set aside for each. This worked well (when we adhere to it) on the UX team.
10:54:10
@sandro:supersandro.deSandro 🐧 joined the room.12:26:37
@theophane:hufschmitt.netThéophane joined the room.13:14:36
@chris:mkaito.netmkaito joined the room.13:17:45
@biohazard6743:matrix.orgbiohazard6743 joined the room.17:58:25
9 Jul 2022
@nbathum:matrix.orgnbathum (he or they) joined the room.02:27:07
@nbathum:matrix.orgnbathum (he or they) infinisil: please invite me nick@bathumsphere.com 02:28:32
@mstone:matrix.orgmstone joined the room.03:26:46
@infinisil:matrix.orginfinisil nbathum (he or they): Done :) 08:02:12
@yinfeng:matrix.orgyinfeng joined the room.09:44:50
@jiegec:matrix.orgjiegec joined the room.09:49:06
@me:linj.techlinj joined the room.09:52:01
@gytis-ivaskevicius:matrix.orgGytis Ivaskevicius

Hi all, yesterday this idea popped into my mind, has no business value just a cleanup. Maybe someone could evolve this idea further. Anyways here I go:

pkgs is a large complex recursive structure that should be simplified.
Solution: Create several 'simple' namespaces which together could be evaluated to pkgs

One of the examples would be lib structure, while it contains basically anything - it is nice and flat lib :: attrsOf any

So off the top of my head, there are 2 that could be separated:

  1. Builders - functions that return derivation. builders :: pkgs -> attrsOf (attrs -> derivation)
  2. Package groups - attribute sets of packages like python.<derivation> or gnome.<derivation>. Sometimes they include builders, not sure how to deal with that. packageGroups :: pkgs -> attrsOf derivation

pkgs evaluation:

let
  result = fancyPkgsBuilder [
    (builders result)
    (packageGroups result)
    (rootPackages result)
  ];
in result

And yeah, for the record I have not thought all this through and there will be edge cases, just maybe if there ever is going to be some large refactoring someone will keep this in mind.

16:50:03
10 Jul 2022
@artturin:matrix.orgArtturinRedacted or Malformed Event11:46:17
@artturin:matrix.orgArtturinhttps://github.com/NixOS/nixpkgs/issues/17200811:48:22
@infinisil:matrix.orginfinisil
In reply to @gytis-ivaskevicius:matrix.org

Hi all, yesterday this idea popped into my mind, has no business value just a cleanup. Maybe someone could evolve this idea further. Anyways here I go:

pkgs is a large complex recursive structure that should be simplified.
Solution: Create several 'simple' namespaces which together could be evaluated to pkgs

One of the examples would be lib structure, while it contains basically anything - it is nice and flat lib :: attrsOf any

So off the top of my head, there are 2 that could be separated:

  1. Builders - functions that return derivation. builders :: pkgs -> attrsOf (attrs -> derivation)
  2. Package groups - attribute sets of packages like python.<derivation> or gnome.<derivation>. Sometimes they include builders, not sure how to deal with that. packageGroups :: pkgs -> attrsOf derivation

pkgs evaluation:

let
  result = fancyPkgsBuilder [
    (builders result)
    (packageGroups result)
    (rootPackages result)
  ];
in result

And yeah, for the record I have not thought all this through and there will be edge cases, just maybe if there ever is going to be some large refactoring someone will keep this in mind.

I haven't thought of making a separation like that, but it's an interesting thought. I guess this also goes a bit into the direction of what flakes does, to have separate output attributes for different things, like derivations in packages, library functions in lib, nixos modules in nixosModules, etc.
15:01:20
@kevincox:matrix.orgkevincox

We kinda already have separation for a few things like lib and python packages. But to be honest I generally find that anything more complex leads to pretty meaningless grouping.

For example with the nixpkgs directory structure I always feel like I'm picking a vaguely related directory when adding a package and I've never actually got any value from the topic directory a package was in. In fact it is just annoying because the longer path makes false positives in my IDE's fuzzy finder.

15:17:07
@k900:0upti.meK900We should just do a crates.io and organize packages by name15:26:35
@k900:0upti.meK900 pkgs/h/he/hello/default.nix 15:26:52
@k900:0upti.meK900(no) 15:26:54
@k900:0upti.meK900(unless?) 15:26:57
@infinisil:matrix.orginfinisilI've wanted something like this for a while. I think it would be a good idea15:27:41
@k900:0upti.meK900* `pkgs/h/e/hello/default.nix`15:27:59
@k900:0upti.meK900The more I think about it, the more I'm starting to like it tbh15:28:16
@k900:0upti.meK900It's kind of the same thing as having a consistent formatter (no. drop the pitchforks.)15:29:04
@k900:0upti.meK900It's better to have a fixed convention than to argue about it every time 15:29:24

Show newer messages


Back to Room ListRoom Version: 9