Bienvenido a esta serie, donde te presentaré las herramientas de software que son fundamentales para mi flujo de trabajo diario.
Me llevó más de 3 años llegar a mi entorno de escritorio ideal.
PD: Esta serie no se trata de minimalismo; utilizo una computadora potente y apunto a aprovechar al máximo sus capacidades.
¿Por qué?
Antes de pasar a Linux como mi sistema operativo principal, alternaba entre Windows y MacOS. Inicialmente, pasar a MacOS se sintió como una mejora debido a menos dificultades técnicas en comparación con Windows. Sin embargo, incluso dentro del entorno de MacOS, encontré un obstáculo significativo mientras escribia codigo. A menudo me encontraba deteniéndome para apartar la mano del teclado y ajustar el cursor, ya sea para seleccionar texto, revisar código o gestionar archivos. Además, navegar entre múltiples ventanas (que era frecuente para mí) utilizando el atajo alt-tab resultaba engorroso.
Además, independientemente de si estaba usando Windows o MacOS, cada vez que encendía mi sistema para comenzar a trabajar, inevitablemente pasaba minutos valiosos abriendo aplicaciones, redimensionando ventanas, organizándolas en diferentes workspaces y ejecutando varios comandos en la terminal para cada proyecto. Este proceso repetitivo me llevó a cuestionar si había un enfoque más eficiente para optimizar mi flujo de trabajo.
Transición a un Editor de Código Centrado en el Teclado
Para abordar el problema de las pauses para mover el mouse, tomé medidas para mejorar la eficiencia de mi proceso de edición de código. Inicialmente, aumenté el número de accesos directos en mi editor de código. Sin embargo, para resolver completamente el problema, me di cuenta de la necesidad de pasar a un editor con un flujo de trabajo centrado en el teclado. En el panorama actual, hay varias opciones viables disponibles:
Después de sopesar las opciones, opté por la más utilizada: Neovim.
Explorando los Window Managers
Para abordar el desafío de la gestión de ventanas, me adentré en el mundo de los Window Managers. Estas herramientas indispensables en mi flujo de trabajo me permiten preconfigurar la ubicación, posición y tamaño de todas mis ventanas y aplicaciones. Además, ofrecen la flexibilidad de asignar accesos directos para iniciar cualquier programa o script y manipular las propiedades de la ventana directamente mediante comandos de teclado.
Optimizando el Flujo de Trabajo con Automatización de Scripting
Otro desafío que encontré fue la necesidad de automatizar comandos de terminal y lanzamientos de programas para acelerar mi flujo de trabajo. Esto se abordó con éxito aprovechando los Kitty Startup Sessions.
Transición a Linux
Mientras usaba MacOS, experimenté con Yabai, un Tiling Window Manager. Sin embargo, configurarlo para que se adaptara a mis preferencias resultó desafiante. Encontré dificultades al utilizar la tecla CMD para combinaciones de teclas debido a conflictos con las combinaciones de teclas de programas existentes. Además, como Tiling Window Manager, Yabai ponia en modo Tiling todas las aplicaciones por defecto, incluidas las subventanas, lo que resultaba engorroso. Idealmente, esperaba que las subventanas aparecieran en modo flotante. Para superar esta limitación, tuve que seleccionar manualmente qué aplicaciones deberían estar en Tiling mode.
Estos desafíos finalmente me llevaron a hacer la transición a Linux. En el ecosistema de Linux, las posibilidades son prácticamente ilimitadas. Con la gran mayoría del software siendo de código abierto, la personalización no tiene límites. La única limitación es tu imaginación; puedes adaptar el software para que se ajuste exactamente a tus requisitos.
Desafíos con el Nuevo Paradigma
Ahora que he hecho la transición a Linux y he adoptado Neovim como mi editor de código principal, he notado una cantidad significativa de tiempo dedicado a configurarlo. Parece un ciclo interminable, ya que continuamente surgen alternativas nuevas y mejoradas, junto con actualizaciones de aplicaciones existentes que a menudo introducen cambios que pueden romper tu configuracion actual o que introducen nuevos bugs. Para gestionar esto, he adoptado una rutina de actualizar todo mi software y aplicaciones cada 6 o 3 meses. Esto me ayuda a mantenerme al día con las últimas características y correcciones, asegurando que mi flujo de trabajo permanezca eficiente y optimizado.
Software que Utilizo
A continuación se encuentran las herramientas esenciales que son fundamentales para mi flujo de trabajo. Profundizaré en cada una en publicaciones posteriores en esta serie:
Publicaciones en la serie: Construyendo el Escritorio Linux Perfecto
- Embarcando en Mi Viaje Al Escritorio Linux Perfecto — Pt. 1 (Estás aquí)
- Explorando DWL — Pt. 2