问题标签 [nixpkgs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1419 浏览

nixos - 在我的存储库中实现覆盖

我想要的是

https://nixos.org/nixpkgs/manual/#sec-pkg-overrideAttrs文档overrideAttrs,它可以与top-level/all-packages.nix.

所以我希望能够在我自己的 nixpkgs 覆盖中使用 overrideAttrs!

编码

问题

但问题是评估AAA不起作用:

相比之下,评估helloWithDebug作品:

暗示

在 nixpkgs 我看到:

lib/customisation.nix用于lib/default.nix其中我还不能说它是在哪里注入的。

破解nixpkgs

查看堆栈,我刚刚将中断代码添加到lib/customisation.nix

0 投票
1 回答
332 浏览

nix - perlPackages 的 nix-shell

问题

我想玩一个名为 perl 的包Mail::SPF,但有一个 Build.PL 问题。现在我想在运行buildPhase.

对于基于 c/c++ 的项目,这运行良好,但对于 perl 它失败了:

那我做错了什么?

nix-env

0 投票
1 回答
540 浏览

nix - nix-build nix-generate-from-cpan:表达式不计算为派生

我正在尝试使用nix-generate-from-cspan安装sqitch

nix-generate-from-cpan App::Sqitch DBD::Pg,我制作了这个文件:

但运行nix-build -E 'with import <nixpkgs> { }; callPackage ./sqitch.nix'给出了这个错误:

为了调试,我试过nix-instantiate --eval --expr 'with import <nixpkgs> { }; callPackage ./sqitch.nix'了,它给出了:

所以我尝试nix-build -E 'with import <nixpkgs> { }; callPackage callPackage ./sqitch.nix'了,但它仍然给出同样的错误,并nix-instantiate --eval --expr 'with import <nixpkgs> { }; callPackage callPackage ./sqitch.nix'给出:

这对我没有多大帮助。

0 投票
1 回答
580 浏览

nix - 如何获取更新的 Nixpkgs stdenv 版本来为“libav”设置 NIX_CFLAGS/NIX_LDFLAGS?

较新的 Nixpkgs 版本的 stdenv 无法为包设置 NIX_CFLAGS/NIX_LDFLAGS libav,这在旧版本中有效。我在做什么汪?

以下脚本说明了该问题。它使用不同版本的 stdenv 运行多个构建,并打印和buildInputs = [ libav ];的各自值:NIX_LDFLAGSNIX_CFLAGS_COMPILE

输出:

0 投票
2 回答
2845 浏览

nix - 如何调试自定义 nix 文件的 nix-build 错误?

我正在尝试在 Ubuntu 16.04 上使用 Nix。

设置后,我尝试构建以下表达式:

但这以错误结束:

请注意,这/bin/sh -c $nixenv只是尝试设置 nix 环境 - 如果有帮助,我可以发布更多详细信息。

我过去在另一个系统上构建了一个非常相似的表达式——我不确定这个系统会出现什么问题——如何调试这个?

0 投票
1 回答
966 浏览

nix - Nix 的“callPackage”如何调用没有省略号定义的函数?

要调用使用集合解构的 Nix 函数,您需要向它传递一个具有所需键的集合不多也不少:

例外情况是函数的参数列表末尾包含省略号:

但是,nixpkgs中的大多数包都包含一个文件,该default.nix文件包含一个使用此省略号定义的函数。然而,不知何故,当您使用 时callPackage,它设法调用这些函数并仅将它们需要的参数传递给它们。这是如何实施的?

0 投票
1 回答
287 浏览

nix - 对于独立的 nix 表达式,构建器脚本应该位于哪里?

我有一个 nix 表达式文件 ( .nix) 和一个 shell 脚本生成器,指定如下:

./my-builder.sh: No such file or directory当我跑步时nix-build ./my-env.nix;nix 表达式文件和构建器脚本并排放置在我的主目录中。

我的意图是使用这个 nix 表达式文件来准备一个环境nix-build,然后在我想使用它时实际快速运行环境(使用nix-shell)。

编辑:我只是注意到nix-shell ./ my-env.nix效果很好;到目前为止,我实际上并没有构建任何东西,所以我可能应该省略builder.

编辑#2:我的具体示例如下:

这一行将nix 表达式和构建器放在同一个目录中。另一行用于nix-shell准备环境,但我假设nix-build可以使用类似的命令(特别是如果想要安装自定义包作为环境的一部分,但在 Nix 中这可能不是很惯用)

解决方案

围绕建造者路径的报价显然是禁止的。我最终遇到了其他问题,并将其拼凑起来最终让事情运行:

0 投票
0 回答
319 浏览

docker - 如何在 nixpkgs 中正确配置 OpenJDK 应用程序的字体?

当我使用 nixpkgs 环境在 Docker 中运行 IntelliJ 时,我在 GUI 中看到很多缺失的字符: 在此处输入图像描述

一个可能不相关的问题是选择文本的行为(当可选择时)似乎改善了这种情况 - 请参阅所附屏幕截图中从第二张图像到第三张图像的过渡。

我有一个相对容易重现的例子(假设一个有 docker 可用)。我没有直接在 NixOS 上测试过这个,但可能必须在接下来尝试排除问题:我当前的设置基于kurron/docker-intellij 的设置,它没有这个问题(我的和他的最终都是基于在同一个 Ubuntu 16.04 docker 映像上),这让我相信这是 nixpkgs 中的 OpenJDK 中的一个问题,或者是 nixpkgs X/fonts 和使用的 Ubuntu 基本系统之间的一些不良交互。

要重现,您现在可以忽略 README,只需执行以下操作:

请注意idea.sh运行xhost +并执行一些卷挂载,因此如果您担心,请在运行前检查。

在同一个容器中没有字体问题的情况下似乎可以工作:

  • gedit(不涉及Java nix-env -i gedit:)
  • JDiskReport:(涉及java - 字体工作但看起来不太好,所以可能是一个单独的问题);下载wget,解压unzip,运行java -jar ...

我认为 IntelliJ 仍然基于 Swing - 但最近没有看到任何对此的确认。如果是这样,我可以做更有针对性的测试。

0 投票
1 回答
1156 浏览

nix - 如何从 nix-shell 使用的 nix 表达式中的 nixpkgs 派生中获取名称?

我正在编写一个 .nix 表达式,主要由 .nix 使用nix-shell。我不知道该怎么做。请注意,这不在 NixOS 上,但我认为这不是很相关。

我正在查看的特定示例是我想获得这个与版本相关的名称,如下所示:

我的 nix 表达式如下:

我已经注释掉了设置PATH,因为它取决于进入idea_name-let子句。作为一个有趣的旁注,如果我不加注释,这不会失败,但是在执行时会导致一个非常奇怪的错误,因为nix-shellnot able to execute bash。我也尝试过更简单的情况,let idea_name = pkgs.jetbrains.idea-ultimate.name;但后来idea_name在设置中使用时失败,PATH因为idea_name最终未定义。

更新

我开始探索nix-instantiate,但兴趣的推导似乎是空的:

0 投票
1 回答
435 浏览

nix - 如何让派生不与 Nix 中的派生环境发生冲突?

我在尝试构建一个环境时遇到以下冲突错误,据我所知,该环境不应该发生冲突(在这种情况下,scala-env 依赖于ideaLocal,所以它不应该与它冲突):

这是 nix 表达式(大部分可以忽略,但不会太长,所以我会粘贴整个内容):

编辑

所以它看起来像是ideaLocal作为一个环境被导入 - 将它安装为依赖于的包的正确方法是scalaEnv什么?