!OHimLTKAXNbFrEoogf:matrix.org

Nix Milan

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

Load older messages


SenderMessageTime
16 Dec 2025
@telegram_73824637:t2bot.ioAndrea Ciceri Se passi --use-substitutes che succede? 12:30:41
@telegram_73824637:t2bot.ioAndrea CiceriCosa vedi buildare due volte?12:26:34
@telegram_73824637:t2bot.ioAndrea Ciceri nix build <flake>#nixosConfigurations.<host>.config.system.build.toplevel sulle due macchine e poi confronti l'output? In realta' dovresi confrontare tutte le dipendenze 12:20:12
@telegram_73824637:t2bot.ioAndrea Ciceri Se non sbaglio nixos-rebuild builda pure nix stesso prima di fare il deploy, magari vedi quello? 12:28:00
@telegram_98204228:t2bot.ioAlessandro 🤔➖☀️🖌in teoria i flake sono ermetici quindi mi aspetterei che nulla, nemmeno la versione di nix, abbia un impatto. ma anche assumendo che nix abbia un impatto, ora sto usando la stessa versione12:23:51
@telegram_98204228:t2bot.ioAlessandro 🤔➖☀️🖌no, vedo 3000+ pacchetti da scaricare, secondo me è tutto tutto12:28:21
@telegram_98204228:t2bot.ioAlessandro 🤔➖☀️🖌Diciamo che sto facendo nixos-rebuild di un flake (stesso commit) da 2 host diversi: come faccio a verificare che la derivazione che stanno costruendo sia effettivamente la stessa?12:17:40
@telegram_98204228:t2bot.ioAlessandro 🤔➖☀️🖌 la build dovrebbe avvenire su foo in entrambi i casi, il flake è lo stesso (garantito da git), quindi... perché? 12:25:35
@telegram_73824637:t2bot.ioAndrea CiceriAh, interessante, non ne ho idea allora12:30:19
@telegram_73824637:t2bot.ioAndrea Ciceri Da due macchine diverse dai nixos-rebuild switch --flake <flake>? 12:24:27
@telegram_98204228:t2bot.ioAlessandro 🤔➖☀️🖌uhm, di base tutto: stavo facendo un update a 25.11, l'ho fatto da un host A, poi da un host B, e da B ha scaricato tutto di nuovo12:28:04
@telegram_98204228:t2bot.ioAlessandro 🤔➖☀️🖌
nixos-rebuild switch --build-host root@foo --target-host root@foo --flake .#foo
12:24:55
@telegram_98204228:t2bot.ioAlessandro 🤔➖☀️🖌
copying 3237 paths...
copying path '/nix/store/02f9qyjmkcak2ywwzb3571n0mggj8g58-tail.patch' to 'ssh://root@foo'...
etc
12:29:06
@telegram_98204228:t2bot.ioAlessandro 🤔➖☀️🖌in realtà la domanda più fondamentale che ho è: perchè se faccio nixos-rebuild da due macchine diverse dello stesso flake la rebuild viene fatta 2 volte anziché 1 sola? da cui la domanda sopra12:22:58
@telegram_98204228:t2bot.ioAlessandro 🤔➖☀️🖌uguale, con quel flag comunque copia i pacchetti che mancano12:32:09
@telegram_98204228:t2bot.ioAlessandro 🤔➖☀️🖌forse dovrei "scomporre" nixos-rebuild in passi più fondamentali e vedere cosa sta facendo12:35:27
@telegram_98204228:t2bot.ioAlessandro 🤔➖☀️🖌ma le due build sono avvenute a 20 min di distanza, quindi anche fosse quello è molto improbabile direi12:33:35
@telegram_98204228:t2bot.ioAlessandro 🤔➖☀️🖌provo12:31:34
@telegram_98204228:t2bot.ioAlessandro 🤔➖☀️🖌no, non è automatico12:33:07
@telegram_73824637:t2bot.ioAndrea Ciceri Al massimo --use-substitutes fara' si che la copia avvera' dalla cache a foo invece che dalla tua macchina a foo 12:32:17
@telegram_73824637:t2bot.ioAndrea CiceriPero' comunque non dovresti vedere proprio che li copia12:31:37
@telegram_73824637:t2bot.ioAndrea CiceriMagari il garbage collector ha cancellato roba?12:32:47
@telegram_73824637:t2bot.ioAndrea Ciceri Fa sapere se scopri perche' fa cosi'
Altrimenti se ti interessa solo il risultato potresti tentare con [nh](https://github.com/nix-community/nh) (ne parlavamo sabato). Io ancora devo provarlo.
13:23:00
@telegram_524811522:t2bot.ioTonioConsiglio molto :D13:33:31
@telegram_98204228:t2bot.ioAlessandro 🤔➖☀️🖌 ok grazie, provo a guardarci appena riesco.

nel frattempo, altra cosa bizzarra passando alla 25.11: fetchurl ora mi ritorna un hash diverso per un file che non è cambiato. e.g. ho fetchurl { url = "https://foo/bar"; hash = "blah"; } e mi dice che ora l'hash è divero, ma il contenuto è lo stesso
13:43:09
@telegram_98204228:t2bot.ioAlessandro 🤔➖☀️🖌 ho provato a usare nix-prefetch-url su quel file, ma ottengo un hash ancora diverso 😅 13:43:33
@telegram_25591608:t2bot.ioMatteo Joliveausisi e per quello dicevo che in spirito l'idea è corretta, ma nel momento in cui comunque ho del codice che deve integrarsi con PG tocca testarlo e per quello serve il db vero, perchè a mockarlo rischi incongruenze le query che farai tra SQLite e PG saranno comunque diverse14:06:53
@telegram_7189191315:t2bot.iogecko
In reply to Matteo Joliveau
Ci sono due problemi con questo approccio (che non è sbagliato in spirito, sia chiaro):
- devi comunque restare il codice che implementa l'integrazione col sistema reale, e per farlo ti serve avere la dipendenza vera. Che sia via testcontainers, docker-compose o altro
- SQLite e postgres non sono intercambiabili, il mito che tutti gli SQL sono uguali è appunto un mito. Anche senza andare ad usare feature non standard, ci sono sottili differenze nell'implementazione (esempio @ caso: in SQLite le primary key possono essere null, in Pg no)
> devi comunque testare il codice che implementa l'integrazione col sistema reale

Certo, però l'idea è che la gran parte dei bug li puoi beccare con oneri infrastrutturali minimi (i.e., no postgres).

> SQLite e postgres non sono intercambiabili, il mito che tutti gli SQL sono uguali è appunto un mito

Beh chiaro, ma o usi un livello di astrazione che si sbatte per te quelle cose (e.g., Django) oppure te lo rolli tu. Non sto dicendo di riusare le query SQL, sto dicendo di avere uno "storage provider" astratto di cui poi hai un'implementazione che usa SQLite e una che usa postgres.
Ad esempio noi facciamo così, anche perché abbiamo una modalità "utente singolo standalone da CLI" e una modalità "cloud". E per la prima chiaramente non vogliamo usare postgres :P.

La bottom line di quel che volevo dire è: to the extent to which is possible, è meglio mockuppare le dipendenze noiose da un punto di vista di set up, piuttosto che cercare necessariamente di deployare un'infrastruttura simil-prod per gli sviluppatori.
14:05:36
@telegram_28186152:t2bot.ioLucioWow!! C'è anche la versione flake?16:57:20
@telegram_28186152:t2bot.ioLucioRichiesta assurda: sapete se posso lanciare da NixOS una vm Nixos con la mia stessa configurazione (stile Windows sandbox) senza installare la iso da QEMU o simili?16:50:20

Show newer messages


Back to Room ListRoom Version: 10