nathaniel@dalencon:~/tesela$

ES GL EN

Escribir
Volver al portfolio

En desarrollo· probado en máquina virtual

TeselaSistema operativo

Tu espacio, a tu manera.

Un sistema operativo de escritorio en español con base Linux, pensado como alternativa a Windows para el usuario de siempre: se maneja como Windows 7, tiene un aspecto propio llamado «Cristal», no envía telemetría y funciona con cuenta local. Sobre esa base, todo lo que se ve y se usa lo he diseñado y programado a mano: desde la imagen del sistema hasta el instalador y el panel de control.

de la interfaz diseñada y programada a mano
100 %
tamaño de la ISO tras optimizarla
11,3→5,4 GB
telemetría: todo en local
0
ISO para cualquier PC y gráfica
1

Su escritorio: Tesela Cristal

Una interfaz propia, con la colocación de Windows 7 que la gente ya conoce y el aspecto de Tesela.

  • Botón Inicio redondocon el cubo de Tesela y un menú de dos columnas: programas a la izquierda y carpetas a la derecha.
  • «Todos los programas»por carpetas, búsqueda con calculadora y programas recientes.
  • Barra de tareas de cristalazul translúcida, con buscador en píldora, iconos propios y reloj.
  • Ventanas clarascon un toque lavanda y barra de título azul: el esquema «Tesela Cristal».
Explorador de archivosObtener programasPanel de controlCalculadoraTodos los programasBuscar programas y archivos
DocumentosImágenesEquipoPanel de controlTesela UpdateApagar
Buscar 10:05

Del arranque al escritorio

Tres pantallas propias: el arranque con el cubo de Tesela, el inicio de sesión con la cuenta local y el escritorio Cristal. Recreadas con los recursos gráficos reales del sistema.

  1. 01Arranque

  2. 02Inicio de sesión

  3. 03Escritorio

El código en números

Contado en la carpeta del proyecto: líneas no vacías, sin bibliotecas ni código de terceros.

Líneas de código
17.101
Archivos
114
Servicios systemd
6
Lanzadores
16
  • QML57 %
  • Bash23 %
  • Python12 %
  • JavaScript2 %
  • Otros5 %
  1. Panel de controlPanelControl.qml4.844
  2. InstaladorInstalador.qml · motor.py · Bienvenida.qml3.224
  3. Menú InicioMenuInicio.qml · main.qml1.251
  4. Herramienta de administracióntesela-admin601
  5. Construcción de la imagen y la ISOconstruir.sh · usb-minimo.py · paquetes.sh1.153

Qué tiene que conseguir

Los requisitos que guían cada decisión técnica.

  • Manejo de Windows 7

    Barra de tareas, menú Inicio con «Todos los programas», Equipo y Panel de control donde la gente espera encontrarlos.

  • Sin terminal ni contraseñas raras

    Todo se hace desde ventanas: instalar programas, redes, cuentas, controladores y actualizaciones.

  • Privacidad de serie

    Sin telemetría ni informes automáticos, cuenta local y actualizaciones que decide el usuario.

  • Una sola ISO

    Para portátiles y sobremesas, gráficas integradas o dedicadas, nuevas o antiguas, como el instalador de Windows.

  • Programas de Windows y juegos

    Compatibilidad con programas de 32 y 64 bits y juegos mediante Wine, DXVK y Steam.

  • Solo se ve Tesela

    Ningún nombre ni logotipo de terceros en arranque, instalador, ventanas ni menús.

Arquitectura: base Linux, todo lo demás hecho a mano

Tesela usa el núcleo Linux y sus controladores como cimientos. Encima, cada capa que ve o toca el usuario es propia: la imagen del sistema, el instalador, los servicios, el escritorio y las herramientas.

