| 2 Nov 2025 |
gecko | In reply to Andrea Ciceri perche' proprio ad eval time? IMO e' meglio evitare il piu' possibile, se e' per scaricare roba "privata" puoi aggiungere token al file pntato da nix-netrc. Comunque credo che usando pure-eval (di default se usi i flake) builtins.fetchurl dovrebbe chiederti anche un hash, immagino tu non stia usando i flake pero' magari puoi comunque passarglielo l'hash?
Tra l'altro dove hai letto che cacha solo per un'ora? Non la trovo nella documentazione Hai ragione, la doc di fetchtarball dice cacha un'ora, fetchurl no. Però se provi la seconda volta è più veloce.
Non sto usando i flake, ma mi pare strano che la funzione prenda un argomento in più se sei in un flake 🤔 In realtà questo diventerà parte di un flake. Comunque non è roba privata, è che sono proprio gli URL di cui voglio fare pkgs.fetchurl, che quindi devo fare a evaluation time (credo). Io vorrei una roba che cachi indefinitamente e chi mi chiede l'hash. L'URL è questo btw: https://download.visualstudio.microsoft.com/download/pr/5011a9cc-e8ef-42cb-ad72-87de1031accc/b674dd46f83a684142689b3a86c73ba5f2e2477018087e4df218516214bbad58/VisualStudio.vsman | 16:40:04 |
gecko | A 'sto punto non mi è ben chiaro l'uso di builtins.fetch{url,tarball} 🤔 | 17:01:29 |
gecko | Mmh, dici di fare semplicemente builtins.readFile (pkgs.fetchurl ...)? Pensavo fosse haram, ma forse funziona. | 17:00:50 |
gecko | IDF? | 17:05:00 |
gecko | 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 |
gecko | I guess per funzionare anche se non hai abilitato IFD | 17:08:11 |
gecko | Io ne ho bisogno ad evaluation time | 17:02:58 |
Marco Turchetto | Se non passi per il build time, non puoi fare caching nel nix store | 17:04:49 |
Marco Turchetto | Lol, IDF lo scambio sempre 🙈 | 17:05:44 |
Marco Turchetto | 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 |
Marco Turchetto | Credo tu abbia bisogno dei pkgs.fetch* invece dei builtins.fetch* | 16:57:02 |
Marco Turchetto | Nixpkgs Reference Manual https://nixos.org/manual/nixpkgs/stable/#chap-pkgs-fetchers | 16:57:02 |
Marco Turchetto | Import From Derivation | 17:05:16 |
Marco Turchetto | Il tldr è che il download avviene in fasi diverse, evaluation Vs build time, c'è una tabellina riassuntiva nella doc | 17:02:11 |
gecko | Bene, ho speso un paio d'ore a convertire uno script Python in nix e ora dovrei pure scrivermi un convertitore da SHA256 in hex a base64 (SRI). (no, c'è builtins.convertHash). A ben pensarci, dato che non posso evitare IFD, tantovale teneremi lo script Python :| | 19:40:25 |
Marco Turchetto | 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 |
gecko | 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 |
Andrea Ciceri | 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 |