!OHimLTKAXNbFrEoogf:matrix.org

Nix Milan

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

Load older messages


SenderMessageTime
1 Nov 2025
@telegram_463188749:t2bot.ioAlessandro CandidoLa mia idea e' che probabilmente ti serviranno poche shell, non credo che ne cambierai una ogni 5 minuti. Per cui fai prima a cambiare a manina ogni volta. Almeno e' dichiarativa e riproducibile07:50:36
@telegram_463188749:t2bot.ioAlessandro Candido In ogni caso, se vuoi un sistema che sia un po' piu' imperativo, in cui specifichi di volta in volta quello che vuoi, puoi sempre generare le combinazioni.
Per cui puoi avere myflake#nvim-git-cargo-clang (e tutte le permutazioni) generate da una funzione. Cosi' se vuoi una cosa in piu' aggiungi semplicemente alla stringa
07:52:28
@telegram_463188749:t2bot.ioAlessandro CandidoA mio parere, fai meglio a limitare il numero di combinazioni. Ma altrimenti puoi proliferarle a piacere. Anche perche' sono valutate lazy, quindi (se non mi sto perdendo qualcosa) dovresti poter fare in modo di valutare solo l'output che ti interessa, senza dover generare tutte le mille combinazioni davvero07:54:10
@telegram_463188749:t2bot.ioAlessandro CandidoPoi, potenzialmente, puoi anche condividere pezzi fra le shell di sviluppo e le configurazioni dei tuoi sistemi. Pensa a pacchetti e configurazioni come librerie (che alla fine e' quello che sono i moduli di NixOS) e alle shell e le configurazioni come applicazioni. Come distribuisci le librerie e' una questione separata. Ma puoi riutilizzarle e comporle a piacere07:45:57
@telegram_28186152:t2bot.ioLucioSi chiaro, il punto era non doverla estendere o restringere a manina ogni volta07:49:53
@telegram_28186152:t2bot.ioLucioLo so, mi chiedevo appunto come filtrare parti della mia conf e poterla avere dinamicamente in una shell temporanea Tipo nix run o nix develop e gli passo dei parametri per dirgli come comporre la shell. Nel flake associerei un modulo di packages o program ad ogni parametro. Non so se si può fare.07:49:08
@telegram_28186152:t2bot.ioLucio
In reply to Alessandro Candido
Ma... cosa intendi esattamente con "a priori"?
A priori nel senso che non so cosa mi servirà prima di accedere al sistema/device su cui devo eseguire dei task
07:45:08
@telegram_463188749:t2bot.ioAlessandro CandidoForse non ho capito esattamente il problema, ma quello che avevo in mente e' che se scopri che ti serve altro, estendi la configurazione della shell, o ne crei una nuova. E la lanci di nuovo07:46:53
@telegram_463188749:t2bot.ioAlessandro CandidoLa shell non deve fare parte necessariamente della tua configurazione, puoi definirla separatamente, in un file (o un intero repo) per conto suo07:43:41
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
@telegram_41776856:t2bot.ioMarco TurchettoCredo tu abbia bisogno dei pkgs.fetch* invece dei builtins.fetch*16:57:02
@telegram_41776856:t2bot.ioMarco Turchetto Nixpkgs Reference Manual
https://nixos.org/manual/nixpkgs/stable/#chap-pkgs-fetchers
16:57:02
@telegram_41776856:t2bot.ioMarco TurchettoImport From Derivation17:05:16
@telegram_41776856:t2bot.ioMarco TurchettoIl tldr è che il download avviene in fasi diverse, evaluation Vs build time, c'è una tabellina riassuntiva nella doc17:02:11

Show newer messages


Back to Room ListRoom Version: 10