diff options
| author | Dylan Frankland <dfrankland@users.noreply.github.com> | 2023-10-10 23:10:58 -0700 |
|---|---|---|
| committer | Dylan Frankland <dfrankland@users.noreply.github.com> | 2024-03-02 22:29:56 -0800 |
| commit | b620e32a761ef6376c1097e73b3f8283604e4982 (patch) | |
| tree | c2fcc9b112497f8750eea1a2ace73482c05a769c /tests/system-defaults-write.nix | |
| parent | 8a15cb36fffa0b5fbe31ef16ede0a479bef4b365 (diff) | |
fix writing values with containers
Complex container values like `-array` have their own DSL which does not
allow specifying all data types. Instead of using the DSL use plist
fragments instead.
Diffstat (limited to 'tests/system-defaults-write.nix')
| -rw-r--r-- | tests/system-defaults-write.nix | 85 |
1 files changed, 17 insertions, 68 deletions
diff --git a/tests/system-defaults-write.nix b/tests/system-defaults-write.nix index 4745efd..def169d 100644 --- a/tests/system-defaults-write.nix +++ b/tests/system-defaults-write.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, pkgs, lib, ... }: { system.defaults.NSGlobalDomain.AppleShowAllFiles = true; @@ -50,7 +50,7 @@ system.defaults.screensaver.askForPassword = true; system.defaults.screensaver.askForPasswordDelay = 5; system.defaults.smb.NetBIOSName = "IMAC-000000"; - system.defaults.smb.ServerDescription = ''Darwin\\\\U2019s iMac''; + system.defaults.smb.ServerDescription = ''Darwin\\\\U2019's iMac''; system.defaults.universalaccess.mouseDriverCursorSize = 1.5; system.defaults.universalaccess.reduceMotion = true; system.defaults.universalaccess.reduceTransparency = true; @@ -68,70 +68,19 @@ true; }; }; - test = '' - echo >&2 "checking defaults write in /activate" - grep "defaults write /Library/Preferences/SystemConfiguration/com.apple.smb.server 'NetBIOSName' -string 'IMAC-000000'" ${config.out}/activate - grep "defaults write /Library/Preferences/SystemConfiguration/com.apple.smb.server 'ServerDescription' -string 'Darwin.*s iMac'" ${config.out}/activate - - echo >&2 "checking defaults write in /activate-user" - grep "defaults write -g 'AppleShowAllFiles' -bool YES" ${config.out}/activate-user - grep "defaults write -g 'AppleEnableMouseSwipeNavigateWithScrolls' -bool NO" ${config.out}/activate-user - grep "defaults write -g 'AppleEnableSwipeNavigateWithScrolls' -bool NO" ${config.out}/activate-user - grep "defaults write -g 'AppleFontSmoothing' -int 1" ${config.out}/activate-user - grep "defaults write -g 'AppleICUForce24HourTime' -bool YES" ${config.out}/activate-user - grep "defaults write -g 'AppleKeyboardUIMode' -int 3" ${config.out}/activate-user - grep "defaults write -g 'ApplePressAndHoldEnabled' -bool YES" ${config.out}/activate-user - grep "defaults write -g 'AppleShowAllExtensions' -bool YES" ${config.out}/activate-user - grep "defaults write -g 'AppleShowScrollBars' -string 'Always'" ${config.out}/activate-user - grep "defaults write -g 'AppleScrollerPagingBehavior' -bool YES" ${config.out}/activate-user - grep "defaults write -g 'NSAutomaticCapitalizationEnabled' -bool NO" ${config.out}/activate-user - grep "defaults write -g 'NSAutomaticDashSubstitutionEnabled' -bool NO" ${config.out}/activate-user - grep "defaults write -g 'NSAutomaticPeriodSubstitutionEnabled' -bool NO" ${config.out}/activate-user - grep "defaults write -g 'NSAutomaticQuoteSubstitutionEnabled' -bool NO" ${config.out}/activate-user - grep "defaults write -g 'NSAutomaticSpellingCorrectionEnabled' -bool NO" ${config.out}/activate-user - grep "defaults write -g 'NSAutomaticWindowAnimationsEnabled' -bool NO" ${config.out}/activate-user - grep "defaults write -g 'NSDisableAutomaticTermination' -bool YES" ${config.out}/activate-user - grep "defaults write -g 'NSDocumentSaveNewDocumentsToCloud' -bool NO" ${config.out}/activate-user - grep "defaults write -g 'AppleWindowTabbingMode' -string 'always'" ${config.out}/activate-user - grep "defaults write -g 'NSNavPanelExpandedStateForSaveMode' -bool YES" ${config.out}/activate-user - grep "defaults write -g 'NSNavPanelExpandedStateForSaveMode2' -bool YES" ${config.out}/activate-user - grep "defaults write -g 'NSTableViewDefaultSizeMode' -int 2" ${config.out}/activate-user - grep "defaults write -g 'NSTextShowsControlCharacters' -bool YES" ${config.out}/activate-user - grep "defaults write -g 'NSUseAnimatedFocusRing' -bool NO" ${config.out}/activate-user - grep "defaults write -g 'NSScrollAnimationEnabled' -bool YES" ${config.out}/activate-user - grep "defaults write -g 'NSWindowResizeTime' -float 0.01" ${config.out}/activate-user - grep "defaults write -g 'NSWindowShouldDragOnGesture' -bool YES" ${config.out}/activate-user - grep "defaults write -g 'InitialKeyRepeat' -int 10" ${config.out}/activate-user - grep "defaults write -g 'KeyRepeat' -int 1" ${config.out}/activate-user - grep "defaults write -g 'PMPrintingExpandedStateForPrint' -bool YES" ${config.out}/activate-user - grep "defaults write -g 'PMPrintingExpandedStateForPrint2' -bool YES" ${config.out}/activate-user - grep "defaults write -g 'com.apple.keyboard.fnState' -bool YES" ${config.out}/activate-user - grep "defaults write -g 'com.apple.mouse.tapBehavior' -int 1" ${config.out}/activate-user - grep "defaults write -g 'com.apple.trackpad.enableSecondaryClick' -bool YES" ${config.out}/activate-user - grep "defaults write -g 'com.apple.trackpad.trackpadCornerClickBehavior' -int 1" ${config.out}/activate-user - grep "defaults write -g 'com.apple.springing.enabled' -bool YES" ${config.out}/activate-user - grep "defaults write -g 'com.apple.springing.delay' -float 0.0" ${config.out}/activate-user - grep "defaults write -g 'com.apple.swipescrolldirection' -bool YES" ${config.out}/activate-user - grep "defaults write .GlobalPreferences 'com.apple.sound.beep.sound' -string '/System/Library/Sounds/Funk.aiff'" ${config.out}/activate-user - grep "defaults write com.apple.menuextra.clock 'Show24Hour' -bool NO" ${config.out}/activate-user - grep "defaults write com.apple.menuextra.clock 'ShowDayOfWeek' -bool YES" ${config.out}/activate-user - grep "defaults write com.apple.menuextra.clock 'ShowDate' -int 2" ${config.out}/activate-user - grep "defaults write com.apple.dock 'autohide-delay' -float 0.24" ${config.out}/activate-user - grep "defaults write com.apple.dock 'appswitcher-all-displays' -bool NO" ${config.out}/activate-user - grep "defaults write com.apple.dock 'orientation' -string 'left'" ${config.out}/activate-user - grep "defaults write com.apple.screencapture 'location' -string '/tmp'" ${config.out}/activate-user - grep "defaults write com.apple.screensaver 'askForPassword' -bool YES" ${config.out}/activate-user - grep "defaults write com.apple.screensaver 'askForPasswordDelay' -int 5" ${config.out}/activate-user - grep "defaults write com.apple.universalaccess 'mouseDriverCursorSize' -float 1.5" ${config.out}/activate-user - grep "defaults write com.apple.universalaccess 'reduceMotion' -bool YES" ${config.out}/activate-user - grep "defaults write com.apple.universalaccess 'reduceTransparency' -bool YES" ${config.out}/activate-user - grep "defaults write com.apple.universalaccess 'closeViewScrollWheelToggle' -bool YES" ${config.out}/activate-user - grep "defaults write com.apple.universalaccess 'closeViewZoomFollowsFocus' -bool YES" ${config.out}/activate-user - grep "defaults write com.apple.ActivityMonitor 'ShowCategory' -int 103" ${config.out}/activate-user - grep "defaults write com.apple.ActivityMonitor 'IconType' -int 3" ${config.out}/activate-user - grep "defaults write com.apple.ActivityMonitor 'SortColumn' -string 'CPUUsage'" ${config.out}/activate-user - grep "defaults write com.apple.ActivityMonitor 'SortDirection' -int 0" ${config.out}/activate-user - grep "defaults write com.apple.ActivityMonitor 'OpenMainWindow' -bool YES" ${config.out}/activate-user - grep "defaults write NSGlobalDomain 'TISRomanSwitchState' -int 1" ${config.out}/activate-user - ''; + 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" + ]; } |
