Skip to content

dotgibson/dotfiles-Gentoo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

249 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

dotgibsonCILast CommitContributorsForksStargazersIssuesMIT License


Logo

🐧 dotfiles-Gentoo

The Gentoo OS-native layer β€” Portage, USE flags, source-based, over the shared Core.
Explore the docs Β»

View Demo Β· Report Bug Β· Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. What's In This Layer
  4. Contributing
  5. License
  6. Contact

About The Project

dotfiles-Gentoo is the OS-native layer for Gentoo β€” the capstone of the Linux set, and one node in a cross-platform dotfiles system. The shared Core (zsh, tmux, Neovim, git, starship, mise) is authored once in dotfiles-core and vendored under core/ via git subtree, so a clone is self-contained. This repo adds only what is genuinely Gentoo: Portage/emerge, full category/name atoms, USE flags, and the source-build mitigations.

Gentoo is stamped from the dotfiles-Fedora template per the porting matrix β€” the most educational and most time-expensive of the set, since emerge compiles packages. The full docs live on the documentation site.

The system is three layers, each building on the one below:

Layer Lives in Owns
Core dotfiles-core β†’ vendored into every OS repo's core/ zsh, tmux, nvim, git, starship β€” identical everywhere
OS-native dotfiles-{MacBook,Windows,Fedora,Arch,openSUSE,Alpine,Gentoo} (this repo among them) package manager, clipboard, paths
Role dotfiles-Kali, dotfiles-Defense offensive / defensive tooling

Languages

No new languages β€” this layer is shell and package config over Core's language stack.

Tools

  • Gentoo
  • Portage
  • eix

(back to top)

Getting Started

Prerequisites

An existing Gentoo system and Git, run as root or with sudo/doas configured. Because emerge compiles from source, expect real build time β€” the hub write-up covers the two biggest time-savers (the binhost and rust-bin).

Installation

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

core/ is a vendored subtree and is already present in a clone β€” there is no submodule step. bootstrap.sh is idempotent: it emerges the package list (skipping and reporting any keyword-masked atom) and symlinks Core + the Gentoo layer into place. Flags: --no-sync (skip the slow emerge --sync on re-runs), --links-only (re-link without touching Portage).

(back to top)

What's In This Layer

Only what changes with the OS. The heavy lifting β€” the shell modules, editor, and prompt β€” comes from vendored Core; this repo owns the Gentoo specifics:

  • bootstrap.sh β€” emerge provision + Core/OS symlink wiring (idempotent)
  • install/packages.txt β€” Portage atoms (modern CLI stack)
  • os/gentoo.zsh β€” clipboard + package-manager aliases β†’ ~/.config/zsh/os.zsh
  • gentoo/package.use.example, gentoo/package.accept_keywords.example β€” USE-flag and keyword overrides to review and copy to /etc/portage
  • core/ β€” vendored from dotfiles-core (read-only here; edit upstream)

The things that actually bite on Gentoo β€” cutting build time (binhost + rust-bin), USE flags, keyword masking, full atoms, and living with Portage (@preserved-rebuild, dispatch-conf, gnews) β€” are written up on the hub, alongside the per-distro porting matrix:

β†’ dotfiles-Gentoo on the documentation hub

(back to top)

Contributing

This is an OS-native layer, so the contribution rule is a boundary rule:

  1. Never hand-edit core/. It is a vendored copy of dotfiles-core and is overwritten on the next sync. Fix shared config upstream in dotfiles-core, run make audit there, then make sync fans it out here.
  2. Keep changes genuinely Gentoo. If it would be identical on every distro, it belongs in Core; if it changes with the operator, it belongs in a role repo.
  3. Green the lint gate. This repo's CI runs shellcheck + bash -n / zsh -n on the repo-owned shell (the vendored core/ is excluded β€” it is gated upstream).

Bugs and ideas: open an issue.

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

Garrett Allen - @gerrrrt - garrettallen2@gmail.com - LinkedIn

Project Link: dotgibson

(back to top)

About

🐧 The Gentoo layer (Portage + USE flags) β€” source-based dotfiles over a shared zsh/nvim/tmux core. Compiled to taste, drift-free.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages