!OHimLTKAXNbFrEoogf:matrix.org

Nix Milan

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

Load older messages


SenderMessageTime
23 Nov 2025
@telegram_463188749:t2bot.ioAlessandro Candido https://daiderd.com/2020/06/25/nix-and-libsystem.html 12:06:30
@telegram_7189191315:t2bot.iogeckoMigliorare l'esperienza utente si può lavorarci, per intanto mi interessa sapere che si può fare. Grazie dell'idea comunque.12:08:49
@telegram_7189191315:t2bot.iogecko> Non credo che settare quella opzione cambi l'hash delle derivazioni Credo proprio di sì invece, sarebbe tragico il contrario12:08:15
@telegram_73824637:t2bot.ioAndrea Ciceri Non conosco NIX_STORE_DIR ma assumo sia equivalente a --store <store> (che dovrebbe essere equivalente a --option store <store>). Tra l'altro mi chiedo come funzioni in termini di binary cache siccome i path che sostiuisci usando le cache hanno gia' dentro /nix/store hardcodato. Quindi cosa succede? Non credo che settare quella opzione cambi l'hash delle derivazioni quindi comunque dovrebbero venire sostituite uguale 12:07:27
@telegram_463188749:t2bot.ioAlessandro Candido
In reply to Andrea Ciceri
se vuoi poter spostare l'app in giro non puoi hardcodare Applications/MyApp.app/nix/store, no? Da quanto capisco il "chroot dello store" non funziona su macos senza essere root
Da quanto capisco il "chroot dello store" non funziona su macos senza essere root
Comunque sì, apparentemente Nixie usa esattamente quella feature. E sembra che si siano fatti fakedir perché a loro due non funge su MacOS.
Quindi, a meno che non sia cambiato qualcosa, non è un’opzione…
Peccato. Altrimenti, secondo me, era way-to-go
12:02:23
@telegram_73824637:t2bot.ioAndrea Ciceri ok si puo' aver senso
domanda piu' tecnica ora: come fai a dire a nix di buildare usando uno store diverso? Usi direttamente nix build --store /Applications/MyApp.app/nix/store quando buildi la derivazione? Buildi normalmente in /nix/store e poi usi patchelf (o l'equivalente per macos)? In questo caso ti patcha solo le librerie pero', non eventuali altri path hardcodati tipo in script o file di testo
12:01:27
@telegram_463188749:t2bot.ioAlessandro Candido
In reply to Andrea Ciceri
se vuoi poter spostare l'app in giro non puoi hardcodare Applications/MyApp.app/nix/store, no? Da quanto capisco il "chroot dello store" non funziona su macos senza essere root
Mai provato. Sul mio Mac Nix è ovviamente /nix/store, e non ho mai avuto accesso diretto a un Mac server (oltre ai runner di GitHub)
11:58:24
@telegram_7189191315:t2bot.iogecko
In reply to Andrea Ciceri
se vuoi poter spostare l'app in giro non puoi hardcodare Applications/MyApp.app/nix/store, no? Da quanto capisco il "chroot dello store" non funziona su macos senza essere root
Potrei decidere di fare un .dmg non portabile e dirti "plz mettimi in /Applications" all'avvio se non ci sono già. Se l'utente è del gruppo admin (che mi dicono dalla regia è diverso da root) posso anche chiedergli "vuoi che mi autosposti in /Applications?".
Comunque penso sia accettabile richiedere di stare in /Applications, non è la fine del mondo.
11:53:54
@telegram_463188749:t2bot.ioAlessandro CandidoA questo punto, non puoi compilare direttamente tutto linkando ogni cosa staticamente meno che le librerie di sistema? Ti verrà un binario grosso, ma se tanto dovresti comunque distribuire lo store non è che cambi poi molto. O no?12:08:38
@telegram_176121111:t2bot.ioFrancescoNon mi ricordo le opzioni per farlo ma avevo visto un talk al riguardo un po' di tempo fa12:19:14
@telegram_463188749:t2bot.ioAlessandro CandidoCome?12:19:10
@telegram_73824637:t2bot.ioAndrea Ciceri quindi mi sa che ti serve per forza un hack brutto tipo fakedir 12:16:36
@telegram_463188749:t2bot.ioAlessandro CandidoPerò, se su Mac non funziona, mi sa che rimane quello sporco…12:18:17
@telegram_463188749:t2bot.ioAlessandro CandidoAnch’io mi sarei aspettato lo stesso. Altrimenti crei una potenziale fonte di incompatibilità, mentre l’idea base di Nix è che tutto è compatibile proprio perché usi path universali in quanto assoluti (e con hash univoci)12:17:32
@telegram_176121111:t2bot.ioFrancescoMa in realtà si può cambiare il path dello store, l'unica cosa è che devi ricompilarti tutta la closure12:18:41
@telegram_176121111:t2bot.ioFrancescoSe riesco lo trovo12:19:22
@telegram_463188749:t2bot.ioAlessandro CandidoL’idea di chroot è un trucco pulito12:17:50
@telegram_73824637:t2bot.ioAndrea Ciceri Oppure patchare dopo il binario (ma comunque patchelf e simiili potrebbero non bastare per i path negli script e simili) 12:17:15
@telegram_73824637:t2bot.ioAndrea Ciceriimage.jpeg
Download image.jpeg
12:10:41
@telegram_73824637:t2bot.ioAndrea Ciceriimage.jpeg
Download image.jpeg
12:15:35
@telegram_73824637:t2bot.ioAndrea Cicerinon lo so eh, pero' funziona comunque in qualche modo usare store diversi quindi qualche magia succede sotto12:10:41
@telegram_73824637:t2bot.ioAndrea Ciceri mi sa che /nix/store e' proprio sempre hardodato in tutti i path indipendentemente se fai il "chroot dello store" (giustamente direi in realta', senno' non sarebbe un chroot) 12:15:35
@telegram_463188749:t2bot.ioAlessandro CandidoSto ancora leggendo la parte riguardo alla configurazione “a runtime” dello store, ma se il suo problema era solo scrivere sullo store, avrei fatto le build su un’altra macchina e poi scaricato la closure. Alla fine le cose di HPC sono pensate principalmente per eseguire. Non credo ti serva un cluster per fare una build… per quanto grossa possa essere…12:35:37
@telegram_463188749:t2bot.ioAlessandro CandidoMa il suo problema con lo store readonly nei job è che non può buildare sulle code?12:32:38
@telegram_463188749:t2bot.ioAlessandro Candido Ok, quindi sembra essere —with-store-dir. Corretto? 12:37:57
@telegram_463188749:t2bot.ioAlessandro Candido
In reply to Alessandro Candido
https://daiderd.com/2020/06/25/nix-and-libsystem.html
Apparentemente questa era solo l’idea di base, sul fatto che la build deve diventare impura a livello di libSystem.
Ma, adesso, è apparentemente peggio di quello che racconta nel post: sembra che non ci sia davvero una sola umbrella library standard per tutto nix-darwin

