uses
Machine#
A single desktop that has to handle containers, emulators and builds running at the same time.
- CPU: AMD Ryzen 7 5700X, 8 cores and 16 threads.
- GPU: NVIDIA GeForce RTX 4060, on the proprietary RPM Fusion driver (
akmod-nvidia), signed so it works with Secure Boot on. - RAM: 24 GB of DDR4 at 3200 MHz.
- Storage: two NVMe SSDs, a 1 TB Kingston NV2 and a 128 GB one.
Peripherals#
- Keyboard: X85 Pro with XDA-profile keycaps, flat and uniform, between low and medium height.
- Mouse: ATK A9 Plus.
- RGB: all the lighting runs through OpenRGB, so I don't need each vendor's software. And it stays plain white.
System#
- Operating system: Fedora Silverblue 43. The base is immutable and updated by
rpm-ostree: every update is a new image, and if something breaks I just pick the previous one at boot. - Host packages: only what doesn't work well inside a container is layered on top of the image, like the NVIDIA driver, Docker,
git,ghandearlyoom, which kills the heaviest process before memory runs out and the machine freezes. - Desktop apps: all Flatpaks from Flathub, with permissions tuned in Flatseal.
- Desktop environment: GNOME 49, in dark mode.
- GNOME extensions: Dash to Dock, Search Light (app search in the middle of the screen), Vertical Workspaces, Clipboard History and Caffeine. I also run the Compiz magic lamp and Burn My Windows with the old TV effect: each window starts as a horizontal line and opens up vertically, like a CRT warming up. They add nothing, but they never get old.
Terminal#
- Emulator: Ptyxis, Fedora's default terminal. It knows about Toolbx containers, so each tab opens in the right environment. AdwaitaMono Nerd Font with the Darkside palette.
- Shell: Bash with Oh My Posh. My theme (
oh-my-posh-toolbx) shows on the prompt whether the shell is on the host or inside a Toolbx container. - Editors: Nano for quick config edits and the Vim that ships with the system for everything else.
Development#
Since Silverblue's root is read-only, no project runtime is installed on the system image.
- Toolbx: one Toolbx container per stack, all from the
fedora-toolboximage:java, with OpenJDK 21, andcsharp, with the .NET 10 SDK. Whatever I install or break in there never touches the host. - Node.js and Python: Node through
nvmand Python withuv, both in my home folder, outside the image. - Local services: each project has its own Docker Compose file, with PostgreSQL, Redis, Mailhog to catch test emails and even a Minecraft server (
itzg/minecraft-server) to test PremiumUUID. Podman runs the Toolbx containers. - Editor: VS Code, dark theme with the Material Icon Theme. The extensions that never leave: GitLens, Prettier, the Java pack, Pylance, PlatformIO for microcontrollers and Markdown Mermaid, which I use to review the blog's diagrams.
- APIs and databases: Bruno for testing APIs, with collections stored as files versioned next to the code, and DBeaver for databases.
- Mobile: Android Studio, for the Android SDK and emulator.
Daily apps#
- Browser: Brave, for its built-in tracker blocking and Chromium DevTools.
- Music: Spotify, nearly always playing. It feeds the home page widget and Tux's headphones.
- Screen OCR: Grabtext, an open-source Python utility I built (with Flameshot, Tesseract and OpenCV) to copy the text from any region of the screen by pressing
Insert. - Documents: ONLYOFFICE.
- Images: Pinta, for quick edits.
- VPN: Proton VPN.