CachyOS: Guía Completa de Instalación en Dual Boot con Windows — Configuración, Errores y Software para Desarrolladores

- Andrés Cruz -

CachyOS: Guía Completa de Instalación en Dual Boot con Windows — Configuración, Errores y Software para Desarrolladores

Este artículo documenta  mi experiencia instalando y configurando CachyOS en un entorno de arranque dual (Dual Boot) con Windows. Aquí encontrarás una guía de instalación paso a paso, los problemas reales que encontré en el proceso, cómo los resolví, los conceptos y comandos fundamentales que todo usuario debería conocer, y una selección de software recomendado para desarrolladores.

Si vienes del mundo de Windows o de distribuciones más amigables como Ubuntu, esta guía está diseñada para hacerte el camino mucho más corto y sobre todo si eres un desarrollador como yo y/o que le gusta subir contenido a redes sociales.

Conceptos Fundamentales: El Glosario del Principiante

Antes de entrar en materia, es importante que conozcas el significado de los términos que aparecerán a lo largo de este artículo. Entenderlos te ahorrará muchas búsquedas en Google.

  • CachyOS: Una distribución basada en Arch Linux altamente optimizada para rendimiento. Su diferencial principal son los kernels personalizados y las compilaciones de paquetes optimizadas para arquitecturas de procesador específicas (x86-64-v3, v4), lo que se traduce en un sistema notablemente más rápido que una instalación estándar de Arch.
  • Dual Boot (Arranque Dual): La coexistencia de dos sistemas operativos —en nuestro caso, Windows y CachyOS— en el mismo equipo. Al encender la computadora, un gestor de arranque (bootloader) presenta un menú para elegir con qué sistema deseas iniciar.
  • Bootloader (Gestor de Arranque): El programa que se ejecuta antes del sistema operativo y que controla cuál de los sistemas instalados cargará el hardware. Los más populares son GRUB y systemd-boot.
  • UEFI / BIOS: El firmware de bajo nivel de la placa base que inicializa el hardware antes del sistema operativo. La UEFI es la versión moderna y más capaz de la antigua BIOS.
  • Partición EFI (ESP): Una pequeña partición en formato FAT32 que almacena los archivos del gestor de arranque. En un Dual Boot, se comparte entre los sistemas operativos.
  • Btrfs: Un sistema de archivos moderno para Linux con soporte nativo de compresión transparente, instantáneas (snapshots) y suma de verificación de datos. Es el sistema de archivos predeterminado en CachyOS y la opción recomendada.
  • Distrobox: Una herramienta que permite crear contenedores basados en cualquier distribución Linux dentro de tu sistema actual, de forma transparente. Los contenedores comparten el servidor gráfico, las carpetas del usuario y los recursos de hardware (incluyendo la GPU), lo que los hace ideales para correr software diseñado para otras distribuciones, como DaVinci Resolve.
  • Polkit (PolicyKit): Componente del sistema encargado de gestionar los privilegios globales en sistemas tipo Unix. Es quien controla, por ejemplo, si un usuario necesita ingresar la contraseña para montar un disco interno.
  • AUR (Arch User Repository): El repositorio comunitario de Arch Linux. Contiene miles de paquetes no oficiales —como Google Chrome, Android Studio o DaVinci Resolve— enviados y mantenidos por usuarios de la comunidad.
  • Rolling Release: Un modelo de distribución donde el software se actualiza de forma continua sin versiones fijas de sistema operativo. En lugar de hacer un "upgrade" de Ubuntu 22 a 24, en Arch/CachyOS simplemente actualizas cada vez que quieras con pacman -Syu.

Parte 1: Preparación del Entorno — Antes de Instalar

Una instalación exitosa de Linux en Dual Boot depende casi en su totalidad de los pasos previos. Esta sección cubre todo lo que debes hacer antes de siquiera conectar el USB.

Paso 1: Crear el Medio de Instalación (USB Booteable con Rufus)

Al preparar el USB de instalación para CachyOS con la herramienta Rufus, existe una configuración crítica que, si se omite, provocará que la computadora se congele en una pantalla negra o que la BIOS no reconozca el dispositivo.

Una vez que cargues el archivo ISO de CachyOS en Rufus y presiones "Empezar", la aplicación desplegará una ventana emergente preguntando el método de escritura. Aquí es donde debes seleccionar obligatoriamente el Modo DD (Disk/Drive Image):

  [ ] Escribir en modo Imagen ISO (Recomendado)
  [x] Escribir en modo Imagen DD

¿Por qué es obligatorio el Modo DD?

Las distribuciones basadas en Arch Linux utilizan un sistema de archivos híbrido y un esquema de particiones muy específico en sus instaladores. Si se usa el modo ISO tradicional, Rufus intentará descomprimir e interpretar los archivos de arranque para adaptarlos a su propia estructura, corrompiendo las rutas nativas que necesita el instalador para funcionar.

