Host: jasonbk-fedora (cutover)
Host cutover (matrix column) — part of #36 · order 6 of 7 · verdict: 🔴 partial-blocked · standalone HM (Fedora)
Hardest standalone box: GUI + nixGL + stylix + targets.genericLinux. Imports modules/my/home-manager.nix → home.packages (single user, my.<tool> = system scope); login-shell/env wiring (and targets.genericLinux / nixGL) stays manual. Do after the standalone workflow (work-devserver) and the GUI/stylix patterns (macs) are proven.
Modules to land
Foundation: hand-rolled wrapper scaffold & conventions #37 wrapper scaffold
Foundation: stylix per-app theming without home-manager #38 stylix — manual here (no system stylix to feed the auto per-package theme; carry only nvf scheme + claude theme)
Foundation: standalone activation story (work-devserver, fedora) #39 standalone activation
Module: git / jujutsu / gh wrappers #41 git / jj / gh — enable my.{git,jujutsu,gh} and set settings
Module: shell stack (fish/nushell/starship/direnv/bash/zsh) #42 shells (bash→fish exec, hand-written) — enable my.{fish,nushell,direnv,starship}
Module: nvf (neovim) standalone builder #43 nvf — set specialArgs.neovimConfiguration = inputs.nvf-nixos.lib.neovimConfiguration in modules/flake/home/default.nix; enable my.nvf
Module: ghostty wrappers #44 ghostty (via nixGL wrap) — enable my.ghostty
Module: ssh + ssh-agent-switcher + 1Password #46 ssh + 1Password GUI/CLI
Module: misc & host-specific (zmx/weechat/helium/…) #50 helium / fd / ripgrep — enable my.{helium,fd,rg} (note: fd/rg are now enable-gated, set them explicitly)
Blockers (TODO: confirm each on-box)
Everything is disabled by default; opt in per my.<tool> and set its settings.
targets.genericLinux is HM-only and load-bearing : it injects NIX_PROFILES/XDG_DATA_DIRS so GNOME sees wrapped GUI apps + their .desktop/D-Bus activation. Must be set manually (Foundation: standalone activation story (work-devserver, fedora) #39 ).
GUI apps use the existing nixGLWrap symlinkJoin helper but lose HM's desktop/session-var plumbing.
helium External Extensions JSON at fixed ~/.config/net.imput.helium/... → managed-file/symlink.
1Password autostart .desktop → ~/.config/autostart managed file.
~/.ssh/config must be a real 0600 file (Fedora OpenSSH safe_path rejects the store), TODO home-manager#322.
Cutover
Verify
Done when
fedora runs off my.* wrappers (home.packages) with GUI + GNOME integration intact and HM removed (accepting the documented partial/manual bits).
Host: jasonbk-fedora (cutover)
Host cutover (matrix column) — part of #36 · order 6 of 7 · verdict: 🔴 partial-blocked · standalone HM (Fedora)
Hardest standalone box: GUI + nixGL + stylix +
targets.genericLinux. Importsmodules/my/home-manager.nix→home.packages(single user,my.<tool>= system scope); login-shell/env wiring (andtargets.genericLinux/ nixGL) stays manual. Do after the standalone workflow (work-devserver) and the GUI/stylix patterns (macs) are proven.Modules to land
theme; carry only nvf scheme + claude theme)my.{git,jujutsu,gh}and setsettingsmy.{fish,nushell,direnv,starship}specialArgs.neovimConfiguration = inputs.nvf-nixos.lib.neovimConfigurationinmodules/flake/home/default.nix; enablemy.nvfmy.ghosttymy.{helium,fd,rg}(note: fd/rg are now enable-gated, set them explicitly)Blockers (TODO: confirm each on-box)
my.<tool>and set its settings.targets.genericLinuxis HM-only and load-bearing: it injectsNIX_PROFILES/XDG_DATA_DIRSso GNOME sees wrapped GUI apps + their.desktop/D-Bus activation. Must be set manually (Foundation: standalone activation story (work-devserver, fedora) #39).nixGLWrapsymlinkJoinhelper but lose HM's desktop/session-var plumbing.~/.config/net.imput.helium/...→ managed-file/symlink..desktop→~/.config/autostartmanaged file.~/.ssh/configmust be a real0600file (Fedora OpenSSHsafe_pathrejects the store),TODO home-manager#322.Cutover
flake.homeConfigurations."jasonbk@jasonbk-fedora-MZ0319NF"frommodules/flake/home-manager.nixand retire the host dir.Verify
home.packages) + nixGL GUI apps launch; GNOME sees them; desktop integration worksDone when
fedora runs off
my.*wrappers (home.packages) with GUI + GNOME integration intact and HM removed (accepting the documented partial/manual bits).