Skip to content

Regression in PR #353 causes evaluation error (missing _module.args) #369

@cmetz

Description

@cmetz

Since the merge of PR #353, my configuration (non-flake / like vic/vix) fails during evaluation with the following error trace:

 … while evaluating definitions from `/home/loom/dotfiles/modules/den.nix, via option den.ful.gloom.apps.provides.helix.homeManager':
┃ 
┃        … while evaluating the module argument `inputs'' in ":anon-4:anon-1:anon-1:anon-2:anon-2:anon-2:anon-1:anon-2:anon-1:anon-1:anon-1:anon-1:anon-1:anon-1:anon-1:anon-1:anon-1":
┃ 
┃        … noting that argument `inputs'` is not externally provided, so querying `_module.args` instead, requiring `config`

The issue seems related to how namespaces are handled. My current namespace configuration looks like this:

{
  inputs,
  den,
  ...
}:
{
  imports = [
    inputs.den.flakeModule
    (inputs.den.namespace "gloom" true)
  ];

  _module.args.__findFile = den.lib.__findFile;
}

Helix aspect definition:

{ __findFile, ... }:
{
  gloom.everywhere.includes = [ <gloom/apps/helix> ];

  gloom.apps.provides.helix.homeManager =
    {
      inputs',
      config,
      pkgs,
      lib,
      ...
    }:
    {
      home.shellAliases = {
        e = "hx";
      };
...

For context: inputs' and self' are normally provided via den.default.includes as shown below:

    den.default.includes = [
      den.provides.define-user
      den.provides.inputs'
      den.provides.self'
    ];

It appears that the evaluation of inputs' now triggers a circular dependency or fails to resolve correctly through _module.args in this specific setup.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions