Nix 派生处理对系统文件的访问

问题描述

我正在尝试为 Python GTK3 应用程序 TLPUI 创建一个派生。

似乎作为其构建的一部分,它试图读取 /etc/tlp.conf,但由于沙盒而中断。

这是我的认包.nix。

const mergeArraysByIndex = (arrays=[],merged=[],index=0) => {

  // stop when last array is reached
  if(index >= arrays.length) return merged;
  
  // get larger of the two to iterate over
  const arr1 = merged,arr2 = arrays[index] || [];
  let first = [],second = [];
  if(arr1.length > arr2.length) { first = arr1; second = arr2; } 
  else { first = arr2; second = arr1; }
  
  // merge two arrays
  merged = first.map((item,index) => ({ ...item,...second[index] }) );
  
  return mergeArraysByIndex(arrays,merged,index+1);
}

console.log( 
  mergeArraysByIndex(
    [
      [{"genderid":1515},{"genderid":1516}],[{"modnameid":1515},{"modnameid":1516},],[{"userid":1515},{"userid":1516},{"userid":1514}]
    ]
  )
);
console.log( 
  mergeArraysByIndex(
    [
      [{"genderid":1515},{"userid":1514}],[{"ageid":1515},{"ageid":1516},{"ageid":1514},{"ageid":1515}]
    ]
  )
);

构建失败并显示以下消息:

{ lib,fetchFromGitHub,cairo,gobject-introspection,gtk3,python3,python38Packages,tlp,wrapGAppsHook }:

python3.pkgs.buildPythonApplication rec {
  pname = "tlpui";
  version = "1.3.1-5";

  src = fetchFromGitHub {
    owner = "d4nj1";
    repo = "TLPUI";
    rev = "${pname}-${version}";
    sha256 = "1km3xb1slw7cg7bii1wrgn34s42y820w03wmk1nm63csmbdvin14";
  };

  nativeBuildInputs = [
    cairo
    gobject-introspection
    gtk3
    python38Packages.pygobject3
    python38Packages.pycairo
    tlp
    wrapGAppsHook
  ];

  Meta = {
    description = "Better lighting for Linux. Open source GUI for xflux";
    homepage = "https://justgetflux.com/linux.html";
    license = lib.licenses.gpl2; 

    maintainers = [ lib.maintainers.ciferkey ];
    platforms = lib.platforms.linux;
  };
}

注意错误错误:无法从 /etc/tlp.conf 或 /etc/default/tlp 读取用户配置。”

这个配置文件映射到以下软链接链:/etc/tlp.conf -> /etc/static/tlp.conf -> /nix/store/203msjwrf88ly6c1f5pavcgsk6icwfjf-etc-tlp.conf

  1. 为什么配置文件的哈希名称以“etc-tlp”结尾,而不仅仅是“tlp”?
  2. 是否可以让我的派生定义依赖于“etc-tlp”,然后创建某种映射,以便构建看到 /etc 下的文件?这是思考问题的错误方式吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)