!OHimLTKAXNbFrEoogf:matrix.org

Nix Milan

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

Load older messages


SenderMessageTime
2 Nov 2025
@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
@telegram_7189191315:t2bot.iogecko 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
@telegram_41776856:t2bot.ioMarco TurchettoMa perché vuoi evitare l'IFD? Cioè non è il top in certi casi ma non è nemmeno il male assoluto22:52:50
3 Nov 2025
@telegram_7189191315:t2bot.iogecko 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
@telegram_73824637:t2bot.ioAndrea 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
@telegram_73824637:t2bot.ioAndrea Ciceri(non consiglio ma vorrei provarci un giorno, anche solo per cazzeggio)09:02:49
@telegram_73824637:t2bot.ioAndrea Ciceri 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
@telegram_73824637:t2bot.ioAndrea Ciceri
In reply to gecko
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
> 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.system
Comunque 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
@telegram_73824637:t2bot.ioAndrea Ciceri Si dice qualcosa qui: https://nix.dev/manual/nix/2.25/command-ref/conf-file#conf-pure-eval
(comunque abbastanza vago)
13:25:32
@telegram_73824637:t2bot.ioAndrea Ciceri > 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
@telegram_73824637:t2bot.ioAndrea Ciceriesattamente questo intendevo13:24:03
@telegram_137632964:t2bot.ioGermano 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
@telegram_7189191315:t2bot.iogecko
In reply to Andrea Ciceri
> 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.system
Comunque 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...
> 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
@telegram_137632964:t2bot.ioGermano @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
@telegram_7189191315:t2bot.iogeckoOK, quando lo porto nel flake faccio così allora. Molto contento di come è venuto fuori.16:33:58
@telegram_463188749:t2bot.ioAlessandro CandidoPero' 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
@telegram_463188749:t2bot.ioAlessandro Candido(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
@telegram_463188749:t2bot.ioAlessandro Candido
In reply to Germano
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
Credo 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
@telegram_463188749:t2bot.ioAlessandro Candido
In reply to Andrea Ciceri
> 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.system
Comunque 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...
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
@telegram_7189191315:t2bot.iogecko 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
@telegram_176121111:t2bot.ioFrancesco un teoria sì puoi usare lib.evalModules fuori da un modulo di nixos, devi solo avere nixpkgs come input e importarlo https://nix.dev/tutorials/module-system/deep-dive.html 21:29:43
@telegram_137632964:t2bot.ioGermanomhh, cos'è che vuoi fare? Non è molto chiara la domanda. mkOption è una roba definita da nixpkgs, quindi devi dichiararlo come input della tua flake per usarlo21:01:51
4 Nov 2025
@telegram_32436951:t2bot.ioDavid
In reply to gecko
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?
Dipende cosa devi fare, ma se hai bisogno di definire packages o altra roba su più sistemi (x86, arm, etc) ti conviene flake.parts imho
07:39:06
@telegram_721172851:t2bot.iox71c9 A qualcuno di voi è capitato risolvere questo problema? Se sì come l'avete risolto? https://github.com/NixOS/nixpkgs/issues/355746 18:00:18

Show newer messages


Back to Room ListRoom Version: 10