Code: Select all
# Enable --ask and quiet down some noisy features.
# I want these to be the defaults, really.
CLEAN_DELAY=0
EMERGE_DEFAULT_OPTS="--ask --nospinner --quiet-unmerge-warn"
Code: Select all
# Enable binary packages as a local cache
EMERGE_DEFAULT_OPTS="$EMERGE_DEFAULT_OPTS --usepkg --with-bdeps=n"
FEATURES="$FEATURES buildpkg -buildpkg-live"
Code: Select all
NPROC="4"
MAKEOPTS="-j$NPROC -l5"
CPU_FLAGS_X86="aes avx avx2 bmi1 bmi2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3" # cpuid2cpuflags 17
MARCH="znver1"
MARCH_FLAGS="-march=$MARCH" # resolve-march-native 6.0.1
VIDEO_CARDS="amdgpu"
INPUT_DEVICES="libinput synaptics"
Code: Select all
PORTDIR="/usr/portage"
DISTDIR="/usr/portage/distfiles"
PKGDIR="/usr/portage/packages"
LC_MESSAGES=C
EMERGE_DEFAULT_OPTS="$EMERGE_DEFAULT_OPTS --keep-going --with-bdeps=y --binpkg-respect-use=n --binpkg-changed-deps=n"
FEATURES="$FEATURES pkgdir-index-trusted"
BINPKG_COMPRESS="bzip2"
PORTAGE_BZIP2_COMMAND="lbzip2"
# eclass variables
NINJA_STATUS="[%p %f/%t] "
CMAKE_MAKEFILE_GENERATOR="ninja"
EGIT_CLONE_TYPE="shallow"
# https://github.com/gentoo-mirror/lto-overlay/blob/master/sys-config/ltoize/files/make.conf.lto.defines
FLAGS_OPTIM_BASE="-O3 -w"
FLAGS_OPTIM_LTO="-flto -fuse-linker-plugin"
FLAGS_OPTIM_PARALLEL="-flto=$NPROC" # --param=lto-max-streaming-parallelism=$NPROC" (deprecated, WPA stage now supports jobserver)
FLAGS_OPTIM_MORE="-fgraphite-identity -floop-nest-optimize -fdevirtualize-at-ltrans -fipa-pta -fno-semantic-interposition"
FLAGS_COMMON="$FLAGS_OPTIM_BASE $MARCH_FLAGS $FLAGS_OPTIM_LTO $FLAGS_OPTIM_PARALLEL $FLAGS_OPTIM_MORE"
RUSTFLAGS="-Copt-level=3 -Ctarget-cpu=$MARCH -Clinker-plugin-lto -Clinker=$CHOST-clang -Clink-arg=-fuse-ld=lld"
CFLAGS="$CFLAGS $FLAGS_COMMON"
CXXFLAGS="$CXXFLAGS $FLAGS_COMMON"
FCFLAGS="$FCFLAGS $FLAGS_COMMON"
FFLAGS="$FFLAGS $FLAGS_COMMON"
USE_LANGS="-cxx -perl -ruby -python -vala"
USE_CODECS="-a52 -aac -cdda -dts -mad -mp3 -mpeg -xvid -cdr -dvdr -dvd"
USE_FORMATS="-mng -tiff -webp -avif -zstd -svg -pdf"
USE_SOFTWARE="-networkmanager -systemd -gpm -cryptsetup -bluetooth -spell -sdl -btrfs -ldap -pulseaudio -pipewire -screencast"
USE_GUI="-wayland -qt5 -qt6 -gtk4" # -gui -gtk -gtk2 -gtk3 -wxwidgets # Common frontends
USE="$USE_LANGS $USE_CODECS $USE_FORMATS $USE_SOFTWARE $USE_GUI -branding -telemetry -cet dist-kernel modules-compress lto pgo vaapi io-uring v4l fontconfig vim-syntax zsh-completion"
BOOTSTRAP_USE="$BOOTSTRAP_USE -zstd -cet"
INSTALL_MASK="/etc/apparmor.d /etc/systemd /lib/systemd /usr/lib/systemd"
ACCEPT_LICENSE="-* @FREE"
L10N="ca es-ES es en-GB en-US en"
Tip for the many-USE-flag havers, try to avoid globally configuring flags that don't have a global definition in $(portageq get_repo_path / gentoo)/profiles/use.desc, as these will vary wildly between different packages, and might not do what you expect. Just use package.use for package-local flags. You can ask "quse -D" to describe a flag to you, and tell you if it's global or not. There's still a few global flags whose definition differs across packages, such as USE=sdl which is used for both sdl-as-audio-backend and sdl-as-graphical-frontend, but those are in the minority.


