Fix macOS menu bar spacing configuration to use activation scripts

- Replace CustomUserPreferences with system.activationScripts.postUserActivation
- Use defaults -currentHost write commands that actually work
- Corrected values: NSStatusItemSpacing=12, NSStatusItemSelectionPadding=6
- Commands will run during darwin-rebuild to apply host-specific preferences

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Yan Lin 2025-07-30 18:24:20 +02:00
parent 052a8d74e6
commit d661a80fa9
2 changed files with 23 additions and 19 deletions

View file

@ -1,12 +1,16 @@
{ config, pkgs, ... }:
{
system.defaults.NSGlobalDomain = {
# Menu bar spacing configuration
# NSStatusItemSpacing controls horizontal spacing between menu bar items
# NSStatusItemSelectionPadding controls padding inside selection overlay
# Optimal ratio is 1:2 (spacing:padding)
NSStatusItemSpacing = 6;
NSStatusItemSelectionPadding = 12;
};
}
# Set primary user for system preferences
system.primaryUser = "yanlin";
# Menu bar spacing configuration using activation scripts
# Uses -currentHost to write host-specific preferences
# NSStatusItemSpacing controls horizontal spacing between menu bar items
# NSStatusItemSelectionPadding controls padding inside selection overlay
system.activationScripts.postUserActivation.text = ''
echo "Setting menu bar spacing preferences..."
defaults -currentHost write -globalDomain NSStatusItemSpacing -int 12
defaults -currentHost write -globalDomain NSStatusItemSelectionPadding -int 6
'';
}