dotfiles-Gentoo

OS-native Stable

Source-based capstone. emerge + full category/name atoms + USE flags — the most educational build in the fleet.

Highlights

  • emerge from source
  • USE flags
  • full atoms
  • --no-sync re-runs

How it fits

The OS-native layer — Package manager, paths, clipboard — what changes with the OS. It builds on Core, which is vendored into its core/ directory. See the three-layer model for how the layers compose.

Getting started

git clone https://github.com/dotgibson/dotfiles-Gentoo ~/dotfiles-Gentoo
cd ~/dotfiles-Gentoo
./bootstrap.sh
exec zsh

Run as root or with sudo/doas configured. Flags: --no-sync (skip the slow emerge --sync on re-runs), --links-only.

What actually bites

  • It compiles — so cut build time two ways — The official binhost (bootstrap auto-adds --getbinpkg when binrepos.conf is configured) installs prebuilt binpkgs instead of compiling, and dev-lang/rust-bin gives you a prebuilt Rust so you skip a multi-hour toolchain compile.
  • USE flags are the whole point — They gate features at compile time — inspect with equery uses / emerge -pv, apply with emerge -auvDN --newuse @world. See gentoo/package.use.example for the mechanism.
  • Keyword masking — On a stable profile, fast-moving Rust CLIs may be ~amd64 only and emerge refuses them; bootstrap's resilient loop skips a blocked atom and tells you. Unmask via gentoo/package.accept_keywords.example. Atoms are full category/name.
  • Living with Portage — After a world update Portage often wants @preserved-rebuild and dispatch-conf; actually read eselect news (gnews) — that is how breaking changes are announced.

Read next