mirror of
https://github.com/nmasur/dotfiles
synced 2025-01-31 13:22:04 +00:00
112 lines
2.8 KiB
Nix
112 lines
2.8 KiB
Nix
|
{
|
||
|
config,
|
||
|
lib,
|
||
|
...
|
||
|
}:
|
||
|
|
||
|
let
|
||
|
cfg = config.nmasur.presets.services.settings;
|
||
|
in
|
||
|
|
||
|
{
|
||
|
|
||
|
options.nmasur.presets.services.settings.enable = lib.mkEnableOption "macOS settings";
|
||
|
|
||
|
config = lib.mkIf cfg.enable {
|
||
|
|
||
|
security.pam.enableSudoTouchIdAuth = true;
|
||
|
|
||
|
system = {
|
||
|
|
||
|
stateVersion = 5;
|
||
|
|
||
|
keyboard = {
|
||
|
remapCapsLockToControl = true;
|
||
|
enableKeyMapping = true; # Allows for skhd
|
||
|
};
|
||
|
|
||
|
defaults = {
|
||
|
NSGlobalDomain = {
|
||
|
|
||
|
# Set to dark mode
|
||
|
AppleInterfaceStyle = "Dark";
|
||
|
|
||
|
# Don't change from dark to light automatically
|
||
|
# AppleInterfaceSwitchesAutomatically = false;
|
||
|
|
||
|
# Enable full keyboard access for all controls (e.g. enable Tab in modal dialogs)
|
||
|
AppleKeyboardUIMode = 3;
|
||
|
|
||
|
# Expand save panel by default
|
||
|
NSNavPanelExpandedStateForSaveMode = true;
|
||
|
|
||
|
# Expand print panel by default
|
||
|
PMPrintingExpandedStateForPrint = true;
|
||
|
|
||
|
# Replace press-and-hold with key repeat
|
||
|
ApplePressAndHoldEnabled = false;
|
||
|
|
||
|
# Set a fast key repeat rate
|
||
|
KeyRepeat = 2;
|
||
|
|
||
|
# Shorten delay before key repeat begins
|
||
|
InitialKeyRepeat = 12;
|
||
|
|
||
|
# Disable autocorrect capitalization
|
||
|
NSAutomaticCapitalizationEnabled = false;
|
||
|
|
||
|
# Disable autocorrect smart dashes
|
||
|
NSAutomaticDashSubstitutionEnabled = false;
|
||
|
|
||
|
# Disable autocorrect adding periods
|
||
|
NSAutomaticPeriodSubstitutionEnabled = false;
|
||
|
|
||
|
# Disable autocorrect smart quotation marks
|
||
|
NSAutomaticQuoteSubstitutionEnabled = false;
|
||
|
|
||
|
# Disable autocorrect spellcheck
|
||
|
NSAutomaticSpellingCorrectionEnabled = false;
|
||
|
};
|
||
|
|
||
|
# Disable "Are you sure you want to open" dialog
|
||
|
LaunchServices.LSQuarantine = false;
|
||
|
|
||
|
# Disable trackpad tap to click
|
||
|
trackpad.Clicking = false;
|
||
|
|
||
|
# Where to save screenshots
|
||
|
screencapture.location = "~/Downloads";
|
||
|
|
||
|
CustomUserPreferences = {
|
||
|
# Disable disk image verification
|
||
|
"com.apple.frameworks.diskimages" = {
|
||
|
skip-verify = true;
|
||
|
skip-verify-locked = true;
|
||
|
skip-verify-remote = true;
|
||
|
};
|
||
|
# Require password immediately after screen saver begins
|
||
|
"com.apple.screensaver" = {
|
||
|
askForPassword = 1;
|
||
|
askForPasswordDelay = 0;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
CustomSystemPreferences = {
|
||
|
|
||
|
};
|
||
|
};
|
||
|
|
||
|
# Settings that don't have an option in nix-darwin
|
||
|
activationScripts.postActivation.text = ''
|
||
|
echo "Allow apps from anywhere"
|
||
|
SPCTL=$(spctl --status)
|
||
|
if ! [ "$SPCTL" = "assessments disabled" ]; then
|
||
|
sudo spctl --master-disable
|
||
|
fi
|
||
|
'';
|
||
|
|
||
|
};
|
||
|
|
||
|
};
|
||
|
}
|