问题标签 [nixos]
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.
nixos - lib.mapAttrsToList 和无限递归
问题
我一直在研究网络服务器抽象,但使用lib.mapAttrsToList
总是返回无限递归错误:
我已经添加了所有其他版本的代码,没有一个返回infinite recursion
我不明白的错误。
所以这是我的代码:
配置.nix
nixcloud.nix
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
使用它!
nixos - 如何在 NixOs 上修改 php.ini 配置?
我有一台带有 Nginx 和 phpfpm 的 NixOS 机器。我不知道如何在 php.ini 中设置值。
我试图这样做:
但我收到以下消息,文件保持不变:
还有另一种方法可以做到这一点吗?
idris - 如何在另一个 nixpkg 中使用与 nixpkg 一起安装的 idris 包?
目前,我在使用与 nixpkg 一起安装在另一个依赖它的 Idris 包中的 Idris 包时遇到了一些问题。这两个软件包都在 Debian 系统上进行了测试,所以问题不在于 Idris 代码本身,而在于它们在 NixOS 系统上的安装方式。nix-env -f math.nix -i idris_math
我相信我可以通过调用where来成功安装第一个包,其中math.nix
定义为:
然后我可以运行nix-env -q
并查看idris_math
已安装。第二个 nixpkg 看起来与 相同math.nix
,不同之处在于名称已更改并且buildDepends
行现在是buildDepends = [ idris idris_math ]
. 但是,当我尝试构建或安装此软件包时,我遇到了error: undefined variable 'idris_math'
. 有谁知道我做错了什么,或者解决这个问题的方法?
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 容器并运行
在容器内不返回任何结果。
此配置位于何处?
ssh - 在不发送私钥的情况下配置远程 nixos 盒
我在 AWS 上配置一个 nixos 实例。该实例必须从私有 github 存储库下载存储库。目前我只是使用 ssh-forwarding 在远程机器上运行一个 shell 脚本来下载存储库。通过这种方式,我不必将我的私钥(这使我可以访问 repo)复制到远程框。
我想将此程序更改为更像 Nix。我想编写一个 nix 表达式来下载 repo 并将其放在 /etc/nixos/configuration.nix 中。同时我不想将我的私钥复制到远程机器上。这可能吗?nixos-rebuild 可以使用 ssh 转发吗?
nixos - 创建沙箱以构建具有 libxcb 依赖项的包
我正在尝试构建https://github.com/SaschaWillems/Vulkan。我写了一个小default.nix
文件:
我打电话给
但是当我打电话时,cmake .
我得到
我需要指定什么以便 cmake 脚本可以找到正确的头文件?
nixos - 运行 sublime text 3 时没有这样的文件或目录
我需要一些帮助来在 Nixos 17.03 中安装 sublime text 3。我已经从 sublime 下载并解压了 tar 球,当我尝试执行 /opt/sublime_text/sublime_text 时发生了这种情况:
该文件存在于具有运行权限的正确位置。