!wfudwzqQUiJYJnqfSY:nixos.org

NixOS Module System

123 Members
24 Servers

You have reached the beginning of time (for this room).


SenderMessageTime
22 Mar 2025
@isabel:isabelroses.comisabel joined the room.00:42:48
@vaw:nlih.devaw joined the room.21:26:12
27 Mar 2025
@nam3l33ss:matrix.org·☽•Nameless☆•777 · ± changed their profile picture.04:46:05
@nam3l33ss:matrix.org·☽•Nameless☆•777 · ± changed their profile picture.07:58:24
1 Apr 2025
@maka_77x:matrix.orgmaka_77x joined the room.20:03:47
3 Apr 2025
@mjolnir:nixos.orgNixOS Moderation Bot banned @cafkafk:fem.gg@cafkafk:fem.gg (<no reason supplied>).11:42:04
4 Apr 2025
@mjolnir:nixos.orgNixOS Moderation Bot unbanned @cafkafk:fem.gg@cafkafk:fem.gg.06:12:50
8 Apr 2025
@nam3l33ss:matrix.org·☽•Nameless☆•777 · ± changed their profile picture.17:39:03
10 Apr 2025
@anselmetombarel:matrix.organselmetombarel joined the room.14:47:57
16 Apr 2025
@nam3l33ss:matrix.org·☽•Nameless☆•777 · ± changed their profile picture.06:50:41
@alexandrutocar:matrix.orgAlexandru Tocar joined the room.11:47:32
18 Apr 2025
@cirnolovetech:matrix.org@cirnolovetech:matrix.org joined the room.01:05:05
@fabaff:matrix.orgfabaff joined the room.18:03:01
19 Apr 2025
@jopejoe1:matrix.orgjopejoe1 (4094@GPN23) changed their display name from jopejoe1 to jopejoe1 (4094@eh22).13:01:33
@nam3l33ss:matrix.org·☽•Nameless☆•777 · ± changed their profile picture.14:32:34
@accelbread:matrix.org@accelbread:matrix.org left the room.20:30:31
22 Apr 2025
@cirnolovetech:matrix.org@cirnolovetech:matrix.org left the room.09:31:37
25 Apr 2025
@creepinson:matrix.org@creepinson:matrix.org joined the room.23:38:39
29 Apr 2025
@n8henrie:matrix.orgn8henrie joined the room.18:04:14
1 May 2025
@rosariopulella:matrix.orgRosuavio changed their display name from Rosario Pulella to Rosuavio.20:08:44
8 May 2025
@isabel:isabelroses.comisabel changed their profile picture.08:57:53
@isabel:isabelroses.comisabel changed their profile picture.08:57:59
@nam3l33ss:matrix.org·☽•Nameless☆•777 · ± changed their profile picture.13:26:34
16 May 2025
@ss:someonex.netSomeoneSerge (Ever OOMed by Element)

I never acquainted with types.nix, is there some fundamental reason that either of two freeform submodules couldn't work when left and right have disjoint explicit options?

with import <nixpkgs/lib>;

evalModules {
  modules = [
    {
      options.foo = mkOption {
        type =
          types.either
            (types.submodule {
              freeformType = types.attrsOf types.str;
              options.marker_a = mkOption {
                type = types.str;
              };
            })
            (
              types.submodule {
                freeformType = types.attrsOf types.str;
                options.marker_b = mkOption {
                  type = types.str;
                };
              }
            );
      };
      config.foo = {
        marker_b = "bar";
      };
    }
  ];
}

{ foo = { marker_a = «error: The option `foo.marker_a' was accessed but has no value defined. Try setting 
the option.»; marker_b = "bar"; }; }
19:49:57
@mattsturg:matrix.orgMatt Sturgeon

I believe the issue is the left and right type's check function.

either will use whichever type fist passes check value, and iirc submodules just use something like check = isAttrs

19:52:25
@h7x4:nani.wtfh7x4 Some of the "container types" don't really check what's inside before being evaluated at a later stage. I believe this is the case for submodules, listOf and attrsOf. As a hack, you can add those checks with lib.types.addCheck. Same scenario with either and oneOf. 19:53:46

Show newer messages


Back to Room ListRoom Version: 10