!djTaTBQyWEPRQxrPTb:nixos.org

Nixpkgs Architecture Team

229 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
23 Jun 2023
@qyliss:fairydust.spaceAlyssa Rossand my attempt to stop it knowing about meson and cmake was met with resistance 10:53:10
@roberthensing:matrix.orgRobert Hensing (roberth):'(10:53:22
@roberthensing:matrix.orgRobert Hensing (roberth)needs more pkgs-modules ;)10:53:41
@qyliss:fairydust.spaceAlyssa Rossand if it's make-derivation.nix that sets up the meson cross file, make-derivation.nix has to be able to tell meson what rust target to use10:53:52
@roberthensing:matrix.orgRobert Hensing (roberth)fair enough; cause and effect. They'll be complicit ;)10:55:58
@roberthensing:matrix.orgRobert Hensing (roberth)I have a meeting now. ttyl :)10:57:15
27 Jun 2023
@Ericson2314:matrix.orgJohn Ericsondid we have meeting today?14:51:27
@infinisil:matrix.orginfinisil
In reply to @Ericson2314:matrix.org
did we have meeting today?
I asked Robert Hensing (roberth) to lead it while I'm on vacation, did it not happen after all today?
15:13:40
@roberthensing:matrix.orgRobert Hensing (roberth)oh no, I didn't get a notification from my calendar16:30:00
@roberthensing:matrix.orgRobert Hensing (roberth)I am so sorry :(16:30:18
@roberthensing:matrix.orgRobert Hensing (roberth)I'd even put an extra item for preparation. wth16:37:19
28 Jun 2023
@tomberek:matrix.orgtombereki've been out on vacation (and have more coming up in mid-July). apologies for the sporadic attendance13:18:20
4 Jul 2023
@jlesquembre:matrix.orgjlesquembre joined the room.09:15:16
5 Jul 2023
@sogled:matrix.orgAtnNn joined the room.18:22:56
10 Jul 2023
@infinisil:matrix.orginfinisilThis is the second time that I tried to pass leadership of these meetings to somebody else but it failed for various reasons. Combined with the fact that every meeting it's just me monologuing anyways makes me really wonder how such a team should be run13:58:00
@growpotkin:matrix.orgGrowpotkinI appreciate you bro! <313:58:31
@growpotkin:matrix.orgGrowpotkinHonestly I don't so much think this had to do with anyone being out of town. Recently we just haven't had much to work on since we're waiting on that RFC13:59:03
@growpotkin:matrix.orgGrowpotkinSo there's not like action items or anything like that from what I can tell13:59:21
@growpotkin:matrix.orgGrowpotkinI think the WG is going a bit better because we had assignments.13:59:46
@infinisil:matrix.orginfinisilYeah that's what we've been going for. Don't do work as part of the NAT, but rather working groups.14:00:15
@growpotkin:matrix.orgGrowpotkinI know organizing the NAT takes effort, and I appreciate the dedication. Don't feel like it's going poorly.14:01:10
@infinisil:matrix.orginfinisilWe could have more working groups if we can find a leader and a topic people can spend time to work on14:01:18
@growpotkin:matrix.orgGrowpotkincooking up a few things to work on might help for NAT14:01:27
@toonn:matrix.orgtoonn The overhead of attending meetings is not to be underestimated. When you can attend them on a payroll it's very different from when you have to dedicate personal time to them. It's a very high friction form of interaction for volunteers. 14:09:04
@toonn:matrix.orgtoonn And that's just *attending* them. Organizing is another couple steps up. 14:09:33
@piegames:matrix.org@piegames:matrix.org infinisil: I'd like to see the first RFC 140 implementation PR ready for being merged soon, if possible 14:41:10
@adis:blad.isadisbladis

Have anyone else thought of restructuring how we use stdenv.mkDerivation like this before?

let
  # Boilerplate import, not interesting.
  pkgs = import <nixpkgs> { };
  inherit (pkgs) stdenv lib;
  src = pkgs.hello.src;  # Just some random sources to showcase the idea

  # An example of how to possibly structure derivations such as they can be fully overrideable through overrideAttrs
  example = stdenv.mkDerivation (finalAttrs: {
    # Arguments are no longer arguments to to the function that returns the derivation
    # they are instead in passthru so they compose.
    #
    # You could also add a type system on top of this (yants/NixOS module system types)
    # so derivation arguments are introspectable in a standardised way.
    passthru.args = {
      pname = "example";
      version = "0.1.0";
      withCrypto = false;
    };

    # Inputs might be overridable in the same way.
    passthru.inputs = {
      inherit src;
      inherit (pkgs) openssl;
    };

    # This is a bit awkward for now..
    inherit (finalAttrs.passthru.args) pname version;
    inherit (finalAttrs.passthru.inputs) src;
    buildInputs = lib.optional finalAttrs.passthru.args.withCrypto finalAttrs.passthru.inputs.openssl;
  });

in

example.overrideAttrs (oldAttrs: {
  passthru = oldAttrs.passthru // {
    args = oldAttrs.passthru.args // {
      withCrypto = true;
    };
  };
})

This strikes me as a more concise way and would leave us with one blessed way to override regardless of context.
It would also be more introspectable than function args which are currently mixed between build configuration and build inputs.

I haven't thought too much about this yet and it might be a bad idea.

14:43:04
@k900:conduit.0upti.meK900 (deprecated)That's getting dangerously close to packages-as-modules already tbh14:44:14
@k900:conduit.0upti.meK900 (deprecated)So I'd rather just do that14:44:20
@adis:blad.isadisbladis
In reply to @k900:conduit.0upti.me
That's getting dangerously close to packages-as-modules already tbh
Modules in what sense?
14:44:53

Show newer messages


Back to Room ListRoom Version: 9