Skip to content

Conversation

@yajo
Copy link
Contributor

@yajo yajo commented Oct 17, 2023

I'm doing custom builds from editable installs in a meta-repo.

To get the dirty editable path of a dependency drv, I'd need this patch, to be able to do something like:

{config, ...}:
let
  inherit (config.mkDerivation.passthru) topConfig;
  fullRelPath = topConfig.lock.content.fetchPipMetadata.sources.${config.name}.path;
in ...

@moduon MT-1075

I'm doing custom builds from editable installs in a meta-repo.

To get the dirty editable path of a dependency drv, I'd need this patch, to be able to do something like:

```nix
{config, ...}:
let
  inherit (config.mkDerivation.passthru) topConfig;
  fullRelPath = topConfig.lock.content.fetchPipMetadata.sources.${config.name}.path;
in ...
```

@moduon MT-1075
@DavHau
Copy link
Member

DavHau commented Oct 17, 2023

Can't you just access the config attribute of the parent directly from your nix expression?

@yajo
Copy link
Contributor Author

yajo commented Oct 19, 2023

Yeah, I can do that, and that's currently my workaround.

However, my parent nix epression is using pip and the value needed to pass in pip.drvs.* is quite complex, so I refactored it out to different files that define reusable drv-parts.

I can call those parts, but it seemed more ergonomic to just declare a module and be able to access its parent config directly.

@DavHau
Copy link
Member

DavHau commented Oct 23, 2023

Hm, I wonder if there is a cleaner solution to this than passing the full parent config to the child module. Maybe we could support the editable use case directly or alternatively pass the path of the package via meta.relPath or such?

I'm happy to look into this. It would help if you could provide a reproducer of your use case so I can plan around with it.

@phaer phaer added the python label Apr 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants