| 13 Feb 2025 |
Alessandro π€ββοΈπ | come potrei fare per determinare, tramite nix (linguaggio) se il sistema corrente Γ¨ nixos o meno? mettiamola cosΓ¬: dentro un devenv, voglio settare una variabile d'ambiente a seconda dell'OS su cui sta girando. se Γ¨ nixos allora voglio dipendere da un pacchetto, se Γ¨ un altro sistema linux + nix invece no | 12:15:47 |
David | Γ una richiesta molto strana, Γ¨ un test concettuale o hai un caso d'uso vero? | 12:17:31 |
Alessandro π€ββοΈπ | no no Γ¨ un caso d'uso vero | 12:18:20 |
Alessandro π€ββοΈπ | error: access to absolute path '/etc' is forbidden in pure evaluation mode (use '--impure' to override) | 12:24:05 |
Alessandro π€ββοΈπ | ovviamente la cosa ideale Γ¨ che riesca ad usare i pacchetti di nix ovunque, ma AFAIR c'erano dei problemi | 12:22:27 |
David | Si lo puoi fare a runtime comunque | 12:24:16 |
David | Credo non si possa a evaluation time, a meno che devenv non lo esponga direttamente. Visto che hai un caso d'uso, ti direi di aprire una issue e vedere se loro hanno idee | 12:21:03 |
Alessandro π€ββοΈπ | in effetti a runtime potrebbe starci | 12:24:34 |
Alessandro π€ββοΈπ | nell'ambiente di sviluppo c'Γ¨ un tool che scarica dei binari (in node_modules). quei binari vanno bene per tutti i sistemi, tranne nixos. solo su nixos devo impostare una certa variabile d'ambiente per fare override | 12:19:06 |
Alessandro π€ββοΈπ | no, Γ¨ prisma | 12:22:40 |
Alessandro π€ββοΈπ | non so cosa sia. uso devenv | 12:24:40 |
Alex0 | e lo metti dentro l'attribute enterShell | 12:25:58 |
Alex0 | OS = grep 'NAME' /etc/os-release | sed 's/NAME=//'
if [ "$OS" = "NIXOS" ]; then
export VAR=VALUE
fi | 12:25:36 |
Alex0 | E usi export? | 12:22:56 |
Alex0 | Nixos ha come id "nixos" | 12:20:47 |
Alex0 | PerΓ² dovresti farlo ad eval time, hmm idk se puΓ² funzionare | 12:22:27 |
Alex0 | enterShell = ''
# copia quello sopra
''; | 12:26:41 |
Alex0 | O name NixOS | 12:20:56 |
Alex0 | Shellhooks? | 12:22:49 |
Alex0 | Tipo | 12:26:43 |
Matteo Joliveau | Scommetto che Γ¨ biome | 12:22:25 |
Matteo Joliveau | Se non Γ¨ zuppa... π | 12:22:59 |
Alex0 | In reply to Alessandro π€ββοΈπ come potrei fare per determinare, tramite nix (linguaggio) se il sistema corrente Γ¨ nixos o meno? mettiamola cosΓ¬: dentro un devenv, voglio settare una variabile d'ambiente a seconda dell'OS su cui sta girando. se Γ¨ nixos allora voglio dipendere da un pacchetto, se Γ¨ un altro sistema linux + nix invece no Leggi da "/etc/os-release" | 12:20:35 |
Alessandro Candido | Pero', se usi devenv, i binari che vanno bene per NixOS dovrebbero andare bene anche per tutti gli altri no?
I.e. se scarichi direttamente il binario forse no, ma se sono distribuiti come pacchetti Nix verranno con le loro runtime dependencies...
| 12:31:59 |
David | Prisma ti entra da "npm install" o da nixpkgs? Puoi anche pensare di fare un wrapper | 12:29:18 |