Reproducible setup documentation for one dual-boot desktop workstation: Fedora Workstation 44 (GNOME) as the primary development environment and Windows 11 as the secondary OS, on separate physical NVMe drives, each with its own EFI System Partition. It covers the hardware, both operating systems, shared storage, networking, the development environment, dual boot, and recovery.
This repository is a sanitized reconstruction guide for this specific machine. It is not a machine backup, a dotfiles collection, an automated provisioning system, or generic Windows/Fedora documentation. Commands are meant to be read and adapted, not pasted blindly.
flowchart TD
Mac["MacBook (SSH client)"] -->|"ssh fedora, LAN only"| Fedora
subgraph Desktop["Desktop — MSI B550 / Ryzen 7 5700X3D / RTX 5070"]
Fedora["Fedora Workstation 44 / GNOME 50<br/>XPG 512 GB NVMe<br/>independent ESP"]
Windows["Windows 11<br/>Kingston 2 TB NVMe<br/>independent ESP"]
end
Fedora --> Storage["Seagate 1 TB HDD<br/>NTFS, label STORAGE<br/>/mnt/storage"]
Windows --> Storage
- Fedora Workstation 44, GNOME Shell 50.4, Wayland session, kernel
7.1.12-200.fc44.x86_64. - AMD Ryzen 7 5700X3D, 32 GB DDR4, NVIDIA GeForce RTX 5070 on the NVIDIA open kernel modules, MSI MPG B550 Gaming Plus.
- Secure Boot enabled, SELinux enforcing,
firewalldactive. - Independent EFI: Fedora and Windows each have their own ESP on their own SSD. Either SSD can be removed without making the other OS unbootable. The firmware boot menu is the OS selector; there is no shared GRUB entry for Windows.
- Shared storage: one NTFS HDD mounted read-write on Fedora at
/mnt/storage, also used by Windows. It is a convenience boundary, not a backup. - Remote access: both OSes run an OpenSSH server, key-only, reachable only on
the trusted LAN — Fedora as
fedora.local(ssh fedora), Windows via thessh desktopalias.
- hardware/desktop.md — platform, CPU/GPU/RAM, drives, displays, health baseline
- installation/fedora-workstation.md — install media, options, first-boot steps
- installation/disk-layout.md — partitions, Btrfs subvolumes,
fstab - installation/dual-boot.md — independent-ESP strategy, install order, validation
- windows/windows.md — Windows 11 install facts, drivers, dual-boot relationship
- windows/ssh.md — OpenSSH Server, the
ssh desktopalias, LAN-only firewall - windows/recovery.md —
bcdboot/diskpart/reagentc, Boot Manager validation
- system/secure-boot.md — Secure Boot and MOK state
- system/nvidia.md — RPM Fusion NVIDIA open modules, akmods, MOK, Wayland
- system/monitors.md — dual-monitor layout and
monitors.xml - system/storage.md — NTFS
STORAGEmount,ntfs3, Windows Fast Startup - system/networking.md —
firewalldzones, mDNS, hostname - system/ssh.md —
sshdhardening and the macOS client alias
- development/shell.md — Zsh layout, Starship, CLI tools
- development/git-github.md — Git config, GitHub over SSH
- development/vscode.md — VS Code (RPM), Wayland, extensions
- development/node-pnpm.md — fnm, Node, Corepack, pnpm
- development/angular.md — Angular CLI, pnpm workflow
- development/java-maven.md — SDKMAN, Temurin 25/21, Maven
- development/docker.md — Docker Engine CE, Compose,
dockergroup - development/databases.md — client tools only, servers in Docker
- development/python.md — system Python,
venv,pipx
- desktop/gnome.md — GNOME settings, extensions, keyboard shortcuts
- security/security.md — consolidated security model
- recovery/recovery.md — Fedora/UEFI, NVIDIA, MOK, NTFS, SSH, toolchains, audio
- windows/recovery.md — Windows boot path (
bcdboot,diskpart,reagentc)
- Identify a disk by model, capacity, and a locally verified identifier before
touching partitions or EFI contents. Device names such as
/dev/nvme0n1are not stable across firmware, installers, and live media. - UUIDs and PARTUUIDs required to reproduce this machine are kept in the docs.
Private keys,
authorized_keys, MOK key material, passwords, and tokens are not.
MIT.