-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Description
Are you following the right branch?
- My Nixpkgs and Home Manager versions are in sync
Is there an existing issue for this?
- I have searched the existing issues
Issue description
System Information
- OS: macOS Sequoia 15.7.2 (Darwin 24.6.0)
- Architecture: x86_64 (Intel Mac)
- Host: MacBook Pro (15-inch, 2018/2019)
- Nix: 2.31.2 (multi-user install)
- Sandbox: disabled
- Nixpkgs:
nixpkgs-25.11-darwin - Nix-Darwin:
nix-darwin-25.11 - Home Manager:
release-25.11
Description
When running Home Manager on macOS Sequoia, activation consistently fails during the
checkAppManagementPermission step only when home.stateVersion is set to "25.11".
The same configuration succeeds without issues when home.stateVersion is set to "23.11",
even though all flake inputs (nixpkgs, nix-darwin, home-manager) are already on their respective 25.11 branches.
This appears to be related to macOS TCC (App Management) integration during Home Manager activation.
Observed Behavior
During darwin-rebuild switch, the system build completes successfully, but activation fails at the Home Manager stage.
Relevant output
Activating home-manager configuration for <username>
Starting Home Manager activation
Activating checkAppManagementPermission
error: permission denied when trying to update apps, aborting activation
home-manager requires permission to update your apps, please accept the notification
and grant the permission for your terminal emulator in System Settings.
If you did not get a notification, you can navigate to
System Settings > Privacy & Security > App Management.Steps to Reproduce
-
Use macOS Sequoia (15.7.2 in my case)
-
Set flake inputs to
- nixpkgs-25.11-darwin
- nix-darwin-25.11
- home-manager/release-25.11
-
Configure Home Manager with
home.stateVersion = "25.11";- Run
darwin-rebuild switch --flake .- Activation fails at checkAppManagementPermission
Expected Behavior
Home Manager activation should complete successfully with home.stateVersion = "25.11",
as it does with "23.11" under the same environment and inputs.
What Works
-
Setting
home.stateVersion = "23.11"
→ Activation succeeds -
The issue is independent of the terminal emulator
- Apple Terminal
- WezTerm
(both tested and show the same behavior)
What I Have Tried
1. Granting App Management permission
- System Settings → Privacy & Security → App Management
- Enabled permission for
- Apple Terminal
- WezTerm
The permission toggle appears enabled, but activation still fails on subsequent builds.
2. Clean rebuilds and garbage collection
sudo nix-collect-garbage -d
nix-store --gc
darwin-rebuild switch --flake . --show-traceNo change in behavior.
3. Verified no unsupported or removed options are used
Confirmed that none of the following options are present anywhere in the configuration
grep -R "enableAppManagement" .
grep -R "checkAppManagementPermission" .Only historical references exist in .git/logs.
4. Configuration minimization
- Homebrew and masApps integration removed
- No explicit App Management–related options enabled
- Issue persists as long as home.stateVersion = "25.11"
Notes / Hypothesis (Non-conclusive)
- The failure occurs during activation, not evaluation
- It seems related to how Home Manager performs App Management permission checks on macOS
- The behavior changes strictly with home.stateVersion
- It is unclear whether this is due to
- a change in Home Manager’s activation logic for 25.11
- stricter TCC behavior on macOS Sequoia
- or an interaction between the two
I am reporting this mainly as an observed regression / behavior change and would appreciate any guidance on whether this is expected, a known issue, or something that should be adjusted in configuration or Home Manager itself.
Minimal Reproducer (Excerpt)
home-manager.users."<username>" = { pkgs, ... }: {
home.username = "<username>";
home.homeDirectory = "/Users/<username>";
# Works:
# home.stateVersion = "23.11";
# Fails:
home.stateVersion = "25.11";
};Additional Information
- This occurs on an Intel-based Mac (x86_64), not Apple Silicon
- Nix is installed in multi-user daemon mode
- Sandbox is disabled
Closing
If additional logs (e.g. TCC-related system logs) or further reduction would be helpful,
I am happy to provide them.
Maintainer CC
No response
System information
- system: `"x86_64-darwin"`
- host os: `Darwin 24.6.0, macOS 15.7.2`
- multi-user?: `yes`
- sandbox: `no`
- version: `nix-env (Nix) 2.31.2`
- channels(root): `"nixpkgs"`
- nixpkgs: `/nix/store/fc1kp3qryanah6nwbj7zpjrim9p9c0p8-source`