El Modo DD desactiva cualquier alteración por parte de Rufus y la convierte en un clonador puro: realiza una copia bit a bit del ISO directamente sobre la memoria USB, garantizando:

  • Integridad absoluta de los datos: Sin riesgo de alteración en las rutas críticas del sistema de arranque.
  • Compatibilidad UEFI real: La partición de arranque diseñada por el equipo de CachyOS se traslada intacta, asegurando que la placa base la detecte correctamente.
  • Arranque garantizado: Se eliminan por completo los bucles de carga incorrectos y los errores de lectura en sistemas modernos.

Configuración recomendada en Rufus

  • Dispositivo: Selecciona la unidad USB de destino (mínimo 8 GB de capacidad).
  • Elección de arranque: Apunta al archivo ISO oficial de CachyOS.
  • Esquema de partición: Selecciona GPT — requisito obligatorio para placas base modernas y entornos Dual Boot.
  • Sistema de destino: Establece la opción en UEFI (no CSM).
  • Sistema de archivos: Puedes dejarlo en FAT32; el modo DD restructurará el formato internamente.

Alternativas a Rufus: Si el dispositivo USB presenta inconsistencias o si estás en Mac/Linux, puedes utilizar BalenaEtcher o Ventoy. Ambas herramientas operan bajo la lógica de copia directa y eliminan las incompatibilidades operativas.

Paso 2: Preparación desde Windows — Desactivar el Inicio Rápido (Fast Startup)

Este es el paso que más usuarios omiten y que más problemas causa a largo plazo en entornos Dual Boot. Cuando la característica de Inicio Rápido está habilitada, Windows no realiza un apagado completo del hardware. En su lugar, congela el estado del núcleo del sistema y bloquea los volúmenes de almacenamiento en un archivo de hibernación para acelerar el siguiente encendido.

Este estado de hibernación bloquea los discos bajo un marcador de uso (conocido como "dirty bit"). Cuando Linux intente acceder o escribir en los discos durante la instalación o en futuros arranques, bloqueará el acceso en modo de solo lectura o impedirá completamente el montaje de las unidades. Esto puede derivar en pérdida de datos y en Kernel Panics al cambiar de sistema.

Cómo desactivar el Inicio Rápido en Windows

  1. Accede al menú de inicio, busca Panel de Control y ábrelo.
  2. Navega a Hardware y sonidoOpciones de energía.
  3. En el panel lateral izquierdo, haz clic en "Elegir el comportamiento de los botones de inicio/apagado".
  4. Los parámetros avanzados están protegidos. Haz clic en el enlace con el escudo de seguridad: "Cambiar la configuración actualmente no disponible".
  5. En la sección Configuración de apagado, desmarca la casilla "Activar inicio rápido (recomendado)".
  6. Haz clic en Guardar cambios y apaga el sistema por completo (no reinicies, apaga).

Paso 3: Configuración de la BIOS/UEFI

Antes de arrancar desde el USB, debes configurar algunos parámetros en el firmware de la placa base. Accede a la BIOS al encender el equipo presionando la tecla correspondiente (en placas ASUS suele ser Supr o F2; en MSI, Supr; en Gigabyte, F2 o Supr).

  • Desactivar Secure Boot: Algunos kernels personalizados de CachyOS no están firmados digitalmente bajo el estándar de Microsoft, por lo que el Arranque Seguro los rechazará. Busca la opción en la pestaña "Boot" o "Security" y cámbiala a Disabled.
  • Desactivar Fast Boot en la BIOS: Además de desactivarlo en Windows, también debes hacerlo a nivel de firmware. Busca la opción Fast Boot en la pestaña de arranque y ponla en Disabled. Esto garantiza que el hardware se inicialice limpiamente en cada arranque, evitando conflictos con el kernel de Linux.
  • Asegurar el modo AHCI: Verifica que el modo de controladora de almacenamiento esté configurado en AHCI y no en modo RAID o IDE.
  • Configurar el orden de arranque: Establece el USB como primera opción de arranque para iniciar el instalador.

Paso 4: Disco aparte

La forma recomendada para que NO te compliques en la instalación, es tener un disco APARTE en el cual tener disponible para instalar CachyOS o tu distro Linux, la misma, DEBE estar limpia o al menos tener presente de que se van a perder esos datos así que, debes de hacer una copia de seguridad de los archivos.

Paso 4.5: Liberar Espacio en Disco desde Windows

Para instalar CachyOS junto a Windows, necesitas espacio no asignado en tu disco. La forma más segura de crearlo es usando la herramienta nativa de Windows:

  1. Haz clic derecho sobre el icono de Windows → Administración de discos.
  2. Haz clic derecho sobre tu partición principal (generalmente C:) y selecciona "Reducir volumen...".
  3. Ingresa la cantidad de MB que deseas liberar. Se recomienda un mínimo de 50.000 MB (50 GB), siendo 100 GB o más lo ideal para un sistema de desarrollo.
  4. Confirma la operación. El espacio liberado aparecerá como "No asignado" en color negro.

Puedes saltar este paso si ya cumpliste con el Paso 4.

Parte 2: El Proceso de Instalación con Calamares

Una vez que hayas preparado todo en la sección anterior, conecta el USB y enciende el equipo. El sistema arrancará directamente en el escritorio en vivo de CachyOS. Desde aquí, lanza el asistente de instalación haciendo clic en CachyOS Hello"Ejecutar instalador".

