2023-10-10 23:10:58 -07:00
|
|
|
{ config, pkgs, lib, ... }:
|
2017-05-14 01:00:29 +02:00
|
|
|
|
|
|
|
{
|
2022-03-10 18:24:26 -08:00
|
|
|
system.defaults.NSGlobalDomain.AppleShowAllFiles = true;
|
2020-11-14 22:51:54 -08:00
|
|
|
system.defaults.NSGlobalDomain.AppleEnableMouseSwipeNavigateWithScrolls = false;
|
|
|
|
system.defaults.NSGlobalDomain.AppleEnableSwipeNavigateWithScrolls = false;
|
2018-01-04 11:59:50 +09:00
|
|
|
system.defaults.NSGlobalDomain.AppleFontSmoothing = 1;
|
2022-02-02 14:38:55 -08:00
|
|
|
system.defaults.NSGlobalDomain.AppleICUForce24HourTime = true;
|
2018-01-04 11:59:50 +09:00
|
|
|
system.defaults.NSGlobalDomain.AppleKeyboardUIMode = 3;
|
|
|
|
system.defaults.NSGlobalDomain.ApplePressAndHoldEnabled = true;
|
|
|
|
system.defaults.NSGlobalDomain.AppleShowAllExtensions = true;
|
|
|
|
system.defaults.NSGlobalDomain.AppleShowScrollBars = "Always";
|
2023-05-27 01:02:23 +08:00
|
|
|
system.defaults.NSGlobalDomain.AppleScrollerPagingBehavior = true;
|
2018-01-04 11:59:50 +09:00
|
|
|
system.defaults.NSGlobalDomain.NSAutomaticCapitalizationEnabled = false;
|
|
|
|
system.defaults.NSGlobalDomain.NSAutomaticDashSubstitutionEnabled = false;
|
|
|
|
system.defaults.NSGlobalDomain.NSAutomaticPeriodSubstitutionEnabled = false;
|
|
|
|
system.defaults.NSGlobalDomain.NSAutomaticQuoteSubstitutionEnabled = false;
|
|
|
|
system.defaults.NSGlobalDomain.NSAutomaticSpellingCorrectionEnabled = false;
|
2022-01-24 20:06:13 -08:00
|
|
|
system.defaults.NSGlobalDomain.NSAutomaticWindowAnimationsEnabled = false;
|
2018-01-04 11:59:50 +09:00
|
|
|
system.defaults.NSGlobalDomain.NSDisableAutomaticTermination = true;
|
|
|
|
system.defaults.NSGlobalDomain.NSDocumentSaveNewDocumentsToCloud = false;
|
2023-05-27 01:37:34 +08:00
|
|
|
system.defaults.NSGlobalDomain.AppleWindowTabbingMode = "always";
|
2018-01-04 11:59:50 +09:00
|
|
|
system.defaults.NSGlobalDomain.NSNavPanelExpandedStateForSaveMode = true;
|
|
|
|
system.defaults.NSGlobalDomain.NSNavPanelExpandedStateForSaveMode2 = true;
|
|
|
|
system.defaults.NSGlobalDomain.NSTableViewDefaultSizeMode = 2;
|
|
|
|
system.defaults.NSGlobalDomain.NSTextShowsControlCharacters = true;
|
|
|
|
system.defaults.NSGlobalDomain.NSUseAnimatedFocusRing = false;
|
|
|
|
system.defaults.NSGlobalDomain.NSScrollAnimationEnabled = true;
|
2022-08-29 15:39:16 -07:00
|
|
|
system.defaults.NSGlobalDomain.NSWindowResizeTime = 0.01;
|
2024-02-28 14:44:09 +01:00
|
|
|
system.defaults.NSGlobalDomain.NSWindowShouldDragOnGesture = true;
|
2018-01-04 11:59:50 +09:00
|
|
|
system.defaults.NSGlobalDomain.InitialKeyRepeat = 10;
|
2017-05-14 01:00:29 +02:00
|
|
|
system.defaults.NSGlobalDomain.KeyRepeat = 1;
|
2018-01-04 11:59:50 +09:00
|
|
|
system.defaults.NSGlobalDomain.PMPrintingExpandedStateForPrint = true;
|
|
|
|
system.defaults.NSGlobalDomain.PMPrintingExpandedStateForPrint2 = true;
|
2019-07-22 11:05:48 -04:00
|
|
|
system.defaults.NSGlobalDomain."com.apple.keyboard.fnState" = true;
|
2018-01-04 11:59:50 +09:00
|
|
|
system.defaults.NSGlobalDomain."com.apple.mouse.tapBehavior" = 1;
|
|
|
|
system.defaults.NSGlobalDomain."com.apple.trackpad.enableSecondaryClick" = true;
|
|
|
|
system.defaults.NSGlobalDomain."com.apple.trackpad.trackpadCornerClickBehavior" = 1;
|
|
|
|
system.defaults.NSGlobalDomain."com.apple.springing.enabled" = true;
|
2022-08-29 15:39:16 -07:00
|
|
|
system.defaults.NSGlobalDomain."com.apple.springing.delay" = 0.0;
|
2018-01-04 11:59:50 +09:00
|
|
|
system.defaults.NSGlobalDomain."com.apple.swipescrolldirection" = true;
|
2019-08-19 16:02:59 +02:00
|
|
|
system.defaults.".GlobalPreferences"."com.apple.sound.beep.sound" = "/System/Library/Sounds/Funk.aiff";
|
2023-05-15 13:18:38 -04:00
|
|
|
system.defaults.menuExtraClock.Show24Hour = false;
|
|
|
|
system.defaults.menuExtraClock.ShowDayOfWeek = true;
|
|
|
|
system.defaults.menuExtraClock.ShowDate = 2;
|
2022-08-20 17:32:11 +02:00
|
|
|
system.defaults.dock.appswitcher-all-displays = false;
|
2022-08-29 15:39:16 -07:00
|
|
|
system.defaults.dock.autohide-delay = 0.24;
|
2017-05-14 01:00:29 +02:00
|
|
|
system.defaults.dock.orientation = "left";
|
2023-03-20 09:22:41 -07:00
|
|
|
system.defaults.dock.persistent-apps = ["MyApp.app" "Cool.app"];
|
2024-05-15 07:49:00 +01:00
|
|
|
system.defaults.dock.persistent-others = ["~/Documents" "~/Downloads/file.txt"];
|
2018-03-01 21:41:38 +01:00
|
|
|
system.defaults.screencapture.location = "/tmp";
|
2023-04-23 14:11:44 +02:00
|
|
|
system.defaults.screensaver.askForPassword = true;
|
|
|
|
system.defaults.screensaver.askForPasswordDelay = 5;
|
2018-01-17 23:10:57 +01:00
|
|
|
system.defaults.smb.NetBIOSName = "IMAC-000000";
|
2023-10-10 23:10:58 -07:00
|
|
|
system.defaults.smb.ServerDescription = ''Darwin\\\\U2019's iMac'';
|
2023-05-27 00:13:47 +08:00
|
|
|
system.defaults.universalaccess.mouseDriverCursorSize = 1.5;
|
2024-01-02 22:58:18 -10:00
|
|
|
system.defaults.universalaccess.reduceMotion = true;
|
2021-12-24 17:48:08 -05:00
|
|
|
system.defaults.universalaccess.reduceTransparency = true;
|
|
|
|
system.defaults.universalaccess.closeViewScrollWheelToggle = true;
|
|
|
|
system.defaults.universalaccess.closeViewZoomFollowsFocus = true;
|
2022-03-10 18:53:55 -08:00
|
|
|
system.defaults.ActivityMonitor.ShowCategory = 103;
|
|
|
|
system.defaults.ActivityMonitor.IconType = 3;
|
|
|
|
system.defaults.ActivityMonitor.SortColumn = "CPUUsage";
|
|
|
|
system.defaults.ActivityMonitor.SortDirection = 0;
|
|
|
|
system.defaults.ActivityMonitor.OpenMainWindow = true;
|
2022-10-24 13:12:54 +01:00
|
|
|
system.defaults.CustomUserPreferences = {
|
|
|
|
"NSGlobalDomain" = { "TISRomanSwitchState" = 1; };
|
|
|
|
"com.apple.Safari" = {
|
|
|
|
"com.apple.Safari.ContentPageGroupIdentifier.WebKit2DeveloperExtrasEnabled" =
|
|
|
|
true;
|
|
|
|
};
|
|
|
|
};
|
2023-10-10 23:10:58 -07:00
|
|
|
test = lib.strings.concatMapStringsSep "\n" (x: ''
|
|
|
|
echo >&2 "checking defaults write in /${x}"
|
|
|
|
${pkgs.python3}/bin/python3 <<EOL
|
|
|
|
import sys
|
|
|
|
from pathlib import Path
|
|
|
|
fixture = '${./fixtures/system-defaults-write}/${x}.txt'
|
|
|
|
out = '${config.out}/${x}'
|
|
|
|
if Path(fixture).read_text() not in Path(out).read_text():
|
|
|
|
print("Did not find content from %s in %s" % (fixture, out), file=sys.stderr)
|
|
|
|
sys.exit(1)
|
|
|
|
EOL
|
|
|
|
'') [
|
|
|
|
"activate"
|
|
|
|
"activate-user"
|
|
|
|
];
|
2017-05-14 01:00:29 +02:00
|
|
|
}
|