Karapaks shell

2025-10-01

Overview

This one is quite straight-forward, Karapaks Shell is my custom desktop environment I am runnign on my machine, written using QML/Quickshell. It's stored in my NixOS configuration flake direcotry in my repository, hence no links for now, till I get around sorting out my secrets using agenix. I aim for this DE to be relatively simple, consisting of a top bar, a general system dashboard, an application runner and a notifications deamon. I am aiming for a brutalist-style, high-contrast theme, I was inspired by the different UIs in the BattleZone game I used to play in my childhood. It also looks quite cool in a light white-black configuration, making it look like an e-ink screen.

Current state

A lot of me DE is already setup, you can see most of the stuff on the screenshots below. Below you can also find descriptions for what the current state of the work is and what features I have planned for each of the elements.

Fig.1 - Just the top bar


Fig.2 - Dashboard


Fig.3 - Application launcher


Panel bar

I don't like crowded bars, so I'm keeping the widgets here minimal with simply a clock, a dashboard launcher button disguised as the system logo and the workspaces indicator.

Dashboard

This is supposed to be a dashboard containing a lot of useful information with panels to control features such as the bluetooth adapter, network, VPN and so on. Some widgets such as the workspace tracker are added purely for looks, but in general the dashboard prioritizes functionality. I have already added most of the widgets I really wanted, but there is still a lot of empty space I need to fill out, pending widget ideas.

Application runner

It's just a simple application runner with a search bar, nothing special. The feature I want to add and already made preparations for is launching an application using any of my system-wide development shells defined in my system flake.

Notifications deamon

This is the only part of DE that I haven't started yet. I have the logic that fetched the notifications, but the code spawning the notification windows is still waiting to be written.