Selección del Gestor de Arranque (Bootloader)

Una de las primeras decisiones que el asistente te pedirá es elegir el gestor de arranque. Tienes dos opciones principales:

  • GRUB (Grand Unified Bootloader): Es el estándar clásico de la industria. Su gran ventaja para Dual Boot es la herramienta os-prober, que detecta automáticamente instalaciones de Windows en otros volúmenes y genera un menú de selección limpio cada vez que enciendes el equipo. Es la opción recomendada para principiantes y para configuraciones con múltiples sistemas operativos.
  • systemd-boot: La alternativa moderna y minimalista. Arranca el sistema unos segundos más rápido al carecer de scripts complejos, pero requiere una configuración manual más detallada para entornos Dual Boot. Recomendado para usuarios avanzados con instalaciones UEFI puras.

Recomendación: Si es tu primera vez instalando Linux junto a Windows, mantén la selección en GRUB. Te ahorrará muchos dolores de cabeza.

Particionado Manual: La Tabla de Particiones Recomendada

En la sección de particionado del instalador Calamares, selecciona la opción de Particionado Manual para tener control total. El esquema recomendado es el siguiente:

Punto de MontajeSistema de ArchivosTamaño RecomendadoIndicadores (Flags)Notas
/boot/efiFAT32Usar la partición EFI existente de Windows (¡NO formatear!)boot, espSi instalas en un disco completamente nuevo, crea una de 512 MB a 1 GB.
/ (Raíz)Btrfs (recomendado) o XFSMínimo 50 GB. Usar todo el espacio no asignado disponible.rootBtrfs es el predeterminado de CachyOS y ofrece compresión transparente y snapshots.

Advertencia crítica sobre la partición EFI: Si tu computadora ya tiene Windows instalado, existirá una partición EFI (generalmente de 100 MB a 512 MB). Debes seleccionarla como punto de montaje /boot/efi sin marcar la casilla de formateo. Si la formateas, borrarás el gestor de arranque de Windows y necesitarás repararlo manualmente.

Estrategia de Almacenamiento: Disco Principal y Disco Secundario

Si tu equipo cuenta con múltiples unidades de almacenamiento, la estrategia más eficiente es asignar funciones diferenciadas para maximizar el rendimiento:

Unidad de AlmacenamientoFunción Recomendada
SSD NVMe principal (ej. 512 GB)Sistema base de CachyOS: binarios del sistema, librerías del núcleo, aplicaciones críticas. El acceso a alta velocidad del NVMe garantiza arranques ultrarrápidos y aplicaciones fluidas.
SSD/HDD secundario (ej. 2 TB)Almacenamiento masivo: proyectos de desarrollo, repositorios Git locales, modelos de Inteligencia Artificial (Ollama), archivos multimedia para edición, library de videojuegos de Steam.

Nota de seguridad importante: No configures la unidad secundaria durante el asistente de instalación. Completa primero la instalación base en tu disco primario. Una vez que tengas el escritorio de CachyOS funcionando, formatea y configura el disco secundario desde el entorno gráfico o la terminal de forma controlada y segura.

Parte 3: Problemas Durante la Instalación y sus Soluciones

La instalación de Linux rara vez sale perfecta a la primera, especialmente en hardware moderno. Aquí están los problemas que yo encontré y cómo los resolví.

Problema 1: Error Boost.Python en Calamares (SIGPIPE: 13)

Durante la instalación con el asistente gráfico Calamares, es posible que aparezca el error Error Boost.Python en el proceso "mount" (SIGPIPE: 13). Este error no indica una avería física en tu disco NVMe.

El problema ocurre cuando el instalador intenta particionar, formatear o desmontar la unidad de destino, pero el sistema operativo en vivo del USB mantiene la partición retenida en segundo plano por algún proceso fantasma, generando un conflicto de bloqueo de hardware (conocido como "drive busy").

Solución: Limpieza manual del disco desde la terminal

  1. Cierra la ventana de error y cierra por completo el instalador Calamares.
  2. Abre una terminal (Konsole) en el entorno en vivo.
  3. Fuerza el desmontaje de cualquier volumen bloqueado y limpia las tablas de partición del disco:
sudo umount -l /dev/nvme1n1* 2>/dev/null
sudo sgdisk --zap-all /dev/nvme1n1

Nota: El flag --zap-all destruye las estructuras GPT/MBR corruptas o bloqueadas, dejando la unidad en un estado completamente virgen. Reemplaza nvme1n1 por el identificador correcto de tu disco (puedes verificarlo con el comando lsblk).

  1. Inicia nuevamente el asistente desde CachyOS Hello"Ejecutar instalador".
  2. Asegúrate de tener conexión activa a internet.
  3. Procede con la configuración previa (GRUB, borrado del disco, formato Btrfs). Al haber liberado los montajes fantasmas, el proceso de instalación se completará sin interrupciones.

Problema 2: Kernel Panic al Cambiar de Windows a Linux (Reinicio en Caliente)

