问题标签 [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.
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有什么关系吗?
谢谢。
package-managers - Nix/NixOS 中的循环依赖用一个简单的例子解释
这里写在第 1 点:
该文件定义了一组属性,所有这些属性都是具体的派生(即,不是函数)。事实上,我们定义了一组相互递归的属性。也就是说,属性可以相互引用。这正是我们想要的,因为我们想要将各种包“插入”到彼此中。
这似乎有点难以理解。
例如,如果derivation A
依赖derivation B
和derivation B
依赖derivation A
,那么在 Nix/NixOS 中如何构建这样一个相互递归的推导对?
您能否举一个简单的例子,如何以及为什么这种相互递归的推导不会导致问题?
nixos - nix-instantiate 的目的是什么?什么是商店派生?
在手册中是这样写的:
该命令
nix-instantiate
从(高级)Nix 表达式生成存储派生。
但是什么是商店派生?
该手册对商店派生进行了以下说明:
构建操作的描述。派生的结果是一个存储对象。派生通常在 Nix 表达式中使用派生原语指定。这些被转换为低级存储派生(隐式由
nix-env
andnix-build
或显式由nix-instantiate
)
对于 nix-newbee 来说,这有点难以理解,我发现没有什么比谷歌搜索更能启发nix-instantiate
和存储推导了。我还在#nixos 上问过,我还没有得到答案。
有人可以用一个简单的例子来解释什么是商店派生,它的用途是什么?
为什么要使用 生成商店派生nix-instantiate
?你能举一个超级简单易懂的例子吗?
nix - nix 用户包 vs 系统包
我在开发环境中使用Vagrant
+virtualBox
和Debian 8
/Ubuntu
图像。
我想使用nix进行配置,但我无法nixOS
完全正确地工作(即使用网络、配置......),但我非常乐意切换。所以我回退到nix + Debian 8
或nix + Ubuntu
模仿生产服务器。
为了能够将其重用到生产服务器中,我无法完全理解在我的上下文中最好使用和之间的区别user packages
。system packages
我应该安装软件包nix -i
还是编辑configuration.nix
文件?
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 上得到的答案:
nix - 在 Nix 中使用 `rec` 关键字对性能有何影响?
rec
在 Nix中使用关键字对性能有何影响?例如
在可能的情况下删除是否是一种好习惯,rec
或者 Nix 可以自动执行此操作?
protocol-buffers - 特定版本所需的依赖项
我正在尝试在 OS X 上将 libgrpc 构建为 nixpkg。它取决于 zlib、protobuf >= 3.0 和 openssl >= 1.0.2。
如何将这些版本指定为最低版本?两者都包含在官方频道中,并且都成功构建。
我对 nix 很陌生,这是我试图弄湿我的脚。现在,这就是我所拥有的default.nix
:
我要么正在寻找一种在 nix 下构建 libgrpc > 0.10 的方法,要么正在寻找一种方法来定义需求的最低版本,以便我可以尝试自己解决这个问题。
谢谢!
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的文档中看到这一点
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.nix
asrails-env.nix
和 Angular default.nix
as保存的方式做一些事情angular-env.nix
,然后将它们包含在default.nix
我的 Rails-Angular + Extras 项目的新项目中,以便我可以在rails-env.nix
和 中声明依赖项angular-env.nix
,但也可以声明除了这些之外的其他依赖项,从而最大限度地提高我的 Nix 表达式的可重用性以创建开发环境?