Hi everyone,
I wanted to share my Gentoo setup and start a conversation about how far you take personalisation on a machine you use every day. Mine has gradually become a collection of small tools, desktop integrations, and system choices that fit my habits. I would love to hear what you have built, what you would approach differently, and where you draw the line between useful customisation and unnecessary complexity.
The hardware is a Minisforum UM880 Plus with a Ryzen 7 8845HS, integrated Radeon 780M graphics, 32 GB of DDR5, and a 1 TB NVMe drive. I use two monitors. The software foundation is Gentoo amd64, OpenRC, Btrfs, and Hyprland on Wayland.
My goal has been to make everyday tasks feel natural while keeping control over the system underneath. I use this machine for development, local AI tools, research, and personal projects. Having everything live in one environment has encouraged me to connect things that would otherwise stay separate.
The kernel side
I maintain a kernel configuration tailored to the hardware and workloads of this machine. Module signature enforcement is enabled, and I have checked the signatures of the installed module set. I also keep additional modules archived separately, together with the matching build materials needed to rebuild modules against that kernel.
That setup interests me because it makes the relationship between the running kernel, its modules, and the build environment explicit. It also creates responsibilities: I need to preserve the relevant files, document my choices, and avoid assuming that a successful build proves everything works.
I keep previous kernels and a gentoo-dist fallback available. There are Btrfs snapshots and documented recovery steps as well. I have tested booting and repeated suspend and resume cycles, although I would not present those checks as exhaustive validation.
I am curious how other Gentoo users manage this balance. Do you maintain a narrow kernel configuration, use distribution kernels, or keep something broad enough that new hardware usually works immediately? Have you found that the maintenance cost changes much over time?
The desktop side
This is probably the part I enjoy most. Hyprland gives me a starting point, and I have added behaviour that matches how I move between tasks.
For example, I have custom minimise and restore handling that tracks windows, workspaces, and monitors. It addresses a small annoyance, but small improvements become noticeable when you use them throughout the day.
Waybar acts as a practical control panel, with system information and controls for tools I actually use. It also shows an activity indicator for Ollama. That indicator is a convenience rather than precise instrumentation, but it helps me see when a local request appears to be running.
One tool I use is called ClipForge. I select text in an application, trigger a shortcut, and choose whether to translate it into English or Italian, or ask for an explanation through local Ollama. The result appears in a scrollable Rofi window and is copied to the clipboard.
A surprisingly important detail was handling the selected text properly instead of accidentally processing something stale from the clipboard. These little interaction details are where a tool starts feeling comfortable to use.
I also have a custom notification hub written in C, with SQLite storage and browser and desktop integration. Alongside that is a Rofi and SQLite calendar with reminders integrated into the desktop session.
Cloud storage is accessible through Thunar using rclone mounts. Nothing especially exotic there, but it contributes to the same goal: keeping common actions within the environment where I am already working.
Applications and AI assistance
Beyond the desktop, I use the machine for personal software projects. One is an options pricing application with a React and TypeScript interface, a Node backend, and a C calculation core. Another is a project for organising and evaluating trading ideas.
I mention these because they influence what I need from the workstation. The system is shaped around actual applications and routines, and those applications sometimes reveal which desktop features are missing.
I should also be transparent about the development process: AI assistance has played a substantial role in creating the custom tooling. My involvement has been defining the behaviour I want, integrating components, testing them on the machine, and iterating when something does not behave as expected.
I would be interested in discussing that aspect too. For people using AI while customising Linux, how do you review unfamiliar code and make sure you can maintain what you end up running? What documentation or testing habits have helped most?
Where I would like feedback
I am happy with how personal the workstation feels, but I know that adding features also adds things to understand and maintain. A setup can be convenient for its owner while being difficult for anyone else to reproduce.
How do you decide when a custom script deserves to become a proper package? Do you keep your desktop tools in an overlay, a dotfiles repository, or separate projects?
What has made your own setup easier to recover or move to another machine? Have you ever removed a clever custom feature because a simpler solution turned out to be better?
I am especially interested in the boring details: what breaks after updates, which logs you check first, and how you keep local modifications understandable when you revisit them months later.
And, more generally, what is the one integration on your Gentoo machine that you would really miss on a fresh installation?
I would enjoy hearing about both elaborate setups and deliberately simple ones. Different approaches solve different problems, and that is part of what makes these discussions useful.
Thanks for reading. I am happy to go into more detail about any part of the setup, and constructive criticism is welcome.