Un síntoma crítico en entornos Dual Boot con placas base modernas es el siguiente: si realizas un "Reiniciar" desde Windows para entrar a Linux, obtienes un Kernel Panic inmediato (incapacidad de leer el NVMe) o pierdes las salidas de audio digital (DisplayPort/HDMI). Sin embargo, si apagas por completo la máquina y la enciendes de cero, ambos sistemas funcionan con absoluta normalidad.

Por qué ocurre

Este comportamiento es consecuencia directa de la función Fast Startup de Windows. Cuando ordenas un reinicio con esta función activa, Windows no cierra el sistema genuinamente: realiza un volcado del estado del núcleo y los controladores de hardware hacia una hibernación híbrida, manteniendo las controladoras de audio y las interfaces NVMe bloqueadas bajo un estado de energía exclusivo —un verdadero "secuestro de hardware".

Al tomar el control de inmediato, el kernel de Linux no puede inicializar esos componentes porque no responden a sus solicitudes de inicio limpio, desencadenando el colapso del sistema.

Solución definitiva: Desactivación en Windows y en la BIOS

La solución es doble. Primero, desactiva el Inicio Rápido en Windows siguiendo los pasos descritos en la Parte 1, Paso 2 de esta guía. Segundo, desactívalo también en el firmware:

  1. Reinicia y accede a tu BIOS (tecla Supr o F2 en placas ASUS).
  2. Dirígete a la pestaña avanzada de Boot (Arranque).
  3. Localiza el parámetro Fast Boot y ponlo en Disabled.
  4. Guarda los cambios y sal.

Con esta doble configuración, Windows liberará los buses de datos y de energía de forma estricta en cada ciclo, permitiendo que Linux reconozca el hardware sin conflictos.

Problema 3: Fallos de Autenticación tras la Instalación (Reset de Contraseña)

Si tras completar la instalación el sistema rechaza tu contraseña —incluso al intentar acceder desde una consola de texto pura (TTY) con Ctrl + Alt + F3—, el sistema presenta una inconsistencia de credenciales. Esto suele ser causado por una asignación incorrecta del teclado durante la instalación (por ejemplo, si tu teclado es en español y el instalador asumió inglés, la contraseña que tecleaste tiene caracteres distintos).

Este escenario no requiere un formateo completo. Puedes reescribir la contraseña explotando las utilidades de recuperación desde la Live ISO original mediante un entorno Chroot (cambio de raíz).

Protocolo de recuperación paso a paso

  1. Arranca tu computadora desde el USB de instalación de CachyOS para acceder al escritorio en vivo.
  2. Abre una terminal e identifica tu partición raíz:
lsblk

Busca la unidad formateada en btrfs (identificable por su tamaño). Para este ejemplo, asumiremos que es /dev/nvme1n1p2.

  1. Monta el subvolumen raíz (@) del sistema de archivos en el directorio temporal:
sudo mount -o subvol=@ /dev/nvme1n1p2 /mnt
  1. Realiza el cambio de raíz (chroot). Este comando transfiere la ejecución de la terminal al interior del sistema instalado en tu SSD, usando sus propios binarios y variables de entorno:
sudo arch-chroot /mnt
  1. Reasigna una nueva contraseña para tu usuario (reemplaza tunombredeusuario por el tuyo):
passwd tunombredeusuario

Consejo: Introduce la nueva contraseña con calma. En consolas puras, usa la fila numérica superior del teclado en lugar del pad numérico para evitar variaciones de mapeo.

  1. Una vez que la terminal confirme "password updated successfully", cierra el chroot, desmonta y reinicia:
exit
sudo umount /mnt
sudo reboot

Parte 4: Gestión de Software — Pacman y Paru

Para entender cómo instalar y gestionar software en CachyOS, necesitas comprender que el ecosistema se divide en dos mundos: el oficial y el comunitario. Cada uno tiene su herramienta.

El Gestor Oficial: Pacman

pacman es el gestor de paquetes nativo del sistema, programado en C para mantener bases de datos ligeras y operaciones veloces. Es el equivalente de apt en Ubuntu/Debian, pero considerablemente más rápido.

  • De dónde saca los programas: De los repositorios oficiales y estables de Arch Linux, complementados por los repositorios optimizados propios de CachyOS.
  • Qué descarga: Paquetes binarios ya compilados y listos para usar (extensión .pkg.tar.zst). Se instalan en segundos.
  • Seguridad: Absoluta. Todo el software ha sido verificado, empaquetado y firmado digitalmente por los desarrolladores oficiales de la distribución.
  • Comando típico: sudo pacman -S steam

El Asistente Comunitario: Paru

paru funciona como un wrapper (envoltorio) avanzado diseñado para interactuar con el AUR (Arch User Repository), el repositorio masivo alimentado por la comunidad que aloja software como Google Chrome, Android Studio o DaVinci Resolve.

  • De dónde saca los programas: Del AUR, un repositorio abierto alimentado por la comunidad. Aquí vive todo el software que los mantenedores oficiales no pueden distribuir directamente.
  • Qué descarga: No descarga el programa terminado, sino un script de construcción llamado PKGBUILD. La herramienta lee esta "receta", descarga el código fuente o binarios desde la web oficial del creador, los compila en tu máquina y finalmente llama a pacman para la instalación.
  • Interoperabilidad: paru es un reemplazo total de pacman. Puede buscar e instalar tanto paquetes del AUR como paquetes oficiales.
  • Seguridad: Comunitaria. Al ser un repositorio abierto, siempre te mostrará el código del PKGBUILD antes de ejecutar nada, para que puedas auditarlo.
  • Comando típico: paru -S android-studio (No usa sudo al inicio; lo solicita al final por seguridad).

