Part of #197 (remove home-manager). Atomic PR 7 of 7 — TEARDOWN. Do last.
⚠️ Depends on PRs 1–6 being merged. This PR removes home-manager entirely; it must only be opened/merged once every managed setting (mpd/mpdris2, hyprlock+xdg.mime, hypridle, darwin syncthing, darwin .hushlogin+bg alias, .prettierrc) has been migrated and merged to main. Branch this off an up-to-date main.
Remove
modules/home/ directory — delete it entirely: default.nix, common.nix, linux.nix, leod.nix, hypridle.nix, darwin.nix (and anything else under it). By this point each should be empty of still-needed settings; double-check nothing live remains before deleting.
- The three
home-manager.users.soft = … / standalone wirings:
modules/nixos-workstation.nix:187 — home-manager.users.soft = self.homeModules.linux;
modules/hosts/leod/configuration.nix:29 — home-manager.users.soft = self.homeModules.leod;
modules/hosts/aaron/configuration.nix:231 — home-manager.users.soft = self.homeModules.darwin;
- the standalone
homeConfigurations in modules/home/default.nix (deleted with the dir).
- The
home-manager.{nixos,darwin}Modules.home-manager imports from the 3 host files:
modules/hosts/tower/default.nix (home-manager.nixosModules.home-manager, and the home-manager input inherit)
modules/hosts/leod/default.nix (home-manager.nixosModules.home-manager)
modules/hosts/aaron/default.nix (home-manager.darwinModules.home-manager)
- The
home-manager package from modules/workstation.nix:85 (systemPackages list) and the home-manager = { useGlobalPkgs; useUserPackages; } block at modules/workstation.nix:147.
- The flake input + flakeModule in
flake.nix: the home-manager input (flake.nix:32), the inputs.home-manager.flakeModules.home-manager import (flake.nix:80), and the modules/home/* entries in the flake-parts imports list.
- Run
nix flake update home-manager-free: after removing the input, run nix flake lock / let the lockfile drop the home-manager nodes.
Verify (all must pass)
nix flake check
nix build .#nixosConfigurations.tower.config.system.build.toplevel
nix build .#nixosConfigurations.leod.config.system.build.toplevel
nix build .#darwinConfigurations.aaron.system
grep -rn "home-manager\|homeModules\|homeConfigurations" --include="*.nix" . returns nothing (outside flake.lock, which should also be clean after relock).
- Also update
CLAUDE.md if it references home-manager as present (the architecture note says "Home-manager should be a last resort" — adjust to reflect it's now removed).
Closing
Use Closes #197 in the PR body so the epic auto-closes on merge.
Scope guard
Pure teardown — no behavior changes. If any build fails because a setting wasn't actually migrated in PRs 1–6, STOP and flag it rather than re-implementing the migration here.
Part of #197 (remove home-manager). Atomic PR 7 of 7 — TEARDOWN. Do last.
main. Branch this off an up-to-datemain.Remove
modules/home/directory — delete it entirely:default.nix,common.nix,linux.nix,leod.nix,hypridle.nix,darwin.nix(and anything else under it). By this point each should be empty of still-needed settings; double-check nothing live remains before deleting.home-manager.users.soft = …/ standalone wirings:modules/nixos-workstation.nix:187—home-manager.users.soft = self.homeModules.linux;modules/hosts/leod/configuration.nix:29—home-manager.users.soft = self.homeModules.leod;modules/hosts/aaron/configuration.nix:231—home-manager.users.soft = self.homeModules.darwin;homeConfigurationsinmodules/home/default.nix(deleted with the dir).home-manager.{nixos,darwin}Modules.home-managerimports from the 3 host files:modules/hosts/tower/default.nix(home-manager.nixosModules.home-manager, and thehome-managerinputinherit)modules/hosts/leod/default.nix(home-manager.nixosModules.home-manager)modules/hosts/aaron/default.nix(home-manager.darwinModules.home-manager)home-managerpackage frommodules/workstation.nix:85(systemPackages list) and thehome-manager = { useGlobalPkgs; useUserPackages; }block atmodules/workstation.nix:147.flake.nix: thehome-managerinput (flake.nix:32), theinputs.home-manager.flakeModules.home-managerimport (flake.nix:80), and themodules/home/*entries in the flake-partsimportslist.nix flake update home-manager-free: after removing the input, runnix flake lock/ let the lockfile drop thehome-managernodes.Verify (all must pass)
nix flake checknix build .#nixosConfigurations.tower.config.system.build.toplevelnix build .#nixosConfigurations.leod.config.system.build.toplevelnix build .#darwinConfigurations.aaron.systemgrep -rn "home-manager\|homeModules\|homeConfigurations" --include="*.nix" .returns nothing (outsideflake.lock, which should also be clean after relock).CLAUDE.mdif it references home-manager as present (the architecture note says "Home-manager should be a last resort" — adjust to reflect it's now removed).Closing
Use
Closes #197in the PR body so the epic auto-closes on merge.Scope guard
Pure teardown — no behavior changes. If any build fails because a setting wasn't actually migrated in PRs 1–6, STOP and flag it rather than re-implementing the migration here.