Claro que sí, pero esta respuesta no se queda aquí, porque en Linux la respuesta no se queda aquí no más, va más allá y lo veremos aquí brevemente.
En la programación de software hay dos clases: las aplicaciones y los videojuegos
En las aplicaciones, podemos hacer programas muy sencillos como programas muy complejos como los que se usam en CAD (Diseño asistido por computador) y CAM (Mecanizado Asistido por Computador). También podemos hacer contenedores y ponerlos al servicio para múltiples tareas, incluso hacer aplicaciones que funcionan bajo un navegador Web. El límite es la Imaginación.
En cuanto a Video juegos en Linux también los podemos crear y ejecutar en el propio Linux, y existen técnicas con las cuales hacer videojuegos que se pueden emplear para lograr un software para ello.
Además, cualquier programa que haga en Linux puede pasarse para cualquier otra plataforma que se necesite como las licencias privadas de otros sistemas operativos. Así que, no hay problema en trabajar en programación en Linux. Una ventaja es que su administración precisa de la memoria nos permite poder programar con confianza, en cuanto a seguridad en el proceso de programación, Linux posee un altísimo nivel de seguridad que permite poder crear los proyectos sin el peligro que existe que lo roben.
En cuanto a Licenciamiento, puedes programar o hacer tus programas con Licencia Privada o puedes usar la Licencia Libre con sus implicaciones, en donde, debes proveer el código fuente de programación, para hacer las modificaciones por parte de una comunidad y que sean mejoras que permitan trabajar mejor tu programa. esta parte es ya decisión del programador.
Así como lo lees, puedes programar sistemas operativos. Y es que en GNU/Linux el código fuente está libre tanto el del sistema operativo (GNU) como el del Kernel (Linux) y en ambos permiten hacer un sistema operativo completo desde cero.
Cuando el código fuente está libre, puedes estudiarlo, analizarlo y modificarlo para hacer algo nuevo. Y En ambos esto es posible, En GNU, puedes hacer un sistema operativo que funcione con el kernel y hacerlo como mejor te funcione, por eso existe una cantidad apreciable de distro de GNU/Linux en el mercado. En este sentido existe hacer una distro base como Debian, Open Suse Linux, Red Hat, Arch Linux o Slackware, que son distros que ponen las bases para hacer más distros ya que parten directamente de GNU y desde allí se crea una nueva base. En GNU te han facilitado la creación pues existen escritorios, repositorios y demás cosas que facilitan crear tu sistema operativo desde aquí. Claro que también te permite la facilidad de crear el escritorio y demás aspectos desde cero, eso va en el programador.
También puedes partir tu sistema de una base ya formada tu sistema operativo, pues esta ya posee unos parámetros formados incluyendo su propio repositorio o si prefieres adiciona el tuyo propio con eso el usuario tiene opciones de selección de programas en caso de que la base escogida no tenga más programas que ofrecer. Además, no tienes que ajustarte al escritorio pues por ejemplo Batocera.Linux es una distro para hacer consolas con equipos de cómputo PC y otros sistemas con procesadores no compatibles con Intel/AMD como los procesadores ARM o las placas de Raspberry Pi u Orange Pi. Ya que en varias distro base puedes programar en diferentes procesadores tu sistema operativo, además, el escritorio o forma de manejar lo que hay dentro cambia a un sistema más sencillo para el usuario y usar en pleno los joysticks para comandar el sistema y seleccionar juegos y configurar con ayuda de los mismos la consola. Así que, la forma en que tú hagas y hacia dónde dirijas tu sistema operativo depende mucho de la programación que quieres lograr.
Con el Kernel Linux también puedes lograr lo mismo. El ejemplo más común que tenemos es Android y Chrome OS que pertenecen a Google. Para lograr hacer sus sitema, el kernel de Linux también es de código fuente abierto lo que le permitió Google partir desde cero y hacer sus sistema operativo sin depender de GNU, y hacerlo todo desde el mismo núcleo lo que agiliza muchísimo la carga. Por ello, nuestros celulares y portátiles que tengan cualquiera de estos dos sistemas operativos funcionan muy bien. E igual que todos los Linux, posee una tienda de aplicaciones para instalar software al mismo.
Otra aplicación que tiene el Kernel es el uso en Router y Switch de cómputo administrable, con ello puedes hacer dispositivos seguros que funcionen en los diferentes ámbitos dentro de una red de área local (LAN) y trabajar en administración de redes de cómputo. También puedes hacer otros dispositivos inimaginables para diversas tareas y aplicaciones electrónicas de uso cotidiano, un ejemplo de esto son los equipos que tiene la NASA y las agencias espaciales en sus equipos y satélites artificiales por lo que disminuye enormemente los costos. y ya sabemos muy bien el porqué. Además, el kernel lo consigues para cualquier procesador en el que desees trabajar, y eso lo notamos en los celulares con Android.
Así que, si necesitas un sistema operativo a tu medida, tienes dos formas de hacer con GNU/Linux, solo que debes colaborar con la comunidad global en caso que hayas hecho algo que beneficie a todos los que usamos GNU/Linux.
En Linux podemos programar y hacer aplicaciones y hasta sistemas operativos para realizar determinadas tareas a nivel general o específica. El límite es la imaginación de lo que quieras lograr con él. Todo está en los objetivos que tú te trazes y a dónde quieres llegar.