6.1 KiB
Fiw-Gentoo-Dots
My Gentoo setup, ready to make home feel like home again.
KDE & apps · Packages · Setup
Overview
A personal Gentoo rice and restoration kit: my Plasma styling, current shortcuts, package lists and the app preferences I use every day. Built mainly for my own devices, with deliberate updates and a preview before anything is applied.
- KDE first: colours, fonts, cursor, window styling and current keybinds.
- Pick what you want: package sections and individually optional app configs.
- Portable terminals: Fish, Kitty and Neovim work across compositors.
- Binaries preferred: a small source list, with a choice before extra builds.
- Keep your edits: conflict prompts, backups and
.newproposals on updates.
Work in progress: configuration restoration and the TUI are ready for review. Package installation needs a supervised first run on a fresh Gentoo system. The existing installation has not been changed by creating this repo.
Start
git clone https://git.fiwlabs.dev/fiwdev/Fiw-Gentoo-Dots.git
cd Fiw-Gentoo-Dots
./install
The Bubble Tea interface offers a preset, package sections, individual app
configs, kernel/bootloader choices, extras, and a final preview. Enter at the
preview saves a selection without applying it. a restores configs; i
starts the package installation workflow with sudo. Go 1.24+ builds the TUI;
Python 3.11+ runs the backend. Go dependencies are recorded in go.mod/go.sum.
For a preview without building the TUI:
./install --plan --profile stock
./install --plan --profile fiw-ryzen
See setup for installation steps and draft limitations.
Presets
| Preset | Build settings | Kernel |
|---|---|---|
| Stock | Portable compiler settings; binary packages preferred | Generic Gentoo binary kernel |
| Fiw's Ryzen | Current Ryzen 9900X/Zen 5 tuning and NVIDIA configuration | Tested custom kernel plus generic binary fallback |
Both deliberately compile Fastfetch, jq and zip. Custom kernels and their
matching external modules compile when selected. Other packages prefer
Portage binaries or upstream -bin packages. Additional source builds
require a compile-or-skip choice, with compilation recommended; skipped
dependencies also cause dependent requested applications to be skipped.
The custom kernel snapshot currently targets 7.2.8 with the tested CachyOS 7.2.7-1 patch. Refresh it explicitly when updating the snapshot.
Package sections
| List | Contents |
|---|---|
| kde | Plasma, Plasma Login Manager, desktop components and supporting fonts |
| fiw-apps | Everyday apps including Dolphin, Ark, Gwenview and Spectacle |
| cli | Shell, terminal utilities and FFmpeg |
| dev | Languages and development tools |
| gaming | Steam, Proton, Prism, MangoHud and r2modman; Sober is in flatpaks/gaming.list |
| system | System utilities; the selected kernels are added by the installer |
| fiw-tools | OpenDeck and Music Presence; FiwNode and Apdatifier packaging is pending |
| tidewm | Optional compositor and supporting utilities |
Filelight, NVIDIA drivers and Btrfs tools are separate extras. Ext4 does not require Btrfs tools. LocalSend is an optional Flatpak in the apps section. Limine and GRUB are optional alternatives; retaining the current loader is the default. Kernel choice is independent of bootloader choice.
Configs
Every config is independently selectable. KDE appearance covers colours, fonts, cursor, window decorations and Dolphin styling. Panels, widgets and wallpapers are excluded. All portable current shortcut assignments, including disabled defaults, are captured with their launchers and helpers; unused machine-specific activity IDs are omitted.
Fish, Kitty and Neovim are usable without KDE or KWin. Fastfetch keeps the tree layout and purple colours with the built-in Gentoo logo. MangoHud and Vesktop preferences are included; browser profiles, chat sessions and account data are excluded. App autostart is a separate optional selection.
Spotify is stock by default. The existing customization scripts remain an explicit optional step. Firefox-Privacy is also optional.
Existing differences prompt apply-or-keep and get backups when replaced.
Updates leave locally edited configs intact and write the proposal to .new.
KConfig patches preserve unrelated keys and groups; JSON patches preserve
unrelated preferences and login data already on the target device.
Project layout
cmd/dots/ Bubble Tea selection interface
configs/ Optional KDE and app configs
packages/ Categorized Portage package lists
presets/ Stock and Fiw's Ryzen defaults
portage/ Build settings and binary preferences
overlay/ Selected additional packages
optional/ Kernel, boot and app helpers
flatpaks/ Separate optional Flatpak lists
docs/ Setup, decisions and asset credits
Maintenance
python3 tools/capture.py # recapture only the explicit allowlist
python3 tools/check-private.py
python3 -m unittest discover -s tests
go test ./...
Review captures before committing. local/ and built binaries are ignored.
This repo starts with fresh history. Third-party theme/cursor assets retain
their licence notices; overlay ebuilds retain their original notices.
License
Original code and configuration contributions are licensed under MIT. Bundled third-party assets, fonts, patches and ebuilds keep their own licences and attribution; see asset credits.