小编Rob*_*ing的帖子

nix-shell:如何从env文件加载环境变量?

与此问题相关:nix-shell:如何指定自定义环境变量?

有了这个推导:

stdenv.mkDerivation rec {
  FOO = "bar";
}
Run Code Online (Sandbox Code Playgroud)

FOO将在 nix shell 中作为环境变量使用,但是是否可以从 env 文件加载环境变量?

nix nixpkgs

6
推荐指数
1
解决办法
4411
查看次数

nix 覆盖中的自我和超级

在 nix 中,overlay 是一个带有 2 个参数的函数:selfsuper。基于手册self对应于最终的包集(或其他一些人称之为固定点计算的结果)并且仅在处理依赖项时使用。Whilesuper是前几个阶段的评估结果,nixpkgs仅在您引用要覆盖或访问某些功能的包时使用。

可悲的是,我真的不明白这一点。nixpkgs覆盖层以什么方式更新,从而有上面提到的 2 个限制?

nix

5
推荐指数
1
解决办法
856
查看次数

是否有可能'解决'一个量词量词?

假设我们有一个类型构造函数f,它通过一个DataKinds提升的对来获得两种类型.

forall (f :: (ka, kb) -> *)
Run Code Online (Sandbox Code Playgroud)

然后我就可以实现一个功能forward,这就好比curryforall量词:

forward :: forall (f :: (ka, kb) -> *).
           (forall (ab :: (ka, kb)).     f ab) ->
           (forall (a :: ka) (b :: kb).  f '(a, b))
forward x = x
Run Code Online (Sandbox Code Playgroud)

但是,反向功能存在问题:

backward :: forall (f :: (*, *) -> *).
            (forall (a :: *) (b :: *). f '(a, b)) ->
            (forall (ab :: (*, *)). f ab)
backward x = x
Run Code Online (Sandbox Code Playgroud)

GHC 8.0.1给出错误消息: …

haskell currying higher-rank-types type-level-computation data-kinds

4
推荐指数
1
解决办法
159
查看次数

在 NixOS 中,如何解决冲突?

我正在尝试使用 Python 设置开发环境,包括 Python 库 Spacy 和 Pandas。我试图运行的命令是nix-shell -p 'python36.withPackages(ps: with ps; [ spacy pandas ])'

但这就是发生的事情:

these derivations will be built:
  /nix/store/7pgb52aa5hkgzv0mkc3jmxdhavxdr013-python3-3.6.6-env.drv
building '/nix/store/7pgb52aa5hkgzv0mkc3jmxdhavxdr013-python3-3.6.6-env.drv'...
collision between `/nix/store/k1njxvw8rdv29yz7iccr4nbfwcbghwhc-python3.6-msgpack-0.5.6/lib/python3.6/site-packages/msgpack/__pycache__/__init__.cpython-36.pyc' and `/nix/store/nig71x1wc7b3c04hs6vz8kk6bmdz5ldv-python3.6-msgpack-python-0.5.6/lib/python3.6/site-packages/msgpack/__pycache__/__init__.cpython-36.pyc'
Run Code Online (Sandbox Code Playgroud)

这里发生了什么,我该如何解决?

python nix nixpkgs

3
推荐指数
1
解决办法
1442
查看次数

NixOS 服务 systemd 单元的 $PATH 不包含预期的依赖项

我有以下定义:

  hello123 = 
    (pkgs.writeScriptBin "finderapp" ''
      #!${pkgs.stdenv.shell}
      # Call hello with a traditional greeting 
      ls ${pkgs.ffmpeg-full}/bin/ffmpeg

      ffmpeg --help

      echo hello
    ''
    );
Run Code Online (Sandbox Code Playgroud)

和服务:

  systemd.services = {
    abcxyz = {
      enable = true;
      description = "abcxyz";
      serviceConfig = {
        WorkingDirectory = "%h/temp/";
        Type      = "simple";
        ExecStart = "${hello123}/bin/finderapp";
        Restart   = "always";
        RestartSec   = 60;
      };
      wantedBy = [ "default.target" ];
    };
  };
Run Code Online (Sandbox Code Playgroud)

但是,这似乎无法执行ffmpeg

Jul 10 19:47:54 XenonKiloCranberry systemd[1]: Started abcxyz.
Jul 10 19:47:54 XenonKiloCranberry finderapp[10042]: /nix/store/9yx9s5yjc6ywafadplblzdfaxqimz95w-ffmpeg-full-4.2.3/bin/ffmpeg
Jul 10 19:47:54 …
Run Code Online (Sandbox Code Playgroud)

nixos nix

2
推荐指数
1
解决办法
2395
查看次数

使用对 const 结构的 const 数组的引用进行构造

所以我有一个结构数组和一个使用该数组的类。构造函数需要引用作为常量的结构数组。我正在努力将结构数组作为引用传递,以便类构造函数可以使用它。由于结构数组不会改变,因此无需复制它,我只需要引用它。这是我当前生成错误的代码。

struct c_cs_pair_t
{
    const wchar_t c;
    const wchar_t* cs;
};


class Converter
{
protected:
    size_t  _length;
    const c_cs_pair_t(& _pairs)[];

public:

    Converter ( const c_cs_pair_t(& pairs)[] ) : _pairs(pairs) {
        _length = sizeof ( pairs ) / sizeof( c_cs_pair_t );
    }

};

const c_cs_pair_t c2cspairs[] = 
        { { L'\n', L"\\n" }
        , { L'\0', L"\\0" }
        , { L'\\', L"\\\\" }
        , { L'[', L"\\[" }
        , { L']', L"\\]" }
        , { L'.', L"\\." }
        , { L':', L"\\:" …
Run Code Online (Sandbox Code Playgroud)

c++ arrays constructor struct

1
推荐指数
1
解决办法
44
查看次数