CapaQué hayOrigen
InterfazMenú Inicio, Panel de control, Equipo, Tesela Update y Obtener programas (QML y Python)Hecho a mano
InstaladorInstalación y configuración inicial al estilo de Windows 11 (QML y motor en Python)Hecho a mano
ServiciosGráficos automáticos, red, Bluetooth, cuentas, restauración y activación (Bash, Python y systemd)Hecho a mano
EscritorioKDE Plasma 6 con tema, iconos, pantalla de arranque y textos de TeselaAdaptado a Tesela
SistemaImagen atómica inmutable con actualizaciones y vuelta atrás (bootc y OSTree)Adaptado a Tesela
NúcleoLinux, controladores Intel/AMD/NVIDIA y arranque seguro con claves propiasBase Linux

Cómo se construye Tesela

  1. Containerfile

    El sistema entero definido como código: paquetes, controladores, configuración y marca.

  2. podman build

    Se construye en WSL; el módulo de NVIDIA se compila y se firma dentro.

  3. Imagen OCI

    Capas rehechas sin archivos repetidos para que pese y se descargue menos.

  4. USB mínimo

    Un script calcula las dependencias del instalador y crea un sistema de arranque pequeño.

  5. ISO arrancable

    shim y GRUB firmados: arranca con el arranque seguro activado.

  6. Sistema atómico

    El instalador escribe la imagen con bootc; cada actualización se puede deshacer.

visitante@nd: ~/Sistema Operativo Tesela

Qué hace ya

Estado real de cada parte, sin adornos: comprobado en máquina virtual, construido pendiente de probar, o pendiente de hardware real.

  • Comprobado

    Instalador como el de Windows 11

    El USB arranca directo en el instalador: idioma, disco, cifrado e instalación junto a Windows reduciendo su partición.

  • Comprobado

    Configuración inicial

    La cuenta se crea al encender por primera vez, siempre local y sin conexión obligatoria.

  • Comprobado

    Escritorio «Cristal» y menú Inicio

    Menú de Windows 7 con búsqueda, calculadora, programas recientes y «Todos los programas» por carpetas.

  • Comprobado

    Panel de control propio

    Sistema, cuentas, seguridad, programas, Administrador de dispositivos y pantalla, en un único panel.

  • Comprobado

    Equipo y Disco local

    Discos internos y extraíbles con un clic; «Usuarios», «Archivos de programa» y «Sistema» como en Windows.

  • Comprobado

    Restaurar sistema

    Puntos de restauración y vuelta atrás de una actualización que haya salido mal.

  • Construido

    Tesela Update y Obtener programas

    Actualizaciones y una tienda de programas integrada, con controladores aparte.

  • Falta PC real

    Gráficos automáticos

    Intel, AMD y NVIDIA con arranque seguro; si un controlador no carga, vuelve solo a uno libre.

  • Comprobado

    Programas de Windows

    Programas de 32 y 64 bits con Wine; juegos con DXVK y Steam.

  • Construido

    Seguridad y privacidad

    Cortafuegos propio, antivirus bajo demanda, cuentas con permisos separados y cero telemetría.

  • Falta PC real

    Wi-Fi y Bluetooth

    Conexión desde la barra y el panel, con audio Bluetooth; la máquina virtual no tiene estas radios.

  • Construido

    Licencias en regla

    Licencia propia para las piezas de Tesela y código fuente de cada componente libre preparado para distribuir.

Retos técnicos resueltos

Algunos problemas reales del desarrollo y cómo los he resuelto.

Una ISO que no cabía en un USB

Problema
La primera ISO de Tesela pesaba 11,3 GB. Al medirla por dentro, 5 GB eran el sistema del USB: casi una copia entera del escritorio.
Solución
Un script en Python que resuelve el árbol de dependencias de los paquetes del instalador —incluidas las dependencias condicionales— y monta solo lo necesario; capas de la imagen rehechas sin archivos repetidos; initrd sin controladores gráficos.
Resultado
ISO de 11,3 a 5,4 GB; initrd de 290 a 135 MB.

NVIDIA con arranque seguro

Problema
El controlador de NVIDIA es un módulo externo: con el arranque seguro activado, el sistema se niega a cargarlo.
Solución
El módulo abierto se compila dentro de la propia imagen y se firma con una clave MOK de Tesela. Al arrancar, un servicio elige controlador por modelo (Turing o posterior → NVIDIA; anteriores → nouveau/NVK).
Resultado
Si el controlador no carga, vuelve al libre sin bucles de reinicio.

