!OHimLTKAXNbFrEoogf:matrix.org

Nix Milan

113 Members
https://milano.nix.pizza/8 Servers

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


SenderMessageTime
5 Oct 2025
@telegram_5581649653:t2bot.ioLuca Engineere al tempo stesso ho studiato python e java per formulare degli algoritmi12:33:24
@telegram_7189191315:t2bot.iogecko Dato che ieri mi avete bullizzato a fare le cose con moduli e opzioni me li sto un po' guardando. Ma volevo spratichirmi un po' in una roba isolata prima di provarla dentro alla config di NixOS. https://nix.dev/tutorials/module-system/deep-dive.html#evaluating-modules 13:09:30
@telegram_32436951:t2bot.ioDavidCosa cercavi?13:07:38
@telegram_7189191315:t2bot.iogeckoimage.jpeg
Download image.jpeg
12:59:04
@telegram_7189191315:t2bot.iogeckoClassic12:59:04
@telegram_32436951:t2bot.ioDavidse vuoi fare due prove "dentro nixos ma fuori dalle tue configurazioni" puoi anche usare nixos-shell13:17:42
@telegram_7189191315:t2bot.iogecko Per ora sto usando nixos-option 13:20:24
@telegram_7189191315:t2bot.iogecko Comunque un paio di assertion in più non farebbero male, prima di capire i submodule ho fatto una roba simile:
type = types.listOf (types.attrsOf { A = types.int; B = types.str; });
Fuochi d'artificio.
13:21:40
@telegram_32436951:t2bot.ioDavidah si questo esce principalmente perché, anche se di validità completamente generale, il module system nasce dentro nixos e dentro nixpkgs, quindi si porta dietro una serie di pattern "nixos-iani"13:16:44
@telegram_7189191315:t2bot.iogecko In C++ avevamo un problema simile con i template (template<typename T> potevi mettere qualsiasi tipo e le cose esplodevano tardissimo in errori incomprensibile). Per non cambiare i template in maniera radicale ma avere comunque possibilità di esprimere costraint abbiam messo i concept, che son poi delle assert sul tipo. Nei posti importanti una assertina ci starebbe. 13:28:04
@telegram_32436951:t2bot.ioDavidnon che non ci abbiano provato!13:28:17
@telegram_176121111:t2bot.ioFrancescoSe solo Nix fosse tipizzato13:24:47
@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

Show newer messages


Back to Room ListRoom Version: 10