THALLIUM 81
The haute-horlogerie Linux distribution. Engineered on Debian 13 with hardware-accelerated Hyprland tiling, Quickshell reactive telemetry, peer-to-peer mobile continuity, and a trust-ranked software store.
Engineered from hardware up.
Zero compromises.
Every layer in Thallium 81 is purpose-built. We stripped legacy X11 scaffolding and replaced generic desktop environments with an ultra-light, reactive pipeline combining Hyprland and Quickshell.
Hyprland Wayland Core
Tiling compositor tuned for Thallium: bespoke keybinds, tearing support for games, per-monitor scaling and VRR.
- Scanout: Direct DRI3 / Vulkan
- Curve:
snap(.05,.9,.1,1) - Plugins: hyprexpo workspace overview
Quickshell Desktop Shell
Every surface you touch is one QML shell: top bar, dock, launcher, control centre, dashboard, notifications, OSD and polkit prompts.
- Bar: Workspaces, tray, system stats
- Dock: App grid, window picker, previews
- Launcher: Fuzzy app + file search
Control Centre & Dashboard
Sliding panels for audio, network, Bluetooth and brightness, plus a dash with calendar, weather and a live OTA update drawer.
- Tiles: Segmented sliders, toggles
- Dash: Calendar, weather, updates
- OSD: Volume, brightness, turbo blast
Thallium Store
One catalog across apt, Flathub, GitHub releases and AppImage, ranked by trust. A Rust backend drives installs directly through polkit.
- Frontends: Quickshell · Qt 6 · Web
- Trust: Sandboxed / verified tagging
- Cache: On-disk icons + metadata
Thallium Connect
Phone and desktop as one machine over self-owned TLS. Three planes: BLE control, Wi-Fi data, and native D-Bus/PipeWire integration.
- Daemon: thalliumd (Rust, tokio)
- App: TLC — KDE Connect fork
- Account: None. Ever.
Thallium Files IN DEVELOPMENT
Qt/QML file manager on a Rust backend — eight crates covering a VFS layer, change-batching watcher, task scheduler and reducer-based browser state.
- Bridge: cxx-qt to the QML frontend
- Tasks: Copy / move / delete / trash
- Remotes: rclone-backed, from sidebar
Thallium Settings
A Quickshell settings surface built from the same token set as the rest of the OS — HUD cards, metric bars, sliders and action tiles.
- Theme: 7 palettes, live switch
- Wallpaper: Writes back to the shell
- Standby: Grid, gauges, quote, weather
AC-Aware Power Policy
Governors, GPU clocks, refresh rate and polling all scale on power state. Plug in and the machine changes character.
- AC: EPP performance, max VRR
- Battery: EPP power, polling capped
- Thermals: Hysteresis fan curve
Apple-Continuity class.
No cloud. No account. Ever.
TLC on Android and the thalliumd daemon on the desktop are two halves of one machine. Files, notifications, media, SMS, remote input, screen mirroring, phone-as-webcam, proximity unlock and tethering — device to device over TLS you own.
One query. Every source.
Ranked by trust, not by luck.
Search once and apt, Flathub, GitHub releases and AppImage all answer. Every channel an app ships on is shown side by side with the safest option recommended, and the backend runs the install itself through polkit. Three interchangeable frontends sit on one Rust core.
Built for Thallium.
Not locked to it.
A store that only runs under its own desktop cannot be installed on a plain Debian box to get that desktop. So the Store ships three interchangeable frontends over one Rust backend, and the file manager is a standalone Qt app on its own crate workspace. Both install on any Debian-based system.
Quickshell
The frontend Thallium 81 ships. Assumes the Thallium desktop is present and renders ui/shell.qml inside the running shell.
mainNative Qt 6
A small C++ host that embeds the same ui/shell.qml, exposes desktop theme icons and bridges QML to the backend's Unix socket. Same file, different host.
native/qt6Web
Binds an ephemeral port on loopback, mints a per-session UUID every request must present as x-thallium-token, serves assets compiled into the binary, and exits once idle.
compat/no-quickshell$THALLIUM_STORE_NATIVE→
~/.local/libexec/→
/usr/libexec/→
target/native/→
--web
The thallium-store wrapper walks this list and falls back to the web client when the native binary is missing, so the Store always starts.
sudo apt install cmake g++ qt6-base-dev qt6-declarative-dev \
qml6-module-qtqml qml6-module-qtquick \
qml6-module-qtquick-controls qml6-module-qtquick-layouts \
qml6-module-qtquick-shapes qt6-qpa-plugins
./scripts/build-native
# -> target/native/thallium-store-native
./scripts/build-deb
sudo apt install ./dist/thallium-store_*.deb
# no packaging, user prefix only:
./scripts/install-local
native/qt6 and compat/no-quickshell both fork at 1a249b1 and sit behind main. Their instructions predate the un-vendoring of UNI. Rebase before shipping either.
Thallium Files IN DEVELOPMENT
A Qt/QML file manager on a Rust backend, driven through a cxx-qt bridge. Not an ISO default — it installs on any Debian box independently of the desktop. Eight crates, exercised end to end by a real integration test over a temporary directory.
cargo run -p thallium-backend --features qt
# headless, backend crates only
cargo check --workspace
cargo test --workspace
- Copy handles regular files only. Delete recurses; copy does not.
- Remote services need
rclone; remotes are added from the sidebar. Without it the browser is local-only. - Remotes have no trash, links or mode bits.
- Trashing depends on a reachable XDG trash directory.
- The watcher's reporter is a stub, so refresh is explicit rather than live.
- Video thumbnails need
ffmpegthumbnailer; SVGs are not thumbnailed and keep their type icon.
The whole desktop.
Every surface, one language.
Bar, dock, launcher, control centre, dashboard, sidebar panels, notifications, greeter and standby — all drawn from the same token set. Pick a surface to inspect it.
Top Bar
Workspace indicators, focused window title, system tray and live stats.
Black Everforest.
Calm, sharp, moss-lit ergonomics.
Click any palette variant below to test-drive real-time CSS variable recoloring across the entire website viewport.
Minimal footprint.
Maximum hardware yield.
Designed to fly on high-end desktop rigs and breath new life into ultrabooks and ThinkPads.
| SUBSYSTEM | MINIMUM REQUIREMENTS | RECOMMENDED FOR VRR / GAMING |
|---|---|---|
| CPU ARCHITECTURE | 64-bit x86_64 Dual Core (Intel Core 4th Gen+ / AMD FX+) | 64-bit AMD Ryzen 5000+ or Intel 12th Gen+ |
| MEMORY (RAM) | 2.0 GB RAM (Zswap active) | 16.0 GB+ DDR4/DDR5 Dual Channel |
| GRAPHICS / GPU | Intel HD Graphics 4000 / AMD Radeon GCN / Vulkan 1.1 | AMD Radeon RX 6000+ or NVIDIA RTX (Proprietary/Nouveau DRM) |
| STORAGE | 16 GB SATA SSD | 64 GB+ NVMe PCIe Gen4 SSD |
| DISPLAY PROTOCOL | Wayland DRM direct (HDMI / DisplayPort / eDP) | 144Hz+ DisplayPort VRR / Adaptive-Sync |
Not ready yet.
v0.6.2-B, internal.
Thallium 81 is at internal build v0.6.2-B and is not publicly downloadable yet. When the first ISO is cut it will be signed, checksummed and listed here. The flash instructions below are what the process will look like.
sudo dd if=thallium-81-amd64.iso of=/dev/sdX bs=4M status=progress oflag=sync
Simply copy thallium-81-amd64.iso onto any standard Ventoy multi-boot USB drive.
Includes automated Btrfs subvolumes, Zswap configuration, and optional proprietary NVIDIA driver injection.