!OHimLTKAXNbFrEoogf:matrix.org

Nix Milan

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

Load older messages


SenderMessageTime
5 Oct 2025
@telegram_23155895:t2bot.ioFederico T ciao gente, sto provando a scrivere un flake per un pacchetto Python ma sto impazzendo

[..]
outputs let in {
    packages.x86_64-linux.nautobot = poetry2nixLib.mkPoetryApplication {
      projectDir = ./.;
      python = pkgs.python311;
    };
}

       error: No build-system.build-backend section in pyproject.toml. Add such a section as described in https://python-poetry.org/docs/pyproject/#poetry-and-pep-517

peccato che la sezione nel file ci sia...
13:49:20
@telegram_144463262:t2bot.ioTia
In reply to gecko
Sto ancora pensando a come evitare una VM solo per scrivere un file system.

Una soluzione divertente potrebbe essere usare user mode linux, magari usando lo stesso agent di guestfish o con un rootfs con dentro SSH e rsync. https://darkognu.eu/linux/tutorials/user_mode_linux_tutorial/
Altrimenti vedo che virt-make-fs (sempre sotto l'ombello guestifsh) ti permette di scrivere ext{2,3}, vfat e ntfs.
Altrimenti mke2fs ha un'opzione -d che ti copia il contenuto di una directory/tarball nel file system.
Ma in realtà, se ben capisco, dato che fai le cose in CI, il tuo use case è un'immagine immutabile, quindi la cosa più logica sarebbe fare mksquashfs e andare con dio.
User mode linux è un altro bel tool ma ricordo che non è proprio lineare usarlo in container (devi permettere ptrace, avere shm montato in modo diverso da come te lo monta docker e altri problemi assortiti), poi ovviamente ci sono millemila modi, come anche lkl che usa il kernel linux come libreria (il modulo di creazione delle immagini di nixos usa cptofs per copiare i file nell'immagine finale).

Alla fine tutto è partito dalla curiosità di tirare su nixos da nix statico e null'altro (e poi provare a renderlo utile per qualcosa) e l'ambiente virtualizzato di guestfish è un buon "nulla cosmico" da cui partire 😂
14:05:29
@telegram_176121111:t2bot.ioFrancesco
In reply to David
non che non ci abbiano provato!
Eh lo, è un problema molto complicato. Io sono interessato a Snix perché dato che valuta Nix tramite un bytecode interpreter ho pensato che si potesse implementare un linguaggio tipizzato simile a Nickel (https://github.com/tweag/nickel) che ha come target di compilazione quel bytecode
13:48:38
@telegram_137632964:t2bot.ioGermano joined the room.14:59:14
@telegram_171307096:t2bot.ioAlberto
In reply to Federico T
ciao gente, sto provando a scrivere un flake per un pacchetto Python ma sto impazzendo

[..]
outputs let in {
    packages.x86_64-linux.nautobot = poetry2nixLib.mkPoetryApplication {
      projectDir = ./.;
      python = pkgs.python311;
    };
}

       error: No build-system.build-backend section in pyproject.toml. Add such a section as described in https://python-poetry.org/docs/pyproject/#poetry-and-pep-517

peccato che la sezione nel file ci sia...
Ciao! Sei sicuro sta leggendo il file che pensi tu? Magari puoi provare a "spaccarlo"/cancellarlo
15:30:51
@telegram_23155895:t2bot.ioFederico T
In reply to Alberto
Ciao! Sei sicuro sta leggendo il file che pensi tu? Magari puoi provare a "spaccarlo"/cancellarlo
Si ho provato a romperlo e si è effettivamente rotto
15:56:55
@telegram_7189191315:t2bot.iogecko Ma io farò come fanno in nixpkgs e metterò un bel extraRules e si vola. 18:40:44
@telegram_7189191315:t2bot.iogeckoMadò ho capito perché non-ricordo-il-nome di Torino aveva detto di fare la config di nftables con i moduli, così le cose si possono automergiare tra diversi moduli che contribuiscono in maniera indipendente alle regole del firewall 🤯18:40:00
@telegram_176121111:t2bot.ioFrancescoSe non ricordo male ci sono degli helper in lib che puoi usare per dire alla merge function di mettere qualcosa prima o dopo di qualcos'altro20:06:01
@telegram_176121111:t2bot.ioFrancescoÈ un po' macchinoso in effetti20:06:08
@telegram_176121111:t2bot.ioFrancesco
In reply to gecko
Madò ho capito perché non-ricordo-il-nome di Torino aveva detto di fare la config di nftables con i moduli, così le cose si possono automergiare tra diversi moduli che contribuiscono in maniera indipendente alle regole del firewall 🤯
(il tizio di Torino sono io) sì infatti io preferisco creare delle opzioni perché poi posso definire pezzi di configurazione in moduli diversi!
19:54:05
@telegram_32436951:t2bot.ioDavidMa le regole di iptables sono valutate in ordine, come vengono messe poi nello script finale?19:57:41
@telegram_7189191315:t2bot.iogeckoLe cose che devo fare io sono abbastanza ortogonali tra loro e dovrebbe venire fuori bene. Non so sarebbe abbastanza generale da coprire tutti gli use case e, per dire, andare in nixpkgs.20:11:06
@telegram_176121111:t2bot.ioFrancescoTranquillo lol anch'io20:21:19
@telegram_7189191315:t2bot.iogecko
In reply to Francesco
(il tizio di Torino sono io) sì infatti io preferisco creare delle opzioni perché poi posso definire pezzi di configurazione in moduli diversi!
Sorry ma coi nomi son pessimo
20:17:00
6 Oct 2025
@telegram_463188749:t2bot.ioAlessandro Candido
In reply to Francesco
Se non ricordo male ci sono degli helper in lib che puoi usare per dire alla merge function di mettere qualcosa prima o dopo di qualcos'altro
Secondo me è chiaramente qualcosa con cui fare il callo. Ma non è così terribile.
Se hai poche occorrenze, puoi usare mkBefore/mkAfter.
Se ne hai tante, cominci a usare mkOrder 1000, 2000, 3000... che poi è quello che fai tipicamente anche coi file in etc/ quando la configurazione è in una cartella e non in un unico file

https://nixos.org/manual/nixos/stable/#sec-option-definitions-ordering
03:23:10
@telegram_32436951:t2bot.ioDavidsi è un workaround 🤷‍♂️07:36:30
@telegram_32436951:t2bot.ioDavidse non ha un default significa che viene valutata solo nei casi in cui è obbligatorio metterci un valore, in quel caso probabilmente sai che valore vuoi metterci07:39:09
@telegram_73824637:t2bot.ioAndrea CiceriIo quello intendevo per "unsettare"07:46:01
@telegram_73824637:t2bot.ioAndrea CiceriNon funziona sempre pero', se un default non ce l'ha?07:37:17
@telegram_73824637:t2bot.ioAndrea CiceriNon puoi neanche togliere elementi da una lista gia' settati in altri moduli che io sappia (o forse c'era un modo? O un workaround?)07:43:32
@telegram_73824637:t2bot.ioAndrea CiceriIl module system e' veramente versatile, puoi anche creare dei nuovi tipi che "mergiano" come vuoi te. L'unico limite che mi da fastidio con cui spesso mi sono scontrato e' che non puoi "unsettare" un'opzione settata un altro modulo.07:35:18
@telegram_73824637:t2bot.ioAndrea Ciceri Questo e' vero anche per i freeform module? Tipo se importo un modulo che mi setta app.settings.chiave (che e' un freeform module diciamo) ma io non voglio ce chiave appaia nel json/toml/quello che e' 07:42:50
@telegram_32436951:t2bot.ioDavidme le segno e controllo, non avevo mai pensato al primo caso07:44:22
@telegram_32436951:t2bot.ioDavidnon so se si può fare qualche magia facendo un modulo wrapper07:47:47
@telegram_32436951:t2bot.ioDavidPuoi forzare il valore a il suo default07:36:03
@telegram_32436951:t2bot.ioDavidtecnicamente è vero, non si può fare unset, non c'è un valore per "undefined"07:39:46
@telegram_32436951:t2bot.ioDavidnel secondo in non vuoi fare "unset" del valore, vuoi proprio togliere una definition e non si può fare07:45:11
@telegram_73824637:t2bot.ioAndrea CiceriE comunque non lo usi da dentro il modulo stesso, devi prendere il punto fisso gia' computato07:53:16
@telegram_73824637:t2bot.ioAndrea CiceriMa e' computazionalmente pesante07:52:20

Show newer messages


Back to Room ListRoom Version: 10