!OHimLTKAXNbFrEoogf:matrix.org

Nix Milan

110 Members
https://milano.nix.pizza/7 Servers

You have reached the beginning of time (for this room).


SenderMessageTime
2 Nov 2025
@telegram_7189191315:t2bot.iogecko 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
@telegram_463188749:t2bot.ioAlessandro Candido17 MB e' la risorsa che identifica o l'URL stesso? (comunque no, nessuna idea)15:08:01
@telegram_7189191315:t2bot.iogecko 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
@telegram_73824637:t2bot.ioAndrea Ciceri Se vuoi una versione ancora piu' pompata c'e' pure writeShellApplication che fa anche andare shellcheck nella checkPhase della derivazione 15:46:45
@telegram_73824637:t2bot.ioAndrea Ciceri 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
@telegram_73824637:t2bot.ioAndrea Ciceri
In reply to gecko
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?
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
15:42:24
@telegram_73824637:t2bot.ioAndrea Ciceri
In reply to gecko
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.
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
@telegram_7189191315:t2bot.iogecko
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
@telegram_7189191315:t2bot.iogecko A 'sto punto non mi è ben chiaro l'uso di builtins.fetch{url,tarball} 🤔 17:01:29
@telegram_7189191315:t2bot.iogecko Mmh, dici di fare semplicemente builtins.readFile (pkgs.fetchurl ...)? Pensavo fosse haram, ma forse funziona. 17:00:50
@telegram_7189191315:t2bot.iogeckoIDF?17:05:00
@telegram_7189191315:t2bot.iogecko 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
@telegram_7189191315:t2bot.iogeckoI guess per funzionare anche se non hai abilitato IFD17:08:11
@telegram_7189191315:t2bot.iogeckoIo ne ho bisogno ad evaluation time17:02:58
@telegram_41776856:t2bot.ioMarco TurchettoSe non passi per il build time, non puoi fare caching nel nix store17:04:49
@telegram_41776856:t2bot.ioMarco TurchettoLol, IDF lo scambio sempre 🙈17:05:44
@telegram_41776856:t2bot.ioMarco TurchettoHai bisogno del valore ad evaluation time, ma questo non implica che tu lo debba scaricare ad eval time, puoi fare una IDF17:04:03

Show newer messages


Back to Room ListRoom Version: 10