问题标签 [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 投票
3 回答
1006 浏览

python - 在 Nixpkgs 中,是什么让 python 派生成为应用程序而不是库?

我正在尝试为 Nix 打包一个 python 应用程序,但我发现大多数文档都假设我想要打包一个库。

为了做到这一点,我查看了 Rednotebook 示例(不是出于任何特殊原因,只是我碰巧知道它是用 python 编写的),它可以在python-packages中找到,但由于该文件非常大,这里是相关部分:

我的推导如下:

requirements.nix是“派生列表”的输出pypi2nixrequirements.packages具有“派生列表”类型。尽管如此,当我 cd 进入 Rednotebook 的结果存储路径时,还是有一个/bin包含一些包装脚本的目录。我的应用程序的商店路径只是一个lib/bin

我如何告诉 Nixpkgs 我有一个应用程序?

0 投票
1 回答
1014 浏览

nixpkgs - 如何正确引用本地依赖派生的输出目录

我有一个推导 ( default.nix) 定义为:

旁白:即使我有cp -R linux64 $out/,似乎 的内容也linux64被复制到$out,而不是linux64本身被复制到$out... 我认为这似乎是不标准的。

第二个文件 ( gurobi-shell.nix) 是:

当我运行nix-shell gurobi-shell.nixthenecho $GUROBI_HOME时,我得到: /nix/store/jsy0q02hyprz6mllblfb0gim3l8077d8-gurobi-shell

但是,我期望并希望它是: /nix/store/s2kj78cnpnnbwr6q8qylg0n02m0sm32a-gurobi-7.5.1

编辑:我想这可能与惰性评估有关,但不确定。无论如何,我找到了一种解决方法,即使用myGurobi.out而不是myGurobi.GUROBI_HOME.

0 投票
1 回答
340 浏览

python - 在 nix 中包含 virtualenv python 包的库的可靠方法是什么?

我首先要说 virtualenv 基本上是这里的一个要求,因为 Nix 还没有被开发团队的其他成员使用。这份关于 Nix 中 Python 的优秀指南并没有深入探讨这个特定问题。

在某些情况下,我可以更新LD_LIBRARY_PATH,但由于 Python 的动态特性,它变得相当乏味并且可能容易出错(特定分支可能会触发使用以前未包含在 中的库LD_LIBRARY_PATH):

更糟糕的是,${ggc6}/lib这里对我不起作用,因为我需要的库(libatomic.so)在*-gcc-6.4.0-lib/lib目录下,而不是*-gcc-6.4.0/lib目录下,我不确定如何引用前者。

find for libatomic 的一些输出:

0 投票
2 回答
6515 浏览

gradle - Gradle — 新创建的守护进程具有与预期不同的上下文

我在 Ubuntu ( )中通过Nix安装了 OpenJDK 。Linux uplink 4.13.0-32-generic #35~16.04.1-Ubuntu SMP Thu Jan 25 10:13:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

现在,当我尝试构建/运行在其中使用的项目时,Gradle 4.4出现IntelliJ IDEA 2017.3.4 (Ultimate Edition) Build #IU-173.4548.28此错误:

我在这里和那里搜索过,但其他答案/解决方案不起作用,甚至没有指定 Java 主页gradle.properties(在项目内部或我的用户家中):

另一方面,如果我在终端上构建/运行项目,它工作正常。有什么线索吗?


更新#1

这是我在 IntelliJ IDEA 中对 Gradle 和 SDK 的配置:

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
1464 浏览

git - nix-prefetch-git sha256 要求在标签上使用修订

问题

nix-prefetch-git与 a 一起使用时--rev,我们真的还需要 sha256 吗?

假设

我理解使用gitwith时的这一要求,tags因为标签可以重新附加到不同的转速。

所以我目前的理论是我们不信任 git 通过传递额外的 sha256 哈希来获取或处理文件的方式。git遵循这个概念,人们可以以一种永远无法影响的方式计算哈希。

正确的?

nix-prefetch-git 示例

0 投票
1 回答
1562 浏览

docker - Docker — Cannot connect to the Docker daemon at unix:///var/run/docker.sock

I installed Docker 17.12.0-ce via Nix in Ubuntu (Linux uplink 4.13.0-36-generic #40~16.04.1-Ubuntu SMP Fri Feb 16 23:25:58 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux), but every time I try to execute any Docker command, it keeps telling me: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.

This is what I did:

I read the Post-installation steps for Linux (even though this shouldn't apply, to some extent, to Nix packages) and went ahead and added a docker user and all that stuff...but still, nothing.

I know there are tons of answers for this question — and I've tried several "solutions"...but no luck yet.

0 投票
1 回答
1087 浏览

nix - node2nix 覆盖;wrapProgram:找不到命令

我正在打包一个带有外部依赖项(GraphicsMagick)的节点脚本,当试图覆盖从我生成的派生时,node2nix我得到了错误:

wrapProgram:找不到命令

以下文本详细介绍了我尝试解决此错误的方法。


从头开始重现问题

我创建了一个最小的 git 存储库,如果您想看看那里,它会重现这个问题。否则,重现问题的步骤如下。

初始外壳会话:

在一个空目录中,运行:

( npm version: 5.6.0& node version v8.9.4)

创造index.js

在 package.json 中添加一个“bin”部分:

生成 *.nix 文件node2nix

创造override.nix

构建 nix 包

以上失败:

/nix/store/*/setup: line 95: wrapProgram: command not found


有用的资源

0 投票
1 回答
454 浏览

haskell - 使用分叉的 Haskell 包覆盖 nixpkgs

我正在尝试用我自己的 fork 覆盖 nixpkgs 中的 Haskell 包。我的代码似乎有效;我可以看到新的分叉大楼。但是,当我打开 a 时nix-shell,我没有正确的包版本。

这是我的shell.nix文件。

我持久化的fork中的版本号是2.8.2,但是当我在其中运行ghc-pkg listnix-shell,我看到了persistent-2.7.1。这是为什么?

我的 fork 中的 nix 表达式如下所示:

0 投票
2 回答
1130 浏览

git - 使用 Nix 的 Git 时权限被拒绝(公钥)

我通过 Nix(在Arch Linux上)安装了 Git 。

我将 SSH 配置文件保存在~/.ssh/config

我 100% 确定私钥/公钥集是正确的。我一直在 SmartGit 中使用它,但是当我尝试通过命令行使用 Git 时,我收到了这个错误:

有没有办法告诉 Git(通过 Nix 安装)引用我的~/.ssh/config文件?


作为证明,当我“指示”ssh-agent临时使用我的公钥时会发生这种情况(因此您可以确定我拥有正确的权利):

...在那之后,我可以自由飞行一段时间:

0 投票
2 回答
851 浏览

nixos - 如何从 configuration.nix 更改 nixpkgs 中定义的服务的 serviceConfig?

nixpkgs 中的 nagiossystemd.services.nagios.serviceConfig.Restart="always";使日志混乱journalctl -u nagios,应该是 Restart="no"; 反而!

MySQL修复

对于 MySQL,这有效:

由于 MySQL 服务没有列出任何“Restart”、“RestartSec”或“StartLimitInterval”,我想。

尝试 nagios 修复

使用与之前 MySQL 相同的 nagios 机制,我尝试:

给我一个:

如果我将其更新为:

结果是其中的值systemd.services.mysql.serviceConfig现在仅包含“重新启动”,但缺少重要的“执行开始”和其他服务定义:

最后使用这个:

给我一个: