git.delta.rocks / jrsonnet / refs/commits / ffbc7e982cb4

difftreelog

fix do not require wildcard with callPackage

Yaroslav Bolyukin2024-12-08parent: #3b8059d.patch.diff
in: trunk

6 files changed

modifiedcmds/fleet/src/cmds/secrets/mod.rsdiffbeforeafterboth
265 let generator = nix_go!(secret.generator);265 let generator = nix_go!(secret.generator);
266 let on: Option<String> = nix_go_json!(default_generator.impureOn);266 let on: Option<String> = nix_go_json!(default_generator.impureOn);
267
268 let nixpkgs = &config.nixpkgs;
267269
268 let host = if let Some(on) = &on {270 let host = if let Some(on) = &on {
269 config.host(on).await?271 config.host(on).await?
270 } else {272 } else {
271 config.local_host()273 config.local_host()
272 };274 };
273 let on_pkgs = host.pkgs().await?;275 let on_pkgs = host.pkgs().await?;
274 let call_package = nix_go!(on_pkgs.callPackage);
275 let mk_secret_generators = nix_go!(on_pkgs.mkSecretGenerators);276 let mk_secret_generators = nix_go!(on_pkgs.mkSecretGenerators);
276277
277 let mut recipients = Vec::new();278 let mut recipients = Vec::new();
280 recipients.push(key);281 recipients.push(key);
281 }282 }
282 let generators = nix_go!(mk_secret_generators(Obj { recipients }));283 let generators = nix_go!(mk_secret_generators(Obj { recipients }));
284 let pkgs_and_generators = nix_go!(on_pkgs + generators);
285
286 let call_package = nix_go!(nixpkgs.lib.callPackageWith(pkgs_and_generators));
283287
284 let generator = nix_go!(call_package(generator)(generators));288 let generator = nix_go!(call_package(generator)(Obj {}));
285289
286 let generator = generator.build_maybe_batch(batch).await?;290 let generator = generator.build_maybe_batch(batch).await?;
287 let generator = generator291 let generator = generator
353 bail!("generator should be lambda, got {gen_ty}");357 bail!("generator should be lambda, got {gen_ty}");
354 }358 }
355 }359 }
360 let nixpkgs = &config.nixpkgs;
356 let default_pkgs = &config.default_pkgs;361 let default_pkgs = &config.default_pkgs;
357 let default_call_package = nix_go!(default_pkgs.callPackage);
358 let default_mk_secret_generators = nix_go!(default_pkgs.mkSecretGenerators);362 let default_mk_secret_generators = nix_go!(default_pkgs.mkSecretGenerators);
359 // Generators provide additional information in passthru, to access363 // Generators provide additional information in passthru, to access
360 // passthru we should call generator, but information about where this generator is supposed to build364 // passthru we should call generator, but information about where this generator is supposed to build
367 let generators = nix_go!(default_mk_secret_generators(Obj {371 let generators = nix_go!(default_mk_secret_generators(Obj {
368 recipients: <Vec<String>>::new(),372 recipients: <Vec<String>>::new(),
369 }));373 }));
374 let pkgs_and_generators = nix_go!(default_pkgs + generators);
375
376 let call_package = nix_go!(nixpkgs.lib.callPackageWith(pkgs_and_generators));
370 let default_generator = nix_go!(default_call_package(generator)(generators));377 let default_generator = nix_go!(call_package(generator)(Obj {}));
371378
372 let kind: GeneratorKind = nix_go_json!(default_generator.generatorKind);379 let kind: GeneratorKind = nix_go_json!(default_generator.generatorKind);
373380
modifiedcrates/fleet-base/src/host.rsdiffbeforeafterboth
3434
35 /// import nixpkgs {system = local};35 /// import nixpkgs {system = local};
36 pub default_pkgs: Value,36 pub default_pkgs: Value,
37 pub nixpkgs: Value,
3738
38 pub nix_session: NixSession,39 pub nix_session: NixSession,
39}40}
modifiedcrates/fleet-base/src/opts.rsdiffbeforeafterboth
225 nix_args,225 nix_args,
226 config_field,226 config_field,
227 default_pkgs,227 default_pkgs,
228 nixpkgs,
228 localhost: self.localhost.to_owned(),229 localhost: self.localhost.to_owned(),
229 })))230 })))
230 }231 }
modifiedcrates/nix-eval/src/macros.rsdiffbeforeafterboth
231 (@o($o:ident) | $($var:tt)*) => {231 (@o($o:ident) | $($var:tt)*) => {
232 $o.push(Index::Pipe($crate::nix_expr_inner!($($var)+)));232 $o.push(Index::Pipe($crate::nix_expr_inner!($($var)+)));
233 };233 };
234 (@o($o:ident) + $($var:tt)*) => {
235 $o.push(Index::Merge($crate::nix_expr_inner!($($var)+)));
236 };
234 (@o($o:ident)) => {};237 (@o($o:ident)) => {};
235 ($field:ident $($tt:tt)+) => {{238 ($field:ident $($tt:tt)+) => {{
236 use $crate::{nix_go, Index};239 use $crate::{nix_go, Index};
modifiedcrates/nix-eval/src/value.rsdiffbeforeafterboth
15 Expr(NixExprBuilder),15 Expr(NixExprBuilder),
16 ExprApply(NixExprBuilder),16 ExprApply(NixExprBuilder),
17 Pipe(NixExprBuilder),17 Pipe(NixExprBuilder),
18 Merge(NixExprBuilder),
18}19}
19impl Index {20impl Index {
20 pub fn var(v: impl AsRef<str>) -> Self {21 pub fn var(v: impl AsRef<str>) -> Self {
56 Index::Pipe(e) => {57 Index::Pipe(e) => {
57 write!(f, "<map>({})", e.out)58 write!(f, "<map>({})", e.out)
58 }59 }
60 Index::Merge(e) => {
61 write!(f, "//({})", e.out)
62 }
59 }63 }
60 }64 }
61}65}
157 let index = format!("sess_field_{}", index.0.value.expect("value"));161 let index = format!("sess_field_{}", index.0.value.expect("value"));
158 query = format!("({index} {query})");162 query = format!("({index} {query})");
159 }163 }
164 Index::Merge(v) => {
165 let index = Value::new(self.0.session.clone(), &v.out).await?;
166 used_fields.push(index.clone());
167 let index = format!("sess_field_{}", index.0.value.expect("value"));
168 query = format!("({query} // {index})");
169 }
160 }170 }
161 }171 }
162172
modifiedlib/default.nixdiffbeforeafterboth
46 mkPassword = {size ? 32}: {46 mkPassword = {size ? 32}: {
47 coreutils,47 coreutils,
48 mkSecretGenerator,48 mkSecretGenerator,
49 ...
50 }:49 }:
51 mkSecretGenerator {50 mkSecretGenerator {
52 script = ''51 script = ''
58 mkEd25519 = {57 mkEd25519 = {
59 noEmbedPublic ? false,58 noEmbedPublic ? false,
60 encoding ? null,59 encoding ? null,
61 }: {mkSecretGenerator, ...}:60 }: {mkSecretGenerator}:
62 mkSecretGenerator {61 mkSecretGenerator {
63 script = ''62 script = ''
64 mkdir $out63 mkdir $out
68 '';67 '';
69 };68 };
7069
71 mkX25519 = {encoding ? null}: {mkSecretGenerator, ...}:70 mkX25519 = {encoding ? null}: {mkSecretGenerator}:
72 mkSecretGenerator {71 mkSecretGenerator {
73 script = ''72 script = ''
74 mkdir $out73 mkdir $out
80 mkRsa = {size ? 4096}: {79 mkRsa = {size ? 4096}: {
81 openssl,80 openssl,
82 mkSecretGenerator,81 mkSecretGenerator,
83 ...
84 }:82 }:
85 mkSecretGenerator {83 mkSecretGenerator {
86 script = ''84 script = ''
98 count ? 32,96 count ? 32,
99 encoding,97 encoding,
100 noNuls ? false,98 noNuls ? false,
101 }: {mkSecretGenerator, ...}:99 }: {mkSecretGenerator}:
102 mkSecretGenerator {100 mkSecretGenerator {
103 script = ''101 script = ''
104 mkdir $out102 mkdir $out