La Analogía del Restaurante

Imagina que tu sistema operativo es un restaurante:

  • pacman es el Chef Principal: Gestiona la cocina y sirve platos terminados directamente desde el menú oficial. Todo está certificado y garantizado.
  • paru es el Asistente de Cocina: Si pides un plato exótico que no figura en el menú, él sale al mercado de la comunidad, consigue la receta, adquiere los ingredientes, los procesa y se los entrega al Chef Principal (pacman) para que este les dé el visto bueno final y los sirva en el sistema.

Tabla Comparativa Rápida

Característicapacmanparu
RepositorioOficiales (estables y optimizados)AUR (comunidad y terceros) + oficiales
Tipo de archivoBinario precompilado (instalación instantánea)Scripts de construcción PKGBUILD (requiere compilación local)
Requiere sudo al inicioNo — lo solicita al final para instalar
¿Puede reemplazar al otro?No, no interactúa con el AURSí, actúa como wrapper y busca también en repositorios oficiales
VelocidadMuy rápida (solo descarga y descomprime)Más lenta (descarga + compilación local)

Anatomía de los Comandos de Pacman: Flags y Modificadores

La sintaxis de pacman se organiza de forma jerárquica: las letras en MAYÚSCULAS determinan la operación principal, y las letras en minúsculas son modificadores de esa acción.

El Modificador de Sincronización (-S)

La bandera -S (Sync) indica que la operación consultará los repositorios remotos. Sus combinaciones más importantes son:

  • sudo pacman -Sy (Sync + Refresh): Sincroniza las bases de datos locales descargando las listas de paquetes más recientes. Equivale a apt update.
  • sudo pacman -Su (Sync + Upgrade): Actualiza todos los paquetes instalados que estén desactualizados. Equivale a apt upgrade.
  • sudo pacman -Syu (La combinación estándar): Sincroniza los repositorios remotos Y actualiza todo el sistema en un solo comando atómico. Este es el comando que debes ejecutar periódicamente para mantener tu sistema al día.
sudo pacman -Syu

Otras Operaciones Principales

  • -R (Remove): Desinstala un paquete del sistema.

    sudo pacman -R discord          # Elimina el paquete
    sudo pacman -Rns discord        # Elimina el paquete + dependencias huérfanas + archivos de configuración
  • -Q (Query): Realiza consultas sobre paquetes instalados localmente.

    pacman -Q                       # Lista todos los paquetes instalados
    pacman -Qs firefox              # Busca "firefox" entre los paquetes instalados
    pacman -Qi firefox              # Muestra información detallada de un paquete instalado
  • -F (Files): Busca en repositorios remotos a qué paquete pertenece un archivo o librería específica. Extremadamente útil para resolver errores de tipo libXYZ.so.1: cannot open shared object file.

    sudo pacman -Fy                 # Actualiza la base de datos de archivos
    pacman -F libGLU.so.1           # Descubre qué paquete contiene esa librería
  • -U (Upgrade desde archivo): Instala un paquete directamente desde un archivo .pkg.tar.zst local.

    sudo pacman -U ./paquete.pkg.tar.zst

Tabla de Comandos Frecuentes: Ubuntu vs. CachyOS

AcciónUbuntu (apt)CachyOS — Oficial (pacman)CachyOS — Comunidad (paru)
Instalar un paquetesudo apt install <pkg>sudo pacman -S <pkg>paru -S <pkg>
Actualizar el sistemasudo apt update && sudo apt upgradesudo pacman -Syuparu -Syu
Buscar un paqueteapt search <pkg>pacman -Ss <pkg>paru -Ss <pkg>
Eliminar un paquetesudo apt remove <pkg>sudo pacman -R <pkg>paru -R <pkg>
Eliminar + dependencias huérfanassudo apt autoremovesudo pacman -Rns <pkg>paru -Rns <pkg>
Listar paquetes instaladosapt list --installedpacman -Qparu -Q
Limpiar caché de descargassudo apt cleansudo pacman -Scparu -Sc

Nota de Diagnóstico: Si el sistema devuelve unknown command: paru, el binario no está instalado. En instalaciones limpias de CachyOS puede que ya venga incluido, pero si no, instálalo con: sudo pacman -S paru. Nunca ejecutes sudo paru —el asistente rechazará funcionar como root por diseño de seguridad.

Parte 6: Guía de Software Esencial para Desarrolladores

Una de las mayores ventajas de CachyOS es el acceso inmediato a casi cualquier herramienta de desarrollo a través de pacman y el AUR. A continuación, una selección de software esencial categorizado por área de trabajo.

