Nix Milan | 108 Members | |
| https://milano.nix.pizza/ | 7 Servers |
| Sender | Message | Time |
|---|---|---|
| 23 Nov 2025 | ||
| Sì l'ho visto, è sostanzialmente quello che voglio fare. Ma quella parte lì è banale da fare, la parte tricky è non richiedere /nix/store (ovvero essere root). | 11:30:42 | |
| O no? | 11:29:00 | |
| 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 | |