我该怎么写雪花呢?为了使用Nix开发代替Nix开发github:project#shell

  • 本文关键字:开发 Nix project#shell github 雪花 nix
  • 更新时间 :
  • 英文 :


注:如果允许在nix中添加实验功能,请添加--extra-experimental-features nix-command --extra-experimental-features flakes

这个存储库建议这样加载shell:

nix develop github:informalsystems/cosmos.nix#cosmos-shell

似乎可行。

为了看看我是否真的理解了nix flake是如何工作的(我还没有),我正试图写一个flake。所以我只需要写

nix develop

在flake的输出中有一个字段devShell(不是devShell)。没有在这个回购。这是在configuration.nix中定义的shell的集合。

Myflake.nix:

{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";  #not useful for this question
cosmos_inform_system.url = github:informalsystems/cosmos.nix;
flake-utils.url = github:numtide/flake-utils;
};
outputs = { self, nixpkgs, cosmos_inform_system, flake-utils, ... }:
flake-utils.lib.eachDefaultSystem (system:
let
shells = cosmos_inform_system.devShells;
in {
devShell.default = shells.cosmos-shell;
});
}
warning: flake output attribute 'devShell' is deprecated; use 'devShells.<system>.default' instead
error: attribute 'cosmos-shell' missing

configuration.nix中存在宇宙壳,这是devShells域。因此我不理解错误

为了删除警告,我替换了这一行

devShell = shells.cosmos-shell;
devShells.${system}.default = shells.cosmos-shell;

错误:flake属性'devShell。Aarch64-linux '不是一个派生

我仍然有警告。

看一下flake.nix文件的示例。

nix flake check 

配合使用
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
cosmos_inform_system.url = github:informalsystems/cosmos.nix;
flake-utils.url = github:numtide/flake-utils;
};
outputs = { self, nixpkgs, cosmos_inform_system, flake-utils, ... }:
flake-utils.lib.eachDefaultSystem (system:
let
shells = cosmos_inform_system.devShells;
in {
devShells.default = shells.${system}.cosmos-shell;
}
);
}

但拒绝开发

错误:固定输出派生'/nix/store/yz9kjwjhszzpp7g4wnbxj43zwga1zzsy-ica-go-modules.drv'中的散列不匹配:指定:sha256-ykGo5TQ + MiFoeQoglflQL3x3VN2CQuyZCIiweP/c9lM =有:sha256-D31e + G/7 kamf3gkk4iomu2g/eLlqkrkpwJa7CEjdaAk =

[1/158 built (1 failed)] building ica-go-modules (installPhase): installing

然而,我有完全相同的问题与nix develop github:informalsystems/cosmos.nix#cosmos-shell

我仍然认为我的flake文件是相同的nix develop github:informalsystems/cosmos.nix#cosmos-shell

相关内容

  • 没有找到相关文章

最新更新