Nix Milan | 110 Members | |
| https://milano.nix.pizza/ | 7 Servers |
| Sender | Message | Time |
|---|---|---|
| 2 Nov 2025 | ||
Qual è il vantaggio di usare writeShellScriptBin invece che creare a mano uno script e fare chmod +x? 🤔 Non mi è chiaro perché avrebbe senso star lì a creare una derivazione per una cosa usata solo in un punto. | 09:35:32 | |
| 17 MB e' la risorsa che identifica o l'URL stesso? (comunque no, nessuna idea) | 15:08:01 | |
Unrelated, c'ho un URL da 17MB che non cambia mai che devo fetchare ad evaluation-time (contiene una serie di coppie (URL, hash)). Potrei usare builtins.fetchurl ma a quanto capisco cacha solo per un'ora e quindi ogni ora dovrei fetcharmi tutto il file. builtins.fetchtarball mi permette di specificare un hash, che è bello, ma a quanto capisco cacha comunque solo per un'ora. Idee? | 14:57:54 | |
Se vuoi una versione ancora piu' pompata c'e' pure writeShellApplication che fa anche andare shellcheck nella checkPhase della derivazione | 15:46:45 | |
Inoltre e' una derivazione, quindi ha una closure e si porta dietro tutte le dipendenze. Se dentro lo script usi tipo ${pkgs.foo}/bin/foo allora la derivazione si porta dietro foo | 15:46:13 | |
In reply to geckoperche' 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 | 15:42:24 | |
In reply to gecko writeShellScriptBin ritorna una derivazione che una volta buildata produce una una cartella contenente bin/tuo-script.sh.Quindi pui fare tipo environment.systemPackages = [ (writeShellScriptBin {...}) ] | 15:44:40 | |
In reply to Andrea CiceriHai 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 | |
A 'sto punto non mi è ben chiaro l'uso di builtins.fetch{url,tarball} 🤔 | 17:01:29 | |
Mmh, dici di fare semplicemente builtins.readFile (pkgs.fetchurl ...)? Pensavo fosse haram, ma forse funziona. | 17:00:50 | |
| 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 | |