Skip to content

deprecate home-manager (7/7): teardown — remove input, modules/home, all wiring #317

Description

@etrobert-bot

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

  1. 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.
  2. The three home-manager.users.soft = … / standalone wirings:
    • modules/nixos-workstation.nix:187home-manager.users.soft = self.homeModules.linux;
    • modules/hosts/leod/configuration.nix:29home-manager.users.soft = self.homeModules.leod;
    • modules/hosts/aaron/configuration.nix:231home-manager.users.soft = self.homeModules.darwin;
    • the standalone homeConfigurations in modules/home/default.nix (deleted with the dir).
  3. 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)
  4. The home-manager package from modules/workstation.nix:85 (systemPackages list) and the home-manager = { useGlobalPkgs; useUserPackages; } block at modules/workstation.nix:147.
  5. 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.
  6. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions