问题标签 [nix]

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 投票
2 回答
153 浏览

haskell - 如果对于一个包存在 NixOS 的发行版,那么是否可以(轻松)使用 Nix 将该包安装到 Ubuntu,如果是的话如何?

这是这个Haskell 包。对于这个包,有一个NixOS发行版。

如果存在这样的 NixOS 发行版,那么在安装了 Nix 包管理器的 Ubuntu 上安装相同的包是否容易?

如果是,如何?

如果不是,为什么不呢?

0 投票
2 回答
1334 浏览

haskell - nixpkgs 中的 haskell 包在哪里?

我曾经nix-env -qaP <haskell-package-name>搜索过一个haskell包。但是自从我前段时间更新了我的 nix 频道后,所有的 haskell 包都消失了。

具体来说:qs@BF:~$ nix-channel --list nixpkgs https://nixos.org/channels/nixpkgs-unstable

qs@BF:~$ nix-env --version nix-env (Nix) 1.9

qs@BF:~$ uname -a Linux BF 3.13.0-35-generic #62-Ubuntu SMP Fri Aug 15 01:58:42 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

我想知道是否需要添加一些可能包含 haskell 包的其他频道。Haskell NG有什么关系吗?

谢谢。

0 投票
2 回答
375 浏览

package-managers - Nix/NixOS 中的循环依赖用一个简单的例子解释

这里写在第 1 点:

该文件定义了一组属性,所有这些属性都是具体的派生(即,不是函数)。事实上,我们定义了一组相互递归的属性。也就是说,属性可以相互引用。这正是我们想要的,因为我们想要将各种包“插入”到彼此中。

这似乎有点难以理解。

例如,如果derivation A依赖derivation Bderivation B依赖derivation A,那么在 Nix/NixOS 中如何构建这样一个相互递归的推导对?

您能否举一个简单的例子,如何以及为什么这种相互递归的推导不会导致问题?

0 投票
2 回答
3154 浏览

nixos - nix-instantiate 的目的是什么?什么是商店派生?

手册中是这样写的:

该命令nix-instantiate从(高级)Nix 表达式生成存储派生。

但是什么是商店派生?

该手册对商店派生进行了以下说明:

构建操作的描述。派生的结果是一个存储对象。派生通常在 Nix 表达式中使用派生原语指定。这些被转换为低级存储派生(隐式由nix-envandnix-build或显式由 nix-instantiate

对于 nix-newbee 来说,这有点难以理解,我发现没有什么比谷歌搜索更能启发nix-instantiate和存储推导了。我还在#nixos 上问过,我还没有得到答案。

有人可以用一个简单的例子来解释什么是商店派生,它的用途是什么?

为什么要使用 生成商店派生nix-instantiate?你能举一个超级简单易懂的例子吗?

0 投票
1 回答
1482 浏览

nix - nix 用户包 vs 系统包

我在开发环境中使用Vagrant+virtualBoxDebian 8/Ubuntu图像。

我想使用nix进行配置,但我无法nixOS完全正确地工作(即使用网络、配置......),但我非常乐意切换。所以我回退到nix + Debian 8nix + Ubuntu模仿生产服务器。

为了能够将其重用到生产服务器中,我无法完全理解在我的上下文中最好使用和之间的区别user packagessystem packages

我应该安装软件包nix -i还是编辑configuration.nix文件?

0 投票
2 回答
5876 浏览

nix - nixpkgs.fetchgit中的sha256是什么意思?价值从何而来?

我想从 github 添加一个包,就像在下面的示例中一样,但我不知道在哪里可以获得任何给定 github 源所需的 sha256 哈希(如下所示)。

有人可以解释一下 sha256 来自哪里,我怎样才能获得给定 github 代码库的 sha256 值?

https://github.com/ryantrinkle/try-reflex/blob/ghcjs-improved-base/default.nix#L49

ps,这是我在 IRC 上得到的答案:

0 投票
1 回答
146 浏览

nix - 在 Nix 中使用 `rec` 关键字对性能有何影响?

rec在 Nix中使用关键字对性能有何影响?例如

在可能的情况下删除是否是一种好习惯,rec或者 Nix 可以自动执行此操作?

0 投票
1 回答
257 浏览

protocol-buffers - 特定版本所需的依赖项

我正在尝试在 OS X 上将 libgrpc 构建为 nixpkg。它取决于 zlib、protobuf >= 3.0 和 openssl >= 1.0.2。

如何将这些版本指定为最低版本?两者都包含在官方频道中,并且都成功构建。

我对 nix 很陌生,这是我试图弄湿我的脚。现在,这就是我所拥有的default.nix

我要么正在寻找一种在 nix 下构建 libgrpc > 0.10 的方法,要么正在寻找一种方法来定义需求的最低版本,以便我可以尝试自己解决这个问题。

谢谢!

0 投票
1 回答
605 浏览

development-environment - 使用最新版本时确保 Nix 开发环境中的 Ruby 版本

目前,Nix 中默认和最新的 Ruby 是 2.2.2-p0。当我运行nix-env -qaP ruby它时,它会返回一个列表,上面说这个 ruby​​ 版本是通过nixpkgs.ruby. 我希望这个 Ruby 链接将更改为与最新支持的 ruby​​ 版本保持同步。我没有可选的 nixpkgs.ruby_2_2_2 来确保我的 ruby​​ 版本。

但是,查看https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/interpreters/ruby/ruby-2.2.2.nix的 .nix 定义文件,我看到他们在那个脚本。

所以我想知道,当我在buildInputs我的 Nix 表达式中列出它以创建开发环境(将通过 访问nix-shell .)时,是否有某种方法可以指定我想要的 Nix 包的修订版?或者我可以做些什么来确保使用 ruby​​ 2.2.2-p0 进行安装,而不仅仅是最新的 Ruby,这可能会改变?

当前脚本:

我没有在http://nixos.org/nix/manual/#chap-writing-nix-expressions的文档中看到这一点

0 投票
1 回答
388 浏览

development-environment - 有没有办法编写 Nix 表达式来为“nix-shell”创建开发环境

假设我创建了一个 Rails 项目并为 nix-shell 创建了一个 default.nix,它将通过nix-shell .. 自然地,这个 shell 将具有我对 Ruby on Rails 所需的任何依赖项。

现在假设我还创建了一个 AngularJS 项目,并为此做同样的事情,创建一个default.nix通过nix-shell ..

考虑一下,在未来,我可能有一个同时使用 Angular 和 Ruby on Rails 的项目(假设是这样)。有没有办法把我的 Angular 项目default.nix和我的 Rails 项目default.nix组合在一起,而不用复制粘贴?

此外,我们假设这个项目以后可能需要其他依赖项。我是否可以按照将 Rails default.nixasrails-env.nix和 Angular default.nixas保存的方式做一些事情angular-env.nix,然后将它们包含在default.nix我的 Rails-Angular + Extras 项目的新项目中,以便我可以在rails-env.nix和 中声明依赖项angular-env.nix,但也可以声明除了这些之外的其他依赖项,从而最大限度地提高我的 Nix 表达式的可重用性以创建开发环境?