!OHimLTKAXNbFrEoogf:matrix.org

Nix Milan

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

You have reached the beginning of time (for this room).


SenderMessageTime
12 Jun 2025
@telegram_32436951:t2bot.ioDavid
in PureScript sia più agevole, o comunque senza bloatare l'espressione
Eh ma infatti in quel caso l'espressione nix con la funzione da chiamare sarebbe in un altro file che consideri come un compilato e non tocchi più 😛
12:25:04
@telegram_7189191315:t2bot.iogecko
In reply to @aciceri:nixos.dev

Opzioni in ordine sparso secondo me:

  • scrivi un plugin che aggiunge una nuova builtin
  • usi le IFD (soluzione piu' facile IMO, pero' devi accettare di avere IFD)
  • scrivi l'helper in un linguaggio piu' maneggevole e poi la traspili in nix (per esempio usando purenix)
  • patchi systemd permettendo di forzare il nome dell'interfaccia di rete (ok questa forse e' meglio di no)
Forzare il nome dell'interfaccia di rete non posso, è un constraint di lunghezza che mette il kernel, systemd stabilisce solo la politica per scegliere il nome abbreviato.
Certo potrei cambiare la funzione di hash in qualcosa supportato da builtins.nix (md5, sha1, sha256, sha512). Questo non sarebbe del tutto assurdo. Certo devo mantenermi la patch.

IFD è forse quel che cercavo, mi sembra la versione meno sbatti di scriversi un plugin. Leggo che IFD è bannato in nixpkgs, ma non mi riguarda molto. Sarebbe letteralmente gcc hash.c -o hash && ./hash long-interface-name.

Traspilare PureScript mi lascia un po' perplesso. Manipolare byte in nix è sbatti, non so quanto farlo in PureScript sia più agevole, o comunque senza bloatare l'espressione.
12:12:15
@telegram_7189191315:t2bot.iogecko Sì però a quel punto probabilmente IFD è più efficiente :P. Compilo una volta, poi da lì e veloce e non devo far valutare robe arzigogolate a nix. 12:46:34
@telegram_7189191315:t2bot.iogeckotbh patchare systemd non è una roba che escludo :D12:47:19
@telegram_32436951:t2bot.ioDavidSi assolutamente12:47:11
@telegram_7189191315:t2bot.iogecko * Sì però a quel punto probabilmente IFD è più efficiente :P. Compilo una volta, poi da lì e veloce è non devo far valutare robe arzigogolate a nix ogni volta. 12:46:58
@telegram_7189191315:t2bot.iogeckoSìsì, però la prima volta lo devi compilare. Poi IIUC devi produrre una derivazione solo per farti sputare fuori un file con il nome dell'interfaccia di rete.12:53:17
@telegram_7189191315:t2bot.iogeckoPoi provo ad upstreammarla solo per far bestemmiare tutti i sysadmin che si vedono i nomi delle interfacce cambiare.12:47:59
@telegram_73824637:t2bot.ioAndrea CiceriSe lo ritrovo ti mando un esempio scemo che avevo costruito tempo fa13:02:30
@telegram_73824637:t2bot.ioAndrea Ciceri Comunque io sarei stracurioso di vedere la prima opzione come si implementa, ho visto che qua ci sono degli esempi 12:51:33
@telegram_73824637:t2bot.ioAndrea Ciceri
IIUC
Si fai una derivazione "parametrica" (il parametro e' l'input che passerai al tuo programma che calcola l'hash) che butta in $out l'hash. Poi quando fai import di quella derivazione la valutazione si fermera e verra' realizzato il path.
13:02:16
@telegram_73824637:t2bot.ioAndrea Ciceri
In reply to gecko
Forzare il nome dell'interfaccia di rete non posso, è un constraint di lunghezza che mette il kernel, systemd stabilisce solo la politica per scegliere il nome abbreviato.
Certo potrei cambiare la funzione di hash in qualcosa supportato da builtins.nix (md5, sha1, sha256, sha512). Questo non sarebbe del tutto assurdo. Certo devo mantenermi la patch.

IFD è forse quel che cercavo, mi sembra la versione meno sbatti di scriversi un plugin. Leggo che IFD è bannato in nixpkgs, ma non mi riguarda molto. Sarebbe letteralmente gcc hash.c -o hash && ./hash long-interface-name.

Traspilare PureScript mi lascia un po' perplesso. Manipolare byte in nix è sbatti, non so quanto farlo in PureScript sia più agevole, o comunque senza bloatare l'espressione.
Ri-rispondo di qua che il bridge non va come sempre: nella IFD non vuoi mettere la compilazione pero', ti basta eseguire il binario che calcola l'hash
12:49:43
@telegram_73824637:t2bot.ioAndrea Ciceri E ho anche trovato questo tra dei miei vecchi messaggi: https://github.com/NixOS/nix/issues/4212
Potrebbe essere una ulteriore opzione
13:14:23
@telegram_73824637:t2bot.ioAndrea Ciceri Trovato:
Updated pkgs.

nix-repl> import (pkgs.runCommand "get-system" {} ''echo "\"$(uname -m)\"" > $out'')        
"x86_64"
Era un trick per avere builtins.currentSystem anche nei flake (con la valutazione pura in teoria non e' disponibile)
13:08:29
13 Jun 2025
@telegram_73824637:t2bot.ioAndrea CiceriWow11:06:55
@telegram_171307096:t2bot.ioAlbertoRedacted or Malformed Event11:05:51
14 Jun 2025
@telegram_165995843:t2bot.ioNonno FeliceMa a voi funziona lo screensharing su Gnome / Niri? A me come al solito non va qualcosa11:26:03

Show newer messages


Back to Room ListRoom Version: 10