问题标签 [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 - 通过 Nix 安装时未在 ghc-pkg 中列出的 Haskell 软件包
我已经通过 Nix 安装了 GHC:
然后我安装了 aeson 包:
并将 GHC 指向 Nix 包文件夹:
这似乎有效:
但是上面的包列表中缺少aeson包,无法加载。尽管那里显然有一些东西:
我究竟做错了什么?
nix - 我们如何从 NixOS 配置中引用 etc 包?
我想获得一条通往 nixos/etc
位置的路径(/run/current-system/etc
或中的任何一个/nix/store/hashhere-etc-1.0
)。我使用这个路径来配置pppd connect
脚本,下面的一些,
我试图写${pkgs.etc}
甚至导致错误。${system.build.etc}
${environment.etc}
目录结构其实是相对的,但我认为使用绝对路径更安全。
nix - NixOps 部署机器的 nixos 选项?
有一个命令nixos-option
检查给定系统的选项值。在引擎盖下它做了类似的事情:
但这不适用于 NixOps 部署的机器(那里没有配置)。有没有办法在部署机器上从 NixOps 部署配置中获取选项值?
nix - 从 Nix 表达式语言中的另一个集合继承属性
在 Nix 手册的继承属性部分,我们有
import ...
(ie )周围的括号有(import ../tools/graphics/graphviz)
什么作用?另外,括号里面有inherit (xlibs) libXaw;
什么作用?
maven - 预测 boot-clj 构建项目所需的所有依赖项
通常 boot 将所有获取的依赖项存储在本地 maven 存储库中,该存储库位于~/.m2/repository
.
将环境变量设置BOOT_LOCAL_REPO
到另一个目录时,它只会使用选择的那个。
考虑一下:
boot 现在将获取它需要的所有 jar 到本地repo
文件夹。
当第二次调用boot build
时,将没有任何东西可取,并且建筑物会立即启动。
我正在开发一个从引导文件生成 nix 表达式的引导任务。为此,我需要预测引导构建项目所需的所有依赖项。基本上,repo
文件夹的内容。这仅部分有效:在启动任务中使用以下内容时获得的最佳结果:
我会从外部获取那些罐子并将其存储在 repo 文件夹中。然而,当运行 boot build 时,仍然有一些 jars 会被 boot 获取。应该避免这种情况。例如,它发生在那些:
(实际上看起来 boot 只需要 poms 而不是那些文件的 jar)
有人知道如何识别它们吗?
nix - 在 nix 派生中覆盖脚本
有没有一种方法可以覆盖现有派生中的脚本和/或配置,而无需重新编译整个包?
我想创建一个修改后的新版本的 gnome-session $out/share/gnome-session/sessions/gnome.session
。使用overridePackage
I 可以更改preFixup
阶段,但这会导致重新编译整个 gnome-session 包。
haskell - 当我只要求 `haskellPackages` 的`library` 时,为什么`nix-shell` 会因缺少`test-suite` 依赖项而失败?
可能你们中的任何人都知道为什么
失败了
?
(为分隔和强调添加了空白线)
我在问,因为据我所知,我不是要求nix
构建/运行 的单元测试compose-ltr
,那么它为什么要关心QuickCheck
andhspec
呢?
是的,文件中提到了.cabal
test-suite spec
library
QuickCheck 和 hspec ,但仅用于而不是.
此外,我可以通过以下方式解决此问题吗
nix-shell
在我的命令中进一步指定一些东西,- 更改
.cabal
文件中的某些内容compose-ltr
,或 - 将
.nix
文件添加到compose-ltr
?
我不会说我有很多经验nix
,所以欢迎详细回答。
nix - 防止 nix-env -i 在用户环境中安装 $out/lib
是否可以防止lib/
派生中的内容安装在活动中user-environment
?有问题的包有一个内部 lib/ 文件夹,不应向用户公开,也不应使环境混乱。据我所知,其中的链接user-environment
是从 nix-env 二进制文件中更新的。
nix - 如何再次“nix-build”构建存储路径?
我创建了自己的存储库来获取一些 git 源。
然后我建立rustcSource
,
它显示了 的存储路径/nix/store/096fpy9qjbz5r14aadjnq9d2md9ql9cg-rust-3191fba
。问题是,我忘了下载它的子模块,所以我改变了我的表达方式来包含子模块,
但是,我发现它nix-build
不会重新计算哈希值并看到路径已经建立。因此,它最终不会下载子模块。
问:是nix bug吗?如何“重建”或重新下载存储库?
PS实际上我在其中创建了一个带有 fetchgit 的派生,但它失败了,因为没有下载子模块。因此,上述情况简化了我的问题。
nix - 如何自定义一个包配置标志
我需要从configureFlags
. 我尝试使用 .nixpkgs/config.nix 文件来执行此操作,如下所述:pcre
<nixpkgs>
但它不起作用。当我运行nix-build -p pcre
它时,它会构建包两次:使用 --disable-jit 和 --enable-jit。当我nix-build -p stdenv
在 config.nix 中运行自定义时,会被忽略。