!OHimLTKAXNbFrEoogf:matrix.org

Nix Milan

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

Load older messages


SenderMessageTime
31 Oct 2025
@telegram_721172851:t2bot.iox71c9Credo che proverò i container NixOS13:07:24
@telegram_721172851:t2bot.iox71c9Vorrei utilizzarlo a lavoro. Sì, direi che “secondi” possa andare bene. Poi immagino dipenda anche dall’applicazione ovviamente.13:07:10
@telegram_183981571:t2bot.ioAlessandro Bertulli
In reply to Andrea Ciceri
https://www.meetup.com/nix-milano/events/311737096
Ho conosciuto i ragazzi di rev.ng, sono una startup del Politecnico
13:16:03
@telegram_28186152:t2bot.ioLucioEsatto18:53:59
@telegram_28186152:t2bot.ioLucioDomanda per voi: sarebbe possibile in un flake avere tutti i packages definiti in systemPackages, home.packages e programs come output del flake? L'obbiettivo sarebbe poter eseguire nix run di un singolo pacchetto nix (con o senza configurazione program) tra quelli definiti nel flake senza referenziarli uno a uno come output con devshell o packages. Quindi, ad esempio, potrei fare nix run flakeRemoto#neovim e avere nella shell il mio neovim/nixvim (configurato tramite hm programs) oppure una certa versione di flameshot con overlay. A volte mi capita di eseguire tasks per qualche giorno su dispositivi non miei e questo mi aiuterebbe a fare un porting temporaneo della parte di mia configurazione che serve per quel task (senza riscrivermela o modificarla al momento).18:48:11
@telegram_28186152:t2bot.ioLucioEh ma non la voglio tutta, perché magari è un sistema con poco spazio e mi servono solo 2-3 programmi18:51:49
@telegram_41776856:t2bot.ioMarco TurchettoMagari puoi fare una funzione che prende una config home-manager valutata ed estrae la lista di packages e la mette in flake.packages18:52:05
@telegram_41776856:t2bot.ioMarco TurchettoMagari puoi fare una Shell che importa come package la tua config home-manager?18:50:51
@telegram_41776856:t2bot.ioMarco TurchettoPer programs è più complicato probabilmente devi creare una Shell, mettere i packages e poi linkare tramite envvar la home e chissà cosa altro...18:58:04
@telegram_41776856:t2bot.ioMarco TurchettoPerò packages è diverso da programs... Ad esempio per git, avrai la versione di git che vuoi, ma non la config del nome utente e email18:53:21
@telegram_41776856:t2bot.ioMarco TurchettoE tu invece vuoi programs?18:56:33
@telegram_41776856:t2bot.ioMarco TurchettoPerò mentre packages è una lista, programs è un ambiente unico, quindi qua secondo me ti schianti ad avere una shell per program, magari fai un mini HM per queste evenienze?19:01:31
1 Nov 2025
@telegram_463188749:t2bot.ioAlessandro CandidoNella shell puoi metterci esattamente quello che vuoi tu, sia in termini di configurazioni che di pacchetti. Tra l'altro, puoi comporle a piacimento. Alla fine Nix e' un linguaggio completo, per cui puoi definirti una o piu' shell base, mixin vari, e generare le combinazioni dinamicamente03:16:26
@telegram_463188749:t2bot.ioAlessandro Candido Come per i pacchetti che puoi eseguire con nix run, le shell le puoi eseguire con nix develop
https://nix.dev/manual/nix/2.23/command-ref/new-cli/nix3-develop
03:12:15
@telegram_463188749:t2bot.ioAlessandro CandidoMa perche' non ti crei semplicemente una serie di shell come output del flake?03:10:20
@telegram_463188749:t2bot.ioAlessandro Candido Tra l'altro, se vuoi un ambiente di sviluppo per un certo linguaggio, o un certo tipo di servizi abbastanza frequenti, puoi anche non costruirti tutto da zero, ma usare componenti fatti da altri
https://devenv.sh/
03:18:46
@telegram_463188749:t2bot.ioAlessandro Candido nix develop ti permette anche di entrare nell'ambiente in cui viene fatta la build di un pacchetto. Ma se tu non hai gia' un pacchetto di riferimento, anziche' farne uno fittizio (che non ti serve separatamente) fai direttamente una devShell 03:17:39
@telegram_28186152:t2bot.ioLucio
In reply to Alessandro Candido
Ma perche' non ti crei semplicemente una serie di shell come output del flake?
Si, il punto era non definire a priori le shell come output perché non so a priori cosa mi servirà della mia conf.
07:39:29
@telegram_28186152:t2bot.ioLucio
In reply to Alessandro Candido
Nella shell puoi metterci esattamente quello che vuoi tu, sia in termini di configurazioni che di pacchetti.
Tra l'altro, puoi comporle a piacimento. Alla fine Nix e' un linguaggio completo, per cui puoi definirti una o piu' shell base, mixin vari, e generare le combinazioni dinamicamente
Fare una shell base e poi usare dei mixin non è male come idea. Dici che si potrebbe generare dinamicamente a runtime una shell con le cose che servono?
Tipo specificando il nome dei vari moduli? (Es. Binary, android, wapt, ...)
07:42:21
@telegram_463188749:t2bot.ioAlessandro CandidoMa... cosa intendi esattamente con "a priori"?07:42:42
@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

Show newer messages


Back to Room ListRoom Version: 10