The OS-native layer for Fedora. Core (zsh/tmux/nvim/git) is vendored under
core/ from dotfiles-core; this repo adds only what is
genuinely Fedora — dnf, RPM Fusion, Flathub, Wayland clipboard, SELinux helpers.
This repo is also the template the other distro repos are stamped from: swap the package manager and clipboard backend, keep the structure.
git clone <you>/dotfiles-Fedora ~/dotfiles-Fedora
cd ~/dotfiles-Fedora
# one-time: vendor Core (skip if the repo already contains core/)
git subtree add --prefix=core <you>/dotfiles-core main --squash
./bootstrap.sh
exec zshFlags: --links-only (re-link without touching dnf), --no-flatpak.
bootstrap.sh dnf provision + Core/OS symlink wiring (idempotent)
install/packages.txt dnf package list (modern CLI stack)
os/fedora.zsh OS-native shell layer -> symlinked to ~/.config/zsh/os.zsh
ssh/config hardened SSH client config -> ~/.ssh/config (keys never tracked)
core/ vendored from dotfiles-core (git subtree; do not hand-edit)
Load order in .zshrc: core/tools → core/aliases → core/functions → core/fzf → core/bindings → core/plugins → core/op → os/fedora → local.
- dnf5 is the default engine since Fedora 41; the
dnfcommand is unchanged.dnf-undorolls back the last transaction — useful after a bad upgrade. - RPM Fusion (free + nonfree) is enabled for codecs and extra packages.
- Clipboard is Wayland-first (
wl-copy/wl-paste), shimmed topbcopy/pbpasteso your Mac muscle memory carries over; X11xclipfallback for SSH. - SELinux is enforcing by default.
se-restore,se-denials, andse-whyhelpers are included — worth knowing well, since SELinux context issues are a common real-world troubleshooting and privilege-escalation surface. - fd is named
fdhere (notfdfindas on Debian);core/zsh/tools.zshresolves the name automatically, so nothing breaks across distros. - starship / atuin / yazi aren't reliably in Fedora repos, so
bootstrap.shinstalls them from upstream to match the other distro repos exactly.