Herramientas de Desarrollo General

  • Visual Studio Code: El editor de código más popular del mundo. Disponible directamente desde los repositorios de CachyOS con soporte completo de extensiones.

    sudo pacman -S code

    O instala la versión binaria oficial de Microsoft (incluye telemetría y marketplace completo):

    paru -S visual-studio-code-bin
  • Git: Control de versiones, indispensable para cualquier proyecto de desarrollo moderno.

    sudo pacman -S git

    Configura tu identidad global tras la instalación:

    git config --global user.name "Tu Nombre"
    git config --global user.email "tu@email.com"
  • Base de herramientas de compilación: El grupo base-devel incluye gcc, make y otras utilidades esenciales requeridas para compilar software desde el código fuente (y requeridas por paru para el AUR).

    sudo pacman -S base-devel
  • Neovim: El editor de texto moderno y extensible para la terminal, con un ecosistema de plugins enorme. Alternativa potente para quienes prefieren el flujo de trabajo basado en teclado.

    sudo pacman -S neovim
  • JetBrains Toolbox: Instalador y gestor de las IDEs de JetBrains (IntelliJ, PHPStorm, WebStorm, DataGrip, etc.). La forma más ordenada de mantener múltiples IDEs actualizadas.

    paru -S jetbrains-toolbox

    Filezilla:

    sudo pacman -S filezilla

    VLC:

    sudo pacman -S vlc

    GitHub para autenticarnos mediante nuestros proyectos con Git:

    sudo pacman -S github-cli

    Luego:

    gh auth login
  • Responde las preguntas de la terminal con las flechas del teclado y Enter:

    What account do you want to log into? Selecciona GitHub.com.

    What is your preferred protocol for Git operations on this host? Selecciona HTTPS.

    Authenticate Git with your GitHub credentials? Selecciona Yes.

    How would you like to authenticate GitHub CLI? Selecciona Login with a web browser.

    El paso final: La terminal te dará un código de 8 dígitos (cópialo) y te dirá que presiones Enter para abrir tu navegador. Se abrirá la web de

    GitHub, pegas el código, autorizas y ¡listo! Ya estás logueado para siempre en Git.

  •  

