问题标签 [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.
python - 在 Nixpkgs 中,是什么让 python 派生成为应用程序而不是库?
我正在尝试为 Nix 打包一个 python 应用程序,但我发现大多数文档都假设我想要打包一个库。
为了做到这一点,我查看了 Rednotebook 示例(不是出于任何特殊原因,只是我碰巧知道它是用 python 编写的),它可以在python-packages中找到,但由于该文件非常大,这里是相关部分:
我的推导如下:
requirements.nix
是“派生列表”的输出pypi2nix
并requirements.packages
具有“派生列表”类型。尽管如此,当我 cd 进入 Rednotebook 的结果存储路径时,还是有一个/bin
包含一些包装脚本的目录。我的应用程序的商店路径只是一个lib
否/bin
我如何告诉 Nixpkgs 我有一个应用程序?
nixpkgs - 如何正确引用本地依赖派生的输出目录
我有一个推导 ( default.nix
) 定义为:
旁白:即使我有cp -R linux64 $out/
,似乎 的内容也linux64
被复制到$out
,而不是linux64
本身被复制到$out
... 我认为这似乎是不标准的。
第二个文件 ( gurobi-shell.nix
) 是:
当我运行nix-shell gurobi-shell.nix
thenecho $GUROBI_HOME
时,我得到:
/nix/store/jsy0q02hyprz6mllblfb0gim3l8077d8-gurobi-shell
但是,我期望并希望它是:
/nix/store/s2kj78cnpnnbwr6q8qylg0n02m0sm32a-gurobi-7.5.1
编辑:我想这可能与惰性评估有关,但不确定。无论如何,我找到了一种解决方法,即使用myGurobi.out
而不是myGurobi.GUROBI_HOME
.
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 的一些输出:
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 的配置:
git - nix-prefetch-git sha256 要求在标签上使用修订
问题
nix-prefetch-git
与 a 一起使用时--rev
,我们真的还需要 sha256 吗?
假设
我理解使用git
with时的这一要求,tags
因为标签可以重新附加到不同的转速。
所以我目前的理论是我们不信任 git 通过传递额外的 sha256 哈希来获取或处理文件的方式。git
遵循这个概念,人们可以以一种永远无法影响的方式计算哈希。
正确的?
nix-prefetch-git 示例
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.
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
有用的资源
- node2nix git 存储库- 包括一些基本示例。
wrapProgram
nixpkgs中的示例覆盖- nixpkgs 如何使用postInstall
由node2nix
.
haskell - 使用分叉的 Haskell 包覆盖 nixpkgs
我正在尝试用我自己的 fork 覆盖 nixpkgs 中的 Haskell 包。我的代码似乎有效;我可以看到新的分叉大楼。但是,当我打开 a 时nix-shell
,我没有正确的包版本。
这是我的shell.nix
文件。
我持久化的fork中的版本号是2.8.2
,但是当我在其中运行ghc-pkg list
时nix-shell
,我看到了persistent-2.7.1
。这是为什么?
我的 fork 中的 nix 表达式如下所示:
git - 使用 Nix 的 Git 时权限被拒绝(公钥)
我通过 Nix(在Arch Linux上)安装了 Git 。
我将 SSH 配置文件保存在~/.ssh/config
:
我 100% 确定私钥/公钥集是正确的。我一直在 SmartGit 中使用它,但是当我尝试通过命令行使用 Git 时,我收到了这个错误:
有没有办法告诉 Git(通过 Nix 安装)引用我的~/.ssh/config
文件?
作为证明,当我“指示”ssh-agent
临时使用我的公钥时会发生这种情况(因此您可以确定我拥有正确的权利):
...在那之后,我可以自由飞行一段时间:
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
现在仅包含“重新启动”,但缺少重要的“执行开始”和其他服务定义:
最后使用这个:
给我一个: