Skip to content

Value does not conform to 'function' when using with latest main std #12

@truelecter

Description

@truelecter

After upgrading std to the recent version from the main branch, I've got an error

error: [/nix/store/6lw3c9jmg483mac19cfmdal9bfxsl2lq-source/flake.nix - grow[On]:cellBlocks]: expected type list<Cell Block>, but found:
       {
         actions = <function, args: {currentSystem, fragment, fragmentRelPath, inputs, target}>;
         name = "config";
         type = "nixago";
       }: expected 'Cell Block'-struct, but found:
       field 'actions': expected type option<function>, but value does not conform to 'function': expected <function, args: {currentSystem, fragment, fragmentRelPath, target}>, but arguments and/or defaults do not conform: <function, args: {currentSystem, fragment, fragmentRelPath, inputs, target}>

       {
         actions = <function, args: {currentSystem, fragment, fragmentRelPath, inputs, target}>;
         name = "shells";
         type = "devshells";
       } with __functor = <function>: expected 'Cell Block'-struct, but found:
       field 'actions': expected type option<function>, but value does not conform to 'function': expected <function, args: {currentSystem, fragment, fragmentRelPath, target}>, but arguments and/or defaults do not conform: <function, args: {currentSystem, fragment, fragmentRelPath, inputs, target}>

       {
         actions = <function, args: {currentSystem, fragment, fragmentRelPath, inputs, target}>;
         name = "packages";
         type = "installables";
       } with __functor = <function>: expected 'Cell Block'-struct, but found:
       field 'actions': expected type option<function>, but value does not conform to 'function': expected <function, args: {currentSystem, fragment, fragmentRelPath, target}>, but arguments and/or defaults do not conform: <function, args: {currentSystem, fragment, fragmentRelPath, inputs, target}>

It looks like new actions from std signature (after introducing inputs to the action function) are incompatible with what paisano expects (as hive's growOn is basically paisaon's one). As such, using both std's and hive's blocktypes is impossible when using hive.growOn

Changing it to std.growOn is not compatible with the current darwinConfigurations actions block as they lack inputs argument. This may be fixed with #11

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions