Ni Windows, ni macOS, ni Ubuntu
Tengo un workstation con 72 threads y 128GB de RAM corriendo NixOS. Es una placa china de menos de 300 euros de AliExpress con dos procesadores Xeon reciclados de datacenter de hace 14 anos y 128GB de RAM DDR4 ECC. Suena a broma, pero tiene mas hilos que la mayoria de estaciones de trabajo que se venden hoy por 3000 euros.
Un servidor headless corriendo NixOS. Un MacBook Intel de 2016 corriendo NixOS. Un movil Android con Nix. Todas gestionadas por un unico repositorio de dotfiles.
Ahora voy a comprar un MacBook Pro 16" M1 Max de segunda mano y convertirlo en mi cuarta maquina NixOS. Se va a llamar maxos.
Y voy a montarlo con un solo comando.
La motivacion real
Mi MacBook actual es un Intel de 2016 valorado en 150 euros. Lleva anos dando guerra con NixOS y sigue funcionando. Pero lo que realmente me empuja a cambiar no es que se quede corto -- es saber que voy a tener NixOS corriendo en un pepino como el M1 Max.
Los verdaderos freaks de la tecnologia solemos ir 15 anos por detras del hardware edge. No por falta de ganas, sino porque nos importa mas el control sobre el sistema que tener el ultimo modelo. Cuando el M1 Max salio en 2021, Linux no podia ni arrancar en el. En 2026, tiene drivers GPU certificados con OpenGL 4.6 y Vulkan 1.4. La paciencia tiene recompensa.
Comprar un M1 Max de segunda mano en 2026, sabiendo que NixOS va a correr en el exactamente como corre en mi workstation de 72 threads -- eso es lo que me hace dar el paso. No es el hardware nuevo. Es la certeza de que mi sistema viaja conmigo.
Los numeros no mienten
Estas son mis maquinas actuales y la futura, medidas con Geekbench 6:
| Maquina | CPU | Single | Multi | Coste |
|---|---|---|---|---|
| aurin | 2x Xeon E5-2699v3 (72T) | 1098 | 8377 | <300 EUR |
| macbook | i5-6267U (4T) | 959 | 1728 | ~150 EUR |
| vespino | AMD FX-8350 (8T) | 561 | 2211 | ~100 EUR |
| maxos | M1 Max (10C/20T) | 2374 | 12254 | ~1350 EUR |
El M1 Max duplica el single-core de aurin y supera su multi-core con la mitad de threads. Y lo hace en un portatil que pesa 2.1 kg con bateria para todo el dia. La diferencia es que aurin costo 300 euros y maxos costara 1350 -- pero en un portatil con 64GB de RAM unificada, pantalla Retina XDR de 120Hz, y 32 cores de GPU.
El MacBook Intel queda en evidencia: 959 de single-core. Lleva anos siendo el cuello de botella. El salto a maxos es x2.5 en single-core y x7 en multi-core. Para compilaciones, desarrollo, y cualquier cosa que tire de CPU, es otro mundo.
Por que NixOS y no macOS
El MacBook Pro M1 Max es probablemente el mejor portatil jamas fabricado. 64GB de RAM unificada, 32 cores de GPU, bateria de todo el dia, chasis que no se calienta. Apple lo clavo con el hardware.
Pero macOS no me sirve. Mi entorno de trabajo es Emacs Doom, XMonad, fish shell, y un ecosistema de herramientas que llevan anos pulidas en Linux. Podria adaptarme a macOS. O puedo hacer que el hardware se adapte a mi.
Gracias a Asahi Linux y nixos-apple-silicon, NixOS corre bare metal en Apple Silicon con soporte real: GPU con OpenGL 4.6 y Vulkan 1.4 certificados, WiFi, Bluetooth, audio con DSP calibrado por modelo, suspend, webcam, todo. Los drivers son open-source y estan en Mesa mainline.
Lo unico que no funciona todavia: Thunderbolt/DisplayPort Alt Mode (monitores externos solo via HDMI) y TouchID. Para desarrollo, irrelevante.
Por que NixOS y no Ubuntu
Podria instalar Ubuntu. Fedora. Arch. Cualquier distro funciona en Apple Silicon con Asahi. Pero ninguna me da lo que NixOS me da: reproducibilidad entre maquinas.
Mi configuracion entera -- desde el kernel hasta los keybindings de Emacs -- esta definida en un repositorio git. No son scripts de instalacion. No son ansible playbooks. Es codigo Nix declarativo que describe el estado exacto de cada maquina.
Cuando digo "exacto" no es una metafora. Dos maquinas con la misma configuracion Nix producen el mismo sistema, bit a bit. No hay "funciona en mi maquina". Funciona en todas o no funciona en ninguna.
Clone-first: todas las maquinas son clones
Mi flake gestiona 4 maquinas con hardware completamente distinto. Todas comparten la misma base: mismo escritorio, mismos paquetes, misma config de usuario. Lo unico que cambia es el hardware. Y eso se gestiona con modulos Nix separados.
Anadir maxos al flake es literalmente esto:
maxos = mkSystem {
hostname = "maxos";
system = "aarch64-linux";
hardware = [
nixos-apple-silicon.nixosModules.apple-silicon-support
./hardware/apple/macbook-pro-m1-max.nix
];
};
Seis lineas. El modulo de Apple Silicon se encarga del kernel Asahi, el audio, el firmware WiFi, la GPU. El modulo hardware local encapsula las peculiaridades del M1 Max. La base se encarga de todo lo demas.
El workflow: de caja a escritorio
- Comprar MacBook Pro M1 Max de segunda mano
- Desde macOS:
curl https://alx.sh | sh(particiona e instala UEFI) - Arrancar ISO de NixOS desde USB
- Clonar dotfiles
sudo nixos-rebuild switch --flake ~/dotfiles#maxos- Reiniciar
Paso 5 es donde ocurre todo. NixOS lee la configuracion declarativa, descarga los paquetes, compila lo que haga falta, configura el sistema completo. Emacs con mi config. Fish con mis aliases. XMonad con mis keybindings. Todo.
Si manana se rompe el portatil, compro otro, repito el proceso, y tengo exactamente lo mismo. Eso no es un backup. Es reproducibilidad.
Ni Windows, ni macOS, ni Ubuntu
Windows no me deja controlar mi sistema. macOS me da buen hardware pero me encierra en su ecosistema. Ubuntu y compania me dan libertad pero no reproducibilidad.
NixOS me da las tres cosas: control total, libertad para elegir hardware, y la garantia de que puedo reconstruir mi entorno completo desde un repo git y un comando.
El M1 Max es hardware de primera. NixOS es el sistema que se merece.
Nos vemos en maxos.
Mas detalles tecnicos en el blog: guia completa de NixOS en M1 Max y clone-first con flakes.
Comentarios (0)
Sin comentarios todavia. Se el primero!
Deja un comentario