首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在configuration.nix中添加linux配置

如何在configuration.nix中添加linux配置
EN

Stack Overflow用户
提问于 2016-05-15 19:17:31
回答 1查看 319关注 0票数 0

我现在的nixpkgs.config里有这个

代码语言:javascript
复制
packageOverrides = pkgs: rec {
  netbeans81 = pkgs.stdenv.lib.overrideDerivation pkgs.netbeans ( oldAttrs: {
    name = "netbeans-8.1";
    src = pkgs.fetchurl {
      url = http://download.netbeans.org/netbeans/8.1/final/zip/netbeans-8.1-201510222201.zip;
      md5 = "361ce18421761a057bad5cb6cf7b58f4";
    };
  });
};

我想添加一个内核配置。我加了这个

代码语言:javascript
复制
packageOverrides = pkgs: {
    stdenv = pkgs.stdenv // {
        platform = pkgs.stdenv.platform // {
            kernelExtraConfig = "SND_HDA_PREALLOC_SIZE 4096";
        };
    };
};

但这不起作用。问题是packageOverrides已经定义好了。

我如何添加内核信任和我的netbeans覆盖?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-25 05:43:07

在nix语言中,大括号({})表示属性集(而不是C++等中的范围)。您可以在一个属性集中拥有多个项(attr )。集合就像python中的数据集)。另外,nix是一种函数式语言,这意味着没有状态。反过来,这意味着您不能在同一范围内重新定义变量。用阿姆的话来说,“你只有一次机会”。

试试这个:

代码语言:javascript
复制
packageOverrides = pkgs: rec {

  netbeans81 = pkgs.stdenv.lib.overrideDerivation pkgs.netbeans (oldAttrs: {
    name = "netbeans-8.1";
    src = pkgs.fetchurl {
      url = http://download.netbeans.org/netbeans/8.1/final/zip/netbeans-8.1-201510222201.zip;
      md5 = "361ce18421761a057bad5cb6cf7b58f4";
    };
  });

  stdenv = pkgs.stdenv // {
    platform = pkgs.stdenv.platform // {
      kernelExtraConfig = "SND_HDA_PREALLOC_SIZE 4096";
    };
  };

};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37242633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档