!SgYlXivkogarTVcnZO:nixos.org

Nix Flakes

881 Members
180 Servers

Load older messages


SenderMessageTime
6 Mar 2025
@solomon:cofree.coffeesolomon I thought flake-utils' flattenTree would do this but it doesnt seem to 00:18:23
@solomon:cofree.coffeesolomon * I thought flake-utils' flattenTree would allow this but it doesnt seem to 00:18:30
@elikoga:matrix.orgelikoga I think you can place them in the root of the flake outputs 00:19:01
@solomon:cofree.coffeesolomonwhat do you mean?00:19:16
@elikoga:matrix.orgelikoga Right now you're trying to use shorthand package selection syntax but it probably fails due to there not being an architecture 00:19:27
@solomon:cofree.coffeesolomon

sorry let me give a real example:

        packages = flake-utils.lib.flattenTree {
          docker = import ./nix/docker.nix {
            inherit pkgs;
            cofree-bot = hsPkgs.cofree-bot;
          };
          ghc982 = flake-utils.lib.flattenTree {
            chat-bots = hsPkgs.chat-bots;
            chat-bots-contrib = hsPkgs.chat-bots-contrib;
            cofree-bot = hsPkgs.cofree-bot;
            default = hsPkgs.cofree-bot;
          };
          chat-bots = hsPkgs.chat-bots;
          chat-bots-contrib = hsPkgs.chat-bots-contrib;
          cofree-bot = hsPkgs.cofree-bot;
          default = hsPkgs.cofree-bot;
        };
00:19:52
@solomon:cofree.coffeesolomon *

sorry let me give a real example:

        packages = flake-utils.lib.flattenTree {
          docker = import ./nix/docker.nix {
            inherit pkgs;
            cofree-bot = hsPkgs.cofree-bot;
          };
          ghc982 = {
            chat-bots = hsPkgs.chat-bots;
            chat-bots-contrib = hsPkgs.chat-bots-contrib;
            cofree-bot = hsPkgs.cofree-bot;
            default = hsPkgs.cofree-bot;
          };
          chat-bots = hsPkgs.chat-bots;
          chat-bots-contrib = hsPkgs.chat-bots-contrib;
          cofree-bot = hsPkgs.cofree-bot;
          default = hsPkgs.cofree-bot;
        };
00:20:02
@solomon:cofree.coffeesolomon and i'm using flake-utils.lib.eachDefaultSystem 00:20:22
@solomon:cofree.coffeesolomon * and i'm using flake-utils.lib.eachDefaultSystem to set the architecture 00:20:56
@elikoga:matrix.orgelikogaAh, yes, I'm not familiar with flattenTree but you can try using tab completion in the cli or nix repl to find out the ultimate path of your packages. And then use them00:21:12
@solomon:cofree.coffeesolomoni did that and those nested packages dont show up at all00:21:26
@elikoga:matrix.orgelikoga I suggest reading library source code if you are not familiar with the behavior of a library 00:21:44
@elikoga:matrix.orgelikogaScreenshot_20250306_012226_Firefox.png
Download Screenshot_20250306_012226_Firefox.png
00:22:40
@elikoga:matrix.orgelikoga Have you tried setting recurseForDerivations? 00:22:56
@elikoga:matrix.orgelikogahttps://github.com/numtide/flake-utils/blob/11707dc2f618dd54ca8739b309ec4fc024de578b/flattenTree.nix#L1800:23:09
@solomon:cofree.coffeesolomoni've never heard of that00:23:11
@elikoga:matrix.orgelikoga I don't know it's right there on my screen 00:23:22
@solomon:cofree.coffeesolomonuh where do i set it?00:23:54
@elikoga:matrix.orgelikogaWhere you want to recurse for derivations00:24:13
@solomon:cofree.coffeesolomoni dont understand where it is bound in the code00:24:44
@solomon:cofree.coffeesolomonit looks like a free variable00:25:02
@elikoga:matrix.orgelikoga Can you try placing it where it would seem useful? 00:25:25
@solomon:cofree.coffeesolomonwtf00:25:31
@solomon:cofree.coffeesolomon were looking at a pure functon that references a variable recurseForDerivations without binding it 00:26:03
@solomon:cofree.coffeesolomoni have no idea what to set it00:26:07
@solomon:cofree.coffeesolomon * i have no idea where to set it00:26:20
@elikoga:matrix.orgelikogaI believe that placing it in the root as well as sub attrs up until the value you want to expose should work00:26:23
@solomon:cofree.coffeesolomoni dont understand what that means00:26:35
@solomon:cofree.coffeesolomoncan you give an example?00:26:53
@elikoga:matrix.orgelikogaOkay I will use rFD as shorthand since I'm on my phone00:27:17

Show newer messages


Back to Room ListRoom Version: 6