1
我有一些包可以在我的configuration.nix中覆蓋。所以我寫的代碼如下:如何在Nixos configuration.nix中覆蓋2(兩個)包
nixpkgs.config = {
allowUnfree = true;
packageOverrides = {
pkgs: rec {
#mumble + pulse audio
mumble = pkgs.mumble.override {
pulseSupport = true;
};
#kernel for intel ethernet and Testing e1000e package override
linuxPackages.e1000e = pkgs.linuxPackages.e1000e.overrideDerivation (attrs: {
name = "e1000e-3.3.3-${config.boot.kernelPackages.kernel.version}";
src = fetchurl {
url = "https://www.dropbox.com/s/pxx883hx9763ygn/e1000e-3.3.3.tar.gz?dl=0";
sha256 = "1s2w54927fsxg0f037h31g3qkajgn5jd0x3yi1chxsyckrcr0x80";
};
});
};
};
};
但是當我做nixos-rebuild switch
,我得到了以下錯誤:
syntax error, unexpected ':', expecting '.' or '=', at 37,11
這是PKGS:REC {...
我做了什麼錯?起初,我通過這樣分開pkgs來編寫它:
packageOverrides = {
pkgs: with pkgs: {......}; #this is for mumble
pkgs: rec {...}; #this is for kernel
};
並且仍然得到相同的錯誤。
它看起來並不像由let綁定引入的'self'被使用。在這種情況下甚至有必要嗎? –
確實,「自我綁定」是不必要的。我主要通過習慣將它添加到示例中,因爲通常人們確實需要它。 –
關於您的評論「還請注意......」,正確的方法是什麼? –