Entornos de Ejecución y Lenguajes

  • Node.js y npm: El entorno de ejecución de JavaScript, esencial para el desarrollo web moderno con React, Vue, Next.js y similares, puedes instalar una versión específica como:

    sudo pacman -S nodejs npm

    O mejor, se recomienda usar nvm (Node Version Manager) para gestionar múltiples versiones de Node sin conflictos:

    paru -S nvm

    Instalamos la versión legacy:

    nvm install --lts

    O una específica:

    nvm install 20

    Usamos:

    nvm use 20
  • PHP y Composer: Para desarrollo web backend con frameworks como Laravel.

    sudo pacman -S php composer

    Si usas Fish como shell, agrega el directorio de binarios de Composer a tu PATH:

    set -U fish_user_paths $HOME/.config/composer/vendor/bin $fish_user_paths
  • Python y pip: Python viene preinstalado en CachyOS, pero puedes asegurarte de tener las herramientas de desarrollo:

    sudo pacman -S python python-pip
  • Java (JDK): Para desarrollo Android nativo o aplicaciones empresariales.

    sudo pacman -S jdk-openjdk
  • Flutter y Dart: El SDK de Google para desarrollo de aplicaciones multiplataforma (Android, iOS, Web, Desktop) desde un único código base.

    paru -S flutter-bin --noconfirm

    Agregamos al path:

    fish_add_path /opt/flutter/bin

    Si al hacer flutter doctor vez algo como:

  • [✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
      ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

    set -Ux CHROME_EXECUTABLE (which cachy-browser || which google-chrome-stable || which chromium || echo "")

Bases de Datos

  • MariaDB (MySQL): La base de datos relacional más utilizada en desarrollo web.

    sudo pacman -S mariadb
    sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
    sudo systemctl enable --now mariadb
  • PostgreSQL: La base de datos relacional más avanzada del mundo open source.

    sudo pacman -S postgresql
    sudo -u postgres initdb -D /var/lib/postgres/data
    sudo systemctl enable --now postgresql
  • Redis: Almacén de datos en memoria para caché, colas y sesiones.

    sudo pacman -S redis
    sudo systemctl enable --now redis
  • TablePlus / DBeaver: Clientes gráficos para gestionar bases de datos. DBeaver es de código abierto y soporta prácticamente cualquier motor.

    paru -S dbeaver

Contenedores y Virtualización

  • Docker y Docker Compose: La plataforma de contenedores estándar para desarrollo y despliegue de aplicaciones en entornos aislados y reproducibles.

    sudo pacman -S docker docker-compose
    sudo systemctl enable --now docker
    sudo usermod -aG docker $USER

    Cierra sesión y vuelve a entrar para que los cambios de grupo surtan efecto.

  • Distrobox: Ya mencionado en el glosario, es una herramienta excepcional para correr software de otras distribuciones de forma transparente, compartiendo la GPU y el entorno gráfico. Ideal para DaVinci Resolve, herramientas de Red Hat, etc.

    sudo pacman -S distrobox
  • Podman: Alternativa a Docker sin demonio de fondo (daemonless), más segura por defecto. Completamente compatible con la mayoría de los comandos de Docker.

    sudo pacman -S podman

Herramientas de Red y APIs

  • curl y wget: Herramientas de línea de comandos esenciales para transferir datos y descargar archivos.

    sudo pacman -S curl wget
  • Insomnia / Bruno: Clientes gráficos para probar APIs REST y GraphQL. Bruno es de código abierto y almacena las colecciones como archivos de texto plano (Git-friendly).

    paru -S insomnia-bin
    # o la alternativa open source:
    paru -S bruno-bin
  • ngrok / Cloudflared: Herramientas para exponer un servidor local a internet de forma temporal, útiles para probar webhooks de Stripe, GitHub, etc.

    paru -S cloudflared

Terminal y Shell

  • Fish Shell: Un shell interactivo y amigable con autocompletado inteligente out-of-the-box, resaltado de sintaxis en tiempo real y gestión de historial avanzada. No es compatible con POSIX, pero su curva de aprendizaje es mínima.

    sudo pacman -S fish
    chsh -s /usr/bin/fish     # Establece Fish como shell predeterminado
  • Zsh + Oh My Zsh: La alternativa compatible con POSIX con un ecosistema enorme de temas y plugins.

    sudo pacman -S zsh
    paru -S oh-my-zsh-git
  • Starship: Un prompt minimalista, extremadamente rápido y personalizable para cualquier shell (Fish, Zsh, Bash). Muestra información contextual de Git, versiones de lenguajes, estado de Kubernetes, etc.

    sudo pacman -S starship
  • tmux: Multiplexor de terminal que permite dividir la pantalla en paneles, mantener sesiones persistentes en el servidor y mucho más.

    sudo pacman -S tmux
  • fzf: Un buscador difuso (fuzzy finder) para la terminal que potencia el historial de comandos, la búsqueda de archivos y mucho más.

    sudo pacman -S fzf
  • Alacritty / Kitty: Terminales de alto rendimiento con aceleración por GPU. Mucho más rápidas que los emuladores tradicionales.

    sudo pacman -S alacritty
    # o
    sudo pacman -S kitty

Navegadores y Comunicación

  • Google Chrome:

    paru -S google-chrome --noconfirm
  • Firefox: Incluido por defecto en muchas configuraciones de CachyOS. Si no está presente:

    sudo pacman -S firefox
  • Discord:

    sudo pacman -S discord
  • Slack:

    paru -S slack-desktop --noconfirm
  • Android Studio: El IDE oficial para desarrollo de aplicaciones Android.

    paru -S android-studio --noconfirm

Inteligencia Artificial Local

  • Ollama: La herramienta más sencilla para correr modelos de lenguaje grandes (LLMs) de forma local en tu hardware. Compatible con modelos como Llama 3, Mistral, Phi-3, CodeLlama y muchos más.

    paru -S ollama
    sudo systemctl enable --now ollama
    # Descargar y ejecutar un modelo:
    ollama run llama3.2
  • Open WebUI: Una interfaz web estilo ChatGPT para interactuar con tus modelos de Ollama de forma gráfica. Se despliega como un contenedor Docker.

    docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway \
      -v open-webui:/app/backend/data \
      --name open-webui \
      ghcr.io/open-webui/open-webui:main

    Accede a la interfaz en http://localhost:3000.

Parte 7: DaVinci Resolve en CachyOS

DaVinci Resolve es una de las aplicaciones más complejas de configurar en Linux. Aquí documento dos enfoques: instalación nativa (más simple, pero con limitaciones) y mediante contenedor Distrobox (más robusto, la opción recomendada).

Opción A: Instalación Nativa con Pacman y Paru (Hardware NVIDIA)

La instalación nativa en CachyOS es posible, pero requiere primero los controladores privativos y las librerías de cómputo CUDA para que DaVinci pueda aprovechar la GPU:

sudo pacman -S nvidia nvidia-utils opencl-nvidia cuda
paru -S davinci-resolve

Problema: Sin audio o bucle de audio en DaVinci Resolve

Un problema muy común en distribuciones basadas en Arch Linux (CachyOS, Manjaro, EndeavourOS, Garuda) es que DaVinci Resolve no emite sonido o genera un bucle de audio. La causa radica en que DaVinci interactúa directamente con ALSA, y aunque el servidor de audio moderno PipeWire emula ALSA de forma transparente para la mayoría de programas, DaVinci requiere un puente de compatibilidad adicional.

Solución: Instala el paquete pulseaudio-alsa junto a la infraestructura existente de PipeWire:

sudo pacman -Syu pulseaudio-alsa

Una vez completada la instalación, es obligatorio reiniciar el equipo. Reiniciar únicamente los servicios de PipeWire no es suficiente para que DaVinci reconozca el nuevo entorno de audio. Tras el reinicio, verifica la reproducción en la línea de tiempo.

Si el problema persiste, confirma que la pila completa de PipeWire está instalada:

sudo pacman -S pipewire pipewire-alsa pipewire-pulse wireplumber

Luego, desde dentro de DaVinci Resolve, navega a Preferences → System → Video and Audio I/O y establece la Speaker Configuration en ALSA (si está disponible) o en Automatic.

Caso especial: Archivos MP4 con audio AAC sin sonido

Si tus clips muestran las ondas de audio correctamente en la línea de tiempo pero no emiten ningún sonido, no es un problema de configuración: es una limitación de licencias. DaVinci Resolve en Linux no soporta la decodificación nativa del códec AAC (el audio estándar de los archivos .mp4 de cámaras modernas y smartphones).

La solución definitiva es transcodificar el flujo de audio del clip a formato PCM sin comprimir antes de importarlo, manteniendo el video intacto:

ffmpeg -i entrada.mp4 -c:v copy -c:a pcm_s16le salida.mp4

Para diagnosticar que ALSA responde correctamente a nivel de sistema antes de culpar a DaVinci, puedes ejecutar:

speaker-test -c 2

Este comando reproduce un ruido rosa alternando entre el canal izquierdo y derecho. Si escuchas el ruido, el problema está en DaVinci y no en el sistema de audio.

Fuente: discuss.cachyos.org — No sound in DaVinci Resolve

También puedes usar una UI gráfica como octopi para instalar Davinci entre otros programas:

paru -S octopi --noconfirm

Opción B: Instalación con Distrobox (Recomendada para máxima estabilidad)

DaVinci Resolve está diseñado oficialmente para Red Hat Enterprise Linux / Rocky Linux. Ejecutarlo de forma nativa en Arch/CachyOS suele romper dependencias con las actualizaciones constantes del sistema rolling release. La solución más robusta y aislada es usar un contenedor de Rocky Linux 9 con Distrobox.

Paso 1: Crear el contenedor base

distrobox create --name davinci-env --image rockylinux:9
distrobox enter davinci-env

Paso 2: Resolver dependencias dentro del contenedor

Al intentar lanzar el binario de DaVinci Resolve en /opt/resolve/bin/resolve, el sistema mostrará errores de librerías faltantes de forma secuencial. A continuación, el mapa completo de errores y sus soluciones:

Error de LibreríaQué hace esa libreríaSolución dentro del contenedor
libGLU.so.1Utilidades de OpenGL para la renderización de la interfazsudo dnf install -y mesa-libGLU
libOpenCL.so.1Interfaz de cómputo abierta para que el motor de video detecte el hardwaresudo dnf install -y ocl-icd
libdbus-1.so.3Sistema de mensajería para comunicación entre hilos y serviciossudo dnf install -y dbus-libs
libxkbcommon-x11.so.0Manejo de mapas de teclado bajo servidores de ventanas X11sudo dnf install -y libxkbcommon-x11
libcrypt.so.1Librería de cifrado heredada (legacy), removida en distros modernas pero exigida por DaVincisudo dnf install -y libxcrypt-compat

Para instalar el combo completo de dependencias de una sola vez y evitar el ciclo de error-instalación-reintento, ejecuta dentro del contenedor:

sudo dnf install -y alsa-lib apr apr-util fontconfig freetype libglvnd-egl libglvnd-opengl \
  libxkbcommon libxkbcommon-x11 libXtst mtdev pulseaudio-libs xcb-util xcb-util-cursor \
  xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wm mesa-dri-drivers \
  mesa-vulkan-drivers libXv mesa-libGLU ocl-icd dbus-libs libxcrypt-compat

Paso 3: Corregir permisos del binario

Si copiaste los archivos de DaVinci con privilegios elevados, los archivos pueden mantener restricciones de root que impiden la ejecución:

sudo chmod +x /opt/resolve/bin/resolve
sudo chown -R $USER:$USER /opt/resolve

Paso 4: Integración de la GPU NVIDIA (Aceleración CUDA/OpenCL)

Si DaVinci se cierra de forma repentina después de la línea de log Loaded log config from .../log-conf.xml sin errores de librerías .so, el problema es que el contenedor no tiene acceso a las llamadas de cómputo CUDA/OpenCL de la GPU del sistema anfitrión.

Los repositorios nativos de Rocky Linux no contienen los controladores privativos de NVIDIA. Debes forzar a Distrobox a enlazar los módulos de hardware directamente desde CachyOS:

  1. Sal del contenedor: exit o Ctrl + D.
  2. Vuelve a ingresar forzando la exportación de las interfaces de hardware de NVIDIA:
distrobox enter --nvidia davinci-env
  1. Lanza DaVinci especificando el backend gráfico de Qt compatible para evitar conflictos de visualización:
QT_QPA_PLATFORM=xcb /opt/resolve/bin/resolve

Con estos pasos, el entorno de desarrollo queda completamente configurado con aceleración por GPU y acceso total a los recursos del sistema anfitrión.

Aprende a configurar el arranque dual, resolver errores del instalador Calamares, gestionar paquetes con Pacman y Paru, y descubre el software esencial para desarrolladores: Flutter, Docker, DaVinci Resolve y más.


Únete a la comunidad de desarrolladores que han decidido dejar de picar código y empezar a construir productos reales. Recibe mis mejores trucos de arquitectura cada semana:

Acepto recibir anuncios de interes sobre este Blog.