问题标签 [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.
scala - 在 macOS Sierra 上使用 Nix 安装 Scala
我想使用 Nix 安装 OpenJDK 8 或 Oracle JDK 8 以及 Scala。
我从直接安装 Oracle JDK 开始。然后我通过 Nix 通过运行nix-env -i scala
. 这样就完成了。
但是,运行scalac
失败:
我确实设置了 JAVA_HOME:
重申一下,我想通过 Nix 安装 Scala。我喜欢学习一种或多种方法来做到这一点。一些注意事项:
- 如果需要,我很高兴了解有关 Nix 软件包如何工作的更多信息。
- 关于如何在 macOS 上通过 Nix 安装 JDK,我还没有得到清晰、权威的解释。这似乎是故事的关键部分。
haskell - 一起使用堆栈、ghc-mod 和 NixOS
我在让所有这些工具协同工作时遇到了一些麻烦,我很想知道是否有人成功了。
我的主要问题如下:我有一些外部依赖项,在我stack.yaml
看来是这样的:
显然是由 nix 系统提供的。当我ghc-mod type Main.hs 39 19
在当前运行时,Main.hs
我得到以下信息:
所以它似乎无法加载这些外部依赖项。
任何想法如何进行?
package - 如何覆盖nixos中单个包的编译标志?
如何CFLAGS
在 NixOS/Nix 环境中覆盖单个包的编译标志(如 中)?
这是我现在得到的:
在我的configuration.nix
,虽然这失败了
haskell - 使用 nix 构建没有拆分目标文件的 haskell 项目
在Gabriel Gonzalez 的关于使用 nix 构建 haskell 项目的教程的项目 3中,他写道:
默认情况下,这些库使用 GHC 的
-fsplit-objs
标志编译以启用拆分目标文件,这会减小库大小但增加编译时间。这是我建议在开发期间使用 cabal 构建根项目的另一个原因,因为默认情况下,cabal 不会使用拆分对象进行编译,因此构建速度会更快。但是,-fsplit-objs
当 Nix 构建项目时,这是一个很好的默认设置,因此您无需更改此设置。
没有提到的是如何让 nix 在没有-fsplit-objs
. 就我而言,我有一个后端项目(使用 GHC 构建)、一个前端项目(使用 GHCJS 构建)和一个共享项目(两者都构建)。共享项目的重建有些常见,因此能够关闭-fsplit-objs
将节省大量编译时间。
python - 如何使用 nix-shell 启用可选的构建依赖项?
我想在 nix-shell 中使用支持 gtk 的 opencv 和 python 3。
我可以使用以下命令启动非 gtk 启用的 python3/opencv 环境:
但是,打开窗口的命令会失败:
在 中的包定义中/nixpkgs/pkgs/development/libraries/opencv/3.x.nix
,有函数参数enableGtk2
,并且enableGtk3
可以在构建中打开可选依赖项。
我通读了几个 nix 教程和该语言的整个语法定义。
打开可选依赖项是非常基础的,所以我希望它可以使用命令行工具来实现,即nix-shell
. 有人知道它是怎么做的吗?
nix - 覆盖 python27Packages.bepasty-server
为了试验上游的变化,我想src=
改变pkgs.python27Packages.bepasty-server
.
通读https://nixos.org/nixpkgs/manual/#chap-functions没有示例如何执行此操作pythonPackages
!
所以我尝试了下面的东西,我在文档的一些 xml 代码中找到了这些东西。但它不起作用......这是我需要你帮助的部分!
包覆盖
主意
结果是:
减少代码
结果是:
所以看起来这根本行不通,但为什么呢?
系统包
相反,这里似乎正在工作:
但是,我不需要 bepasty-server 二进制文件,interactive environment
而是需要覆盖 pkgs 以便bepasty service
使用它!
erlang - 更新 nix 包中的依赖项
目前使用 Mac OS X 上 nix 频道提供的 Elixir 版本。该包使用 Erlang 18 构建:
我想更新包以使用 Erlang 19。在 nix 中使用更新的依赖项重建包的最直接方法是什么?
haskell - 本地 nixpkgs 配置的 overridePackages 以添加新包
我正在寻找有关如何针对我的情况采取最佳方式的启示,如下所示:
我的项目中有一个 nixpkgs 文件夹,我从其他 repo 下载。它位于我的
theproject/front-plat/default.nix
然后代码看起来像这样。{ nixpkgsFunc ? import ./nixpkgs }: let nixpkgs = nixpkgsFunc ({ config = { ... }; lib = {...}; etc.
在我的
theproject/release.nix
我想添加一个新的包,它将用于我使用 nixpkgs 的前端平台构建的。所以代码看起来像这样。{ front-plat ? import ./deps/front-plat {}}: let nixpkgs = front-platform.nixpkgs; packageCompiler = front-plat.compiler; config = rec { ... packageOverrides = pkgs: rec { packageCompiler = pkgs.packageCompiler.override { overrides = self: super: rec { fronFrint = self.callPackage (import ./frontFrint { inherit front-plat; }); }; }; };
3 我假设,现在我正在使用来自前端平台的 nixpkgs,但我仍然不确定我的 nixpkgs 的 packageCompiler 是否已经包含 fronFrint 包。
问题是,如何将名为“frontFrint”的新包添加到 nixpkgs 的 packageCompiler。以便 packageCompiler 可以构建 fronFint。例如最后,代码将是
in { front = pkgs.packageCompiler.frontFrint; }
nix - dockerhub 上 nix 映像的 Nix 配置位于何处?
根据https://chris-martin.org/2015/installing-nixos存在一个/etc/nixos/configuration.nix
文件。
我正在使用来自https://hub.docker.com/r/nixos/nix/的 docker 容器并运行
在容器内不返回任何结果。
此配置位于何处?
python - 在 vim_configurable.customize 中用 python3 覆盖 python
我正在按照这个模板使用 Nix 配置我的自定义 vim。我vim-config/default.nix
的如下:
尽管第 5 行有一个(pkgs // { python = pkgs.python3; })
覆盖,python3 仍然没有使用(当我运行vim --version
它时显示+python -python3
)。我错过了什么吗?