Nix Milan | 108 Members | |
| https://milano.nix.pizza/ | 7 Servers |
| Sender | Message | Time |
|---|---|---|
| 2 Nov 2025 | ||
| IDF? | 17:05:00 | |
OK, quindi quello che dicevo prima builtins.readFile. Se funziona figo, di nuovo però non capisco perché non usare sempre questo invece che builtins.fetchtarball. | 17:07:09 | |
| I guess per funzionare anche se non hai abilitato IFD | 17:08:11 | |
| Io ne ho bisogno ad evaluation time | 17:02:58 | |
| Se non passi per il build time, non puoi fare caching nel nix store | 17:04:49 | |
| Lol, IDF lo scambio sempre 🙈 | 17:05:44 | |
| Hai bisogno del valore ad evaluation time, ma questo non implica che tu lo debba scaricare ad eval time, puoi fare una IDF | 17:04:03 | |
| Credo tu abbia bisogno dei pkgs.fetch* invece dei builtins.fetch* | 16:57:02 | |
| Nixpkgs Reference Manual https://nixos.org/manual/nixpkgs/stable/#chap-pkgs-fetchers | 16:57:02 | |
| Import From Derivation | 17:05:16 | |
| Il tldr è che il download avviene in fasi diverse, evaluation Vs build time, c'è una tabellina riassuntiva nella doc | 17:02:11 | |
Bene, ho speso un paio d'ore a convertire uno script Python in nix builtins.convertHash). A ben pensarci, dato che non posso evitare IFD, tantovale teneremi lo script Python :| | 19:40:25 | |
| Ma perché vuoi evitare l'IFD? Cioè non è il top in certi casi ma non è nemmeno il male assoluto | 22:52:50 | |
| 3 Nov 2025 | ||
Ma no infatti, era solo una cosa che se evitavo preferivo. Comunque alla fine convertHash saves the day e son riuscito a fare tutto in pure nix (eccetto builtins.readFile che è IFD). Mi resta il dubbio se fosse meglio usare builtins.fetchurl ma va beh. | 07:55:24 | |
| Ah senno' se non vuoi usare i flake ma vuoi un tool cli che ti fa pinnare roba e metterla in un lockfile c'e' questo: https://github.com/andir/npins | 09:04:31 | |
| (non consiglio ma vorrei provarci un giorno, anche solo per cazzeggio) | 09:02:49 | |
| Comunque per use case molto estremi puoi creare nuove builtin (tipo questa per convertire gli hash) compilando un plugin e facendolo caricare dinamicamente a nix: https://nix.dev/manual/nix/2.24/command-ref/conf-file.html#conf-plugin-files | 09:02:18 | |
In reply to gecko> ma mi pare strano che la funzione prenda un argomento in più se sei in un flake Invece e' proprio cosi', una delle critiche ai flake infatti e' che fanno troppe cose tutte assieme (https://samuel.dionne-riel.com/blog/2023/09/06/flakes-is-an-experiment-that-did-too-much-at-once.html) Anche se nel caso particore della pure evaluation mode credo sia possibile attivarla anche senza flake (mai provato). Anche perche' senza hash come fa nix a garantire ad eval time che la roba scaricata dall'url sia sempre le stessa? Stesso motivo per cui nella pure eval mode non puoii fare builtins.getEnv o builtins.systemComunque se hai intenzione di usare i flake perche' non dichiari sta roba come input del flake direttamente? Sotto usa sempre builtins.fetchurl credo e lo fa ad eval time (lockando nel flake.lock)Anche se onestamente, se l'url non cambia spesso andrei di IFD e via... | 08:58:49 | |
| Si dice qualcosa qui: https://nix.dev/manual/nix/2.25/command-ref/conf-file#conf-pure-eval (comunque abbastanza vago) | 13:25:32 | |
| > Ma dov'è che è documentata 'sta cosa? Nella doc di fetchurl non se ne fa menzione. in effetti non dove la doc parla di builtins.fetchurl, forse una menzione ci stava li' siccome comunque moltissima gente parte direttamente coi flake | 13:25:10 | |
| esattamente questo intendevo | 13:24:03 | |
credo tu possa metterci qualsiasi cosa nell'input delle flake, c'è poi un flag flake = false; con cui gli puoi dire che non è un flake | 12:37:49 | |
In reply to Andrea Ciceri> Anche se onestamente, se l'url non cambia spesso andrei di IFD e via... L'URL non cambia mai (spero). Vorrei evitare un plugin. > Comunque se hai intenzione di usare i flake perche' non dichiari sta roba come input del flake direttamente? Proverò, non mi è chiaro bene come funzionino gli input dei flake, in genere ci si mette robe nixose, non un JSON, no? Devo guardarci. > Invece e' proprio cosi', una delle critiche ai flake infatti e' che fanno troppe cose tutte assieme Ma dov'è che è documentata 'sta cosa? Nella doc di fetchurl non se ne fa menzione. | 12:33:31 | |
| @gecko4242 guarda qui https://nix.dev/manual/nix/2.28/command-ref/new-cli/nix3-flake.html#types e anche la sezione successiva | 12:41:03 | |
| OK, quando lo porto nel flake faccio così allora. Molto contento di come è venuto fuori. | 16:33:58 | |
| Pero' e' vero che aggiornare mezzo milione di cose tutte insieme e' un po' un problema. Uno dei punti molto ragionevoli riguardava ad esempio la CLI. Mentre la comunita' e' stata divisa (almeno per un tot) sull'utilizzo dei flake (specialmente fra chi usava Nix ormai da anni, e i molti che cominciavano a usarlo gia' con i flake), la nuova CLI era una cosa che piaceva praticamente a tutti. Pero', col fatto che e' stata appaiata con i flake, sta ancora sotto "Experimental Commands" | 17:02:41 | |
| (ok, forse mancava anche qualche feature dalla vecchia - ma credo che il punto fosse che era una cosa facilmente digeribile, se non fosse stata accorpata a tutto il resto dell'update) | 17:03:24 | |
In reply to GermanoCredo che non sia un'opzione. Se non e' un flake, glielo devi dire > Repositories that don't contain a flake.nix can also be used as inputs, by setting the input's flake attribute to false:https://nix.dev/manual/nix/2.28/command-ref/new-cli/nix3-flake.html#flake-inputs | 16:58:38 | |
In reply to Andrea Ciceri Invece e' proprio cosi', una delle critiche ai flake infatti e' che fanno troppe cose tutte assieme (https://samuel.dionne-riel.com/blog/2023/09/06/flakes-is-an-experiment-that-did-too-much-at-once.html)Si', anch'io avevo letto piu' di un post in proposito. Anche se, per quanto la critica sia piu' che ragionevole, devo dire che a livello personale apprezzo piu' o meno tutte le cose che hanno fatto | 16:59:46 | |
Ma se io ho un flake, che non c'entra niente con NixOS, posso usare il module system? Tipo imports = [ ... ], mkOption e così via?O mi serve tipo flake.parts? | 20:35:44 | |