https://discourse.nixos.org/t/on-the-future-of-darwin-sdks-or-how-you-can-stop-worrying-and-put-the-sdk-in-build-inputs/50574
12:27:06
@telegram_73824637:t2bot.ioAndrea Ciceri
In reply to Francesco
Ma in realtà si può cambiare il path dello store, l'unica cosa è che devi ricompilarti tutta la closure
non e' proprio un dettaglio trascurabile. Inoltre anche assumendo che uno abbia voglia crearsi una binary cache ad hoc popolata dalla sua CI comunque non potrebbe condividere la stessa cache fra piu' progetti, perche' per ogni progetto ci sarebbe uno store diverso a secondo del nome dell'applicazione
12:28:52
@telegram_73824637:t2bot.ioAndrea Ciceri
In reply to Alessandro Candido
Come?
qua se ne parla: https://github.com/NixOS/nix/issues/10253
12:27:21
@telegram_73824637:t2bot.ioAndrea Cicerino no intendevo che trovo della roba ma e' stato tolto, dovrei fare git blame per capire la commit e vedere se e' stato rinominato13:49:36
@telegram_73824637:t2bot.ioAndrea Ciceri ma qua il buon thufschmitt dice seh si puo' fare anche a runtime: https://github.com/NixOS/nix/issues/10253#issuecomment-2005839089
che onestamente e' meglio che ricompilare nix
13:50:26

Show newer messages


Back to Room ListRoom Version: 10