divnix / hive Goto Github PK
View Code? Open in Web Editor NEWThe secretly open NixOS-Society
License: The Unlicense
The secretly open NixOS-Society
License: The Unlicense
The readme on std
referst to a chat. Are you talking about issues?
Thanks!
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
did i saw it right? there is no darwinConfiguration implementation?
Like in the rational on divnix/std#348 it makes sense to consider lib
as indepentend input and modify bee
so that it is ingested as such. That should help people clarify the origin of things and remove some of the most notorious obscurity of upstream module evaluation.
Self-domumenting conciseness is all the while better than save one line of code.
I was migrating my last infra to hive, a full node based on nix-bitcoin project. But i'm getting a "infinite recursion error" so much hard to debug for me. I get to have a minimal example to reproduce it:
nixosConfigurations.nix:
{
inputs,
cell,
}: {
fort-nix = {
bee = inputs.nixpkgs;
imports = [
( { config, ... }: {
options.foo = config.bar.lib.tor;
})
];
};
}
My error:
❯ nix build .#nixosConfigurations
trace: warning: lib.nixos.evalModules is experimental and subject to change. See nixos/lib/default.nix
error:
… while calling the 'head' builtin
at /nix/store/nbp8axqsz7zbkd03zia0v60jhi382ly9-source/lib/attrsets.nix:720:11:
719| || pred here (elemAt values 1) (head values) then
720| head values
| ^
721| else
… while calling the 'foldl'' builtin
at /nix/store/nbp8axqsz7zbkd03zia0v60jhi382ly9-source/lib/trivial.nix:63:8:
62| let reverseApply = x: f: f x;
63| in builtins.foldl' reverseApply val functions;
| ^
64|
(stack trace truncated; use '--show-trace' to show the full trace)
error: infinite recursion encountered
at /nix/store/nbp8axqsz7zbkd03zia0v60jhi382ly9-source/lib/modules.nix:265:21:
264| (regularModules ++ [ internalModule ])
265| ({ inherit lib options config specialArgs; } // specialArgs);
| ^
266| in mergeModules prefix (reverseList collected);
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.