Nixos 在我的存储库中实现覆盖 我想要什么

Nixos 在我的存储库中实现覆盖 我想要什么,nixos,nixpkgs,Nixos,Nixpkgs,文档覆盖EATTRS,它可以与顶级/所有包一起使用。nix 所以我希望能够在我自己的nixpkgs覆盖中使用overrideAttrs 代码 问题 但问题是评估AAA不起作用: nix-build nixcloud-pkgs.nix -A AAA error: attribute ‘overrideAttrs’ missing, at /home/joachim/Desktop/projects/nixcloud/nixcloud-webservices/nixcloud-pkgs.nix:17

文档
覆盖EATTRS
,它可以与
顶级/所有包一起使用。nix

所以我希望能够在我自己的nixpkgs覆盖中使用overrideAttrs

代码 问题 但问题是评估
AAA
不起作用:

nix-build nixcloud-pkgs.nix -A AAA
error: attribute ‘overrideAttrs’ missing, at /home/joachim/Desktop/projects/nixcloud/nixcloud-webservices/nixcloud-pkgs.nix:17:9
相比之下,评估
helloWithDebug
则有效:

nix-build nixcloud-pkgs.nix -A helloWithDebug
these derivations will be built:
  /nix/store/x01q7lfqbwlj08iknph37jxh2bk3il68-hello-2.10.drv
these paths will be fetched (0.69 MiB download, 0.69 MiB unpacked):
  /nix/store/3x7dwzq014bblazs7kq20p9hyzz0qh8g-hello-2.10.tar.gz
暗示 在nixpkgs中,我看到:

lib/customization.nix
用于
lib/default.nix
中,我还不能说它被注入到哪里

黑客入侵 为了查看堆栈,我刚刚将分解代码添加到
lib/customization.nix

nix-build -I nixpkgs=../nixpkgs -A tests --show-trace                                                                 ~/Desktop/projects/nixos/nixpkgs
error: while evaluating anonymous function at /home/joachim/Desktop/projects/nixos/nixpkgs/pkgs/top-level/impure.nix:15:1, called from undefined position:
while evaluating anonymous function at /home/joachim/Desktop/projects/nixos/nixpkgs/pkgs/top-level/default.nix:20:1, called from /home/joachim/Desktop/projects/nixos/nixpkgs/pkgs/top-level/impure.nix:64:1:
while evaluating anonymous function at /home/joachim/Desktop/projects/nixos/nixpkgs/pkgs/stdenv/booter.nix:42:1, called from /home/joachim/Desktop/projects/nixos/nixpkgs/pkgs/top-level/default.nix:97:10:
while evaluating ‘dfold’ at /home/joachim/Desktop/projects/nixos/nixpkgs/pkgs/stdenv/booter.nix:60:27, called from /home/joachim/Desktop/projects/nixos/nixpkgs/pkgs/stdenv/booter.nix:104:4:
while evaluating ‘go’ at /home/joachim/Desktop/projects/nixos/nixpkgs/pkgs/stdenv/booter.nix:63:18, called from /home/joachim/Desktop/projects/nixos/nixpkgs/pkgs/stdenv/booter.nix:71:8:
while evaluating the file ‘/home/joachim/Desktop/projects/nixos/nixpkgs/lib/default.nix’:
syntax error, unexpected ID, expecting '.' or '=', at /home/joachim/Desktop/projects/nixos/nixpkgs/lib/customisation.nix:37:3
我到底做了什么 使用覆盖 文档 另请参见此处讨论的内容

我可能应该使用
nix-build -I nixpkgs=../nixpkgs -A tests --show-trace                                                                 ~/Desktop/projects/nixos/nixpkgs
error: while evaluating anonymous function at /home/joachim/Desktop/projects/nixos/nixpkgs/pkgs/top-level/impure.nix:15:1, called from undefined position:
while evaluating anonymous function at /home/joachim/Desktop/projects/nixos/nixpkgs/pkgs/top-level/default.nix:20:1, called from /home/joachim/Desktop/projects/nixos/nixpkgs/pkgs/top-level/impure.nix:64:1:
while evaluating anonymous function at /home/joachim/Desktop/projects/nixos/nixpkgs/pkgs/stdenv/booter.nix:42:1, called from /home/joachim/Desktop/projects/nixos/nixpkgs/pkgs/top-level/default.nix:97:10:
while evaluating ‘dfold’ at /home/joachim/Desktop/projects/nixos/nixpkgs/pkgs/stdenv/booter.nix:60:27, called from /home/joachim/Desktop/projects/nixos/nixpkgs/pkgs/stdenv/booter.nix:104:4:
while evaluating ‘go’ at /home/joachim/Desktop/projects/nixos/nixpkgs/pkgs/stdenv/booter.nix:63:18, called from /home/joachim/Desktop/projects/nixos/nixpkgs/pkgs/stdenv/booter.nix:71:8:
while evaluating the file ‘/home/joachim/Desktop/projects/nixos/nixpkgs/lib/default.nix’:
syntax error, unexpected ID, expecting '.' or '=', at /home/joachim/Desktop/projects/nixos/nixpkgs/lib/customisation.nix:37:3
cat nixcloud-pkgs.nix
{  pkgs ? import <nixpkgs> {}
,  nixcloud-backend   ? pkgs.stdenv.lib.cleanSource ../nixcloud-backend
,  nixcloud-frontend  ? pkgs.stdenv.lib.cleanSource ../nixcloud-frontend
,  nixcloud-editor    ? pkgs.stdenv.lib.cleanSource ../nixcloud-editor
,  nixcloud-container ? pkgs.stdenv.lib.cleanSource ../nixcloud-container
, ...
} @ args:
let
  nc-backend = nixcloud-backend;
  nc-frontend = nixcloud-frontend;

  newpkgs = import pkgs.path { overlays = [ (self: super: {
    nixcloud-backend  = super.callPackage nc-backend { inherit newpkgs; };
    nixcloud-frontend = super.callPackage "${nc-frontend}/release.nix" {
      inherit nixcloud-editor;
    };

  } ) ]; };
in newpkgs
nix-build nixcloud-pkgs.nix -A nixcloud-frontend
cat nixcloud-pkgs.nix
{  pkgs ? import <nixpkgs> {}
,  nixcloud-backend   ? pkgs.stdenv.lib.cleanSource ../nixcloud-backend
,  nixcloud-frontend  ? pkgs.stdenv.lib.cleanSource ../nixcloud-frontend
,  nixcloud-editor    ? pkgs.stdenv.lib.cleanSource ../nixcloud-editor
,  nixcloud-container ? pkgs.stdenv.lib.cleanSource ../nixcloud-container
, ...
} @ args:
let
  nc-backend = nixcloud-backend;
  nc-frontend = nixcloud-frontend;

  newpkgs = import pkgs.path { overlays = [ (self: super: {
    nixcloud-backend  = super.callPackage nc-backend { inherit newpkgs; };
    nixcloud-frontend = supber.callPackage "${nc-frontend}/release.nix" {
      inherit nixcloud-editor;
    };

  } ) ]; };
in newpkgs.nixcloud-frontend.override (oldAttrs: rec {
  API_HOST="wss://....";
})
nix-build nixcloud-pkgs.nix