Nix Milan | 107 Members | |
| https://milano.nix.pizza/ | 7 Servers |
| Sender | Message | Time |
|---|---|---|
| 23 Nov 2025 | ||
| Sì senza i bind mount è un po' complicato... Penso che su macos sarebbe più idiomatico usare /opt comunque, tipo /opt/lmao/nix/store | 11:29:24 | |
| Statico o non statico non c'entra, voglio distribuirlo senza distribuire nix, sì. | 11:28:20 | |
| o_O Chi è che fa HPC su macOS? Questo parla di Linux AFAIU | 11:20:14 | |
| Il discorso del path è separato. Una volta che trovi quello che ti interessa, puoi farcelo girare in quel modo | 11:21:40 | |
| (interessa anche me questo problema siccome ho un sw che voglio distribuire su piu' piattaforme possibili e per ora stavo semplicemente non usando nix per distribuirlo su macos) | 11:38:42 | |
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 | 11:47:19 | |
| questo anche potrebbe interessarti https://github.com/nixie-dev/nixie comunque la cosa del chroot dello store su macos mi sa che non va senza essere root, e quesot nixie apparentemente per risolvere il problema usa questo hack: https://github.com/nixie-dev/fakedir | 11:37:37 | |
| (parlo da super noob di macos eh) | 11:47:33 | |
| O meglio l'aspettativa, non il contratto | 11:41:33 | |
| su questo concordo, pero' comunque uno puo' scopiazzare e mantenersi direttamente nel suo progetto una pipeline per la build su macos | 11:45:10 | |
| Eh questi son hack di runtime che eviterei potendo. | 11:39:17 | |
| Eh, infatti un amico mi stava dicendo giusto quello 🤔 | 11:43:13 | |
| Anche perché 'ste cose poi rischiano di diventare non-mantenute e poi piangi. | 11:40:13 | |
| Ah questo non l'avevo visto, ci do un occhio. Comunque la bottom line è che si può fare, il che mi rende felice. | 11:36:14 | |
In reply to geckoBeh in effetti se devi distribuire una .app ci sta. Romperesti il contratto che una .app in teoria puoi spostarla dove vuoi ma non è un grosso problema :P | 11:40:50 | |
| Potresti far partire un applescript che fa questo check e se no ti fa vedere un popup che ti chiede di spostarla in /Applications | 12:07:19 | |
| Sembra che tutte le build su MacOS siano in definitiva impure, perché da qualche parte finiscono per scontrarsi con un layer di primitive proprietarie | 12:07:24 | |
| (Dico applescript perché è il modo più semplice di far vedere una finestra su macos) | 12:08:02 | |
| Non so, ho visto in giro NIX_STORE_DIR, ma non penso sia difficile. Di sicuro non voglio patchare a posteriori. | 12:02:35 | |
| Comunque il mio obiettivo sarebbe fare tipo nix-bundle che ti cross-compila da Linux per Linux, Windows a macOS. Tutto producendo roba che non richiede root. | 12:06:02 | |
| https://daiderd.com/2020/06/25/nix-and-libsystem.html | 12:06:30 | |
| Migliorare l'esperienza utente si può lavorarci, per intanto mi interessa sapere che si può fare. Grazie dell'idea comunque. | 12:08:49 | |
| > Non credo che settare quella opzione cambi l'hash delle derivazioni Credo proprio di sì invece, sarebbe tragico il contrario | 12:08:15 | |
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 | |
In reply to Andrea Ciceri Da quanto capisco il "chroot dello store" non funziona su macos senza essere rootComunque 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 | |
| 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 | |
In reply to Andrea CiceriMai 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 | |
In reply to Andrea CiceriPotrei 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 | |
| A 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 | |
| Non mi ricordo le opzioni per farlo ma avevo visto un talk al riguardo un po' di tempo fa | 12:19:14 | |