Que solo se vea Tesela

Problema
La base trae nombres y logotipos de terceros en el arranque, el menú de arranque, los títulos de ventana y los menús.
Solución
Identidad del sistema y entrada UEFI propias, pantalla de arranque Plymouth programada desde cero, tema de iconos propio y títulos de ventana cambiados reescribiendo los catálogos de traducción (.mo).
Resultado
«— Dolphin» pasa a «— Explorador de archivos»; el menú de arranque dice Tesela.

Un cuelgue que no era de Tesela

Problema
En VirtualBox la ISO se quedaba colgada al pasar al sistema real, con CPUs bloqueadas durante minutos.
Solución
Aislé la causa —el hipervisor de Windows que activa WSL— y creé un banco de pruebas con QEMU/KVM dentro de WSL, firmware UEFI (OVMF) y registro por consola serie.
Resultado
El instalador arrancó a la primera y se completó una instalación hasta el escritorio.

Piezas propias, no prestadas

Problema
El menú Inicio usaba modelos de datos de Plasma con licencia GPL, lo que obligaba a abrir esa pieza.
Solución
Backend propio en Python para la lista de programas, recientes y sesión, con buscador y calculadora en QML.
Resultado
Menú Inicio 100 % de Tesela, con licencia propia.

Cuentas y permisos auditados

Problema
Las cuentas compartían un grupo que permitía leer los discos enteros y algunas contraseñas pasaban por la línea de órdenes.
Solución
Grupo propio para las cuentas, contraseñas por la entrada estándar (invisibles en ps), carpetas personales privadas y cortafuegos que solo abre servicios a la red local.
Resultado
Siempre queda al menos un administrador y nadie ve los procesos de otra cuenta.

Avance del proyecto

  1. Octubre 2026

    Primeras versiones

    De la primera ISO a un sistema completo.

    • Instalador, configuración inicial y escritorio propio
    • Panel de control, cuentas, Wi-Fi, Bluetooth y puntos de restauración
    • Programas de Windows de 32 y 64 bits
  2. Octubre 2026

    Imagen atómica

    Todo el sistema pasa a construirse como código sobre Linux.

    • Actualizaciones atómicas con vuelta atrás
    • Controladores para hardware nuevo y antiguo
  3. Noviembre 2026

    Tesela en máquina virtual

    Imagen atómica, ISO propia e instalación completa.

    • Instalador, configuración inicial, escritorio y panel comprobados
    • ISO reducida de 11,3 a 5,4 GB (pendiente de volver a probar)
    • Cero servicios fallidos al arrancar
  4. Siguiente

    Hacia la versión 1.0

    Lo que falta antes de publicarla.

    • Pruebas en 2–3 PC reales: NVIDIA, AMD, Wi-Fi y Bluetooth
    • Servidor de actualizaciones propio
    • Unas semanas de pruebas con usuarios reales

Tecnologías

~/tesela — bash
Lenguajes
Bash, Python, QML/JavaScript, C
Base
Núcleo Linux con imagen atómica (bootc y OSTree)
Arranque y seguridad
UEFI, shim y GRUB firmados, claves MOK, LUKS2, SELinux, polkit
Sistemas de archivos
Btrfs, squashfs
Escritorio
KDE Plasma 6, Qt 6, KWin, SDDM, Plymouth
Servicios
systemd, udev, NetworkManager, BlueZ, firewalld, Flatpak
Construcción
Containerfile, podman, skopeo, mksquashfs, xorriso, WSL
Pruebas
QEMU/KVM con OVMF, VirtualBox, consola serie, Xvfb

¿Te interesa cómo está hecho?

Te lo enseño funcionando y te cuento cualquier parte en detalle. Escríbeme.

O, si lo prefieres, por otro canal:

Ver el resto del portfolio

Escribir LinkedIn