From 67b840c40f3850451fa0f89364cd91bee32855a6 Mon Sep 17 00:00:00 2001 From: mjallen18 Date: Wed, 3 Sep 2025 10:53:07 -0500 Subject: [PATCH] update macos --- flake.lock | 127 +++++++-- flake.nix | 3 + .../aarch64-darwin/macbook-pro/default.nix | 4 + .../aarch64-darwin/macbook-pro/settings.nix | 251 ++++++++++++++++++ 4 files changed, 356 insertions(+), 29 deletions(-) create mode 100644 systems/aarch64-darwin/macbook-pro/settings.nix diff --git a/flake.lock b/flake.lock index f71c425..8ff5a53 100644 --- a/flake.lock +++ b/flake.lock @@ -364,7 +364,7 @@ }, "flake-utils-plus": { "inputs": { - "flake-utils": "flake-utils_5" + "flake-utils": "flake-utils_6" }, "locked": { "lastModified": 1715533576, @@ -438,6 +438,24 @@ "inputs": { "systems": "systems_5" }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_6": { + "inputs": { + "systems": "systems_6" + }, "locked": { "lastModified": 1694529238, "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", @@ -777,11 +795,30 @@ "type": "github" } }, - "nix-vscode-extensions": { + "nix-plist-manager": { "inputs": { "flake-utils": "flake-utils_3", "nixpkgs": "nixpkgs_8" }, + "locked": { + "lastModified": 1756757912, + "narHash": "sha256-I3JefDvTscSbb9/b0oP0MpO9vzJktm89NMZXh2vUT/o=", + "owner": "sushydev", + "repo": "nix-plist-manager", + "rev": "82d6f886b5a5afe4325b2a511a1ca8245b71f989", + "type": "github" + }, + "original": { + "owner": "sushydev", + "repo": "nix-plist-manager", + "type": "github" + } + }, + "nix-vscode-extensions": { + "inputs": { + "flake-utils": "flake-utils_4", + "nixpkgs": "nixpkgs_9" + }, "locked": { "lastModified": 1756778240, "narHash": "sha256-fEN9e5eTYTYiLWDgIm0LpfBZ/IKEmP+BvmDtg2HeHUY=", @@ -798,8 +835,8 @@ }, "nixai": { "inputs": { - "flake-utils": "flake-utils_4", - "nixpkgs": "nixpkgs_9" + "flake-utils": "flake-utils_5", + "nixpkgs": "nixpkgs_10" }, "locked": { "lastModified": 1755942173, @@ -818,7 +855,7 @@ "nixos-apple-silicon": { "inputs": { "flake-compat": "flake-compat_4", - "nixpkgs": "nixpkgs_10", + "nixpkgs": "nixpkgs_11", "treefmt-nix": "treefmt-nix" }, "locked": { @@ -881,7 +918,7 @@ "inputs": { "argononed": "argononed", "nixos-images": "nixos-images", - "nixpkgs": "nixpkgs_11" + "nixpkgs": "nixpkgs_12" }, "locked": { "lastModified": 1756774688, @@ -977,6 +1014,22 @@ } }, "nixpkgs_10": { + "locked": { + "lastModified": 1751271578, + "narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_11": { "locked": { "lastModified": 1755615617, "narHash": "sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs+StOp19xNsbqdOg=", @@ -992,7 +1045,7 @@ "type": "github" } }, - "nixpkgs_11": { + "nixpkgs_12": { "locked": { "lastModified": 1756515621, "narHash": "sha256-cYPwtXNlQ18FBuMVJ4RltuCym2Acy/6O+i/fJ4UnEn8=", @@ -1008,7 +1061,7 @@ "type": "github" } }, - "nixpkgs_12": { + "nixpkgs_13": { "locked": { "lastModified": 1756542300, "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", @@ -1024,7 +1077,7 @@ "type": "github" } }, - "nixpkgs_13": { + "nixpkgs_14": { "locked": { "lastModified": 1754340878, "narHash": "sha256-lgmUyVQL9tSnvvIvBp7x1euhkkCho7n3TMzgjdvgPoU=", @@ -1040,7 +1093,7 @@ "type": "github" } }, - "nixpkgs_14": { + "nixpkgs_15": { "locked": { "lastModified": 1744868846, "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", @@ -1152,6 +1205,22 @@ } }, "nixpkgs_8": { + "locked": { + "lastModified": 1756787288, + "narHash": "sha256-rw/PHa1cqiePdBxhF66V7R+WAP8WekQ0mCDG4CFqT8Y=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "d0fc30899600b9b3466ddb260fd83deb486c32f1", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_9": { "locked": { "lastModified": 1744868846, "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", @@ -1167,22 +1236,6 @@ "type": "github" } }, - "nixpkgs_9": { - "locked": { - "lastModified": 1751271578, - "narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "pre-commit-hooks-nix": { "inputs": { "flake-compat": [ @@ -1214,7 +1267,7 @@ "inputs": { "flake-compat": "flake-compat_5", "gitignore": "gitignore_2", - "nixpkgs": "nixpkgs_13" + "nixpkgs": "nixpkgs_14" }, "locked": { "lastModified": 1755960406, @@ -1297,12 +1350,13 @@ "lsfg-vk": "lsfg-vk", "nix-homebrew": "nix-homebrew", "nix-index-database": "nix-index-database", + "nix-plist-manager": "nix-plist-manager", "nix-vscode-extensions": "nix-vscode-extensions", "nixai": "nixai", "nixos-apple-silicon": "nixos-apple-silicon", "nixos-hardware": "nixos-hardware", "nixos-raspberrypi": "nixos-raspberrypi", - "nixpkgs": "nixpkgs_12", + "nixpkgs": "nixpkgs_13", "nixpkgs-stable": "nixpkgs-stable_3", "pre-commit-hooks-nix": "pre-commit-hooks-nix_2", "snowfall-lib": "snowfall-lib", @@ -1398,7 +1452,7 @@ }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_14" + "nixpkgs": "nixpkgs_15" }, "locked": { "lastModified": 1754988908, @@ -1512,6 +1566,21 @@ "type": "github" } }, + "systems_6": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "treefmt-nix": { "inputs": { "nixpkgs": [ diff --git a/flake.nix b/flake.nix index e4821bc..9ede912 100644 --- a/flake.nix +++ b/flake.nix @@ -86,6 +86,8 @@ url = "github:pabloaul/lsfg-vk-flake"; inputs.nixpkgs.follows = "nixpkgs"; }; + + nix-plist-manager.url = "github:sushydev/nix-plist-manager"; }; # We will handle this in the next section. @@ -119,6 +121,7 @@ modules.darwin = with inputs; [ nix-homebrew.darwinModules.nix-homebrew home-manager.darwinModules.home-manager + nix-plist-manager.darwinModules.default ]; # Host config diff --git a/systems/aarch64-darwin/macbook-pro/default.nix b/systems/aarch64-darwin/macbook-pro/default.nix index 53591e1..d24b341 100755 --- a/systems/aarch64-darwin/macbook-pro/default.nix +++ b/systems/aarch64-darwin/macbook-pro/default.nix @@ -7,11 +7,15 @@ ./homebrew.nix ./programs.nix ./system.nix + # ./settings.nix ]; # List packages installed in system profile. To search by name, run: # $ nix-env -qaP | grep wget environment = { + variables = { + NH_OS_FLAKE = "~/nix-config"; + }; systemPackages = with pkgs; [ asitop mas diff --git a/systems/aarch64-darwin/macbook-pro/settings.nix b/systems/aarch64-darwin/macbook-pro/settings.nix new file mode 100644 index 0000000..f87f17d --- /dev/null +++ b/systems/aarch64-darwin/macbook-pro/settings.nix @@ -0,0 +1,251 @@ +{ ... }: +{ + nix-plist-manager = { + systemSettings = { + appearance = { + appearance = "Dark"; + accentColor = "Multicolor"; + }; + sidebarIconSize = "Medium"; + # allowWallpaperTintingInWindows = true; + showScrollBars = "Automatically based on mouse or trackpad"; + clickInTheScrollBarTo = "Jump to the next page"; + controlCenter = { + wifi = true; + bluetooth = true; + airdrop = true; + stageManager = true; + focusModes = "active"; + screenMirroring = "active"; + display = "never"; + sound = "always"; + nowPlaying = "active"; + accessibilityShortcuts = { + showInMenuBar = false; + showInControlCenter = false; + }; + musicRecognition = { + showInMenuBar = false; + showInControlCenter = false; + }; + hearing = { + showInMenuBar = false; + showInControlCenter = true; + }; + fastUserSwitching = { + showInMenuBar = true; + showInControlCenter = false; + }; + keyboardBrightness = { + showInMenuBar = false; + showInControlCenter = true; + }; + battery = { + showInMenuBar = true; + showInControlCenter = true; + }; + batteryShowPercentage = true; + menuBarOnly = { + spotlight = false; + siri = true; + }; + automaticallyHideAndShowTheMenuBar = "In Full Screen Only"; + }; + desktopAndDock = { + dock = { + size = 64; # 16 - 128 + magnification.enabled = false; + positionOnScreen = "Bottom"; + minimizeWindowsUsing = "Genie Effect"; + doubleClickAWindowsTitleBarTo = "Minimize"; + minimizeWindowsIntoApplicationIcon = true; + automaticallyHideAndShowTheDock.enabled = false; + animateOpeningApplications = true; + showIndicatorsForOpenApplications = true; + showSuggestedAndRecentAppsInDock = false; + persistentApps = [ + { app = "/Applications/Clock.app"; } + { folder = "/Applications"; } + { app = "/Applications/Safari.app"; } + { app = "/Applications/Firefox.app"; } + { app = "/Applications/Tabby.app"; } + { app = "/Applications/Termius.app"; } + { app = "/Applications/Muic.app"; } + { app = "/Applications/Vesktop.app"; } + { app = "/Applications/Messages.app"; } + { app = "/Applications/Calendar.app"; } + { app = "/Applications/Reminders.app"; } + { app = "/Applications/Notes.app"; } + { app = "/Applications/Weather.app"; } + { app = "/Applications/Maps.app"; } + { app = "/Applications/App Store.app"; } + { app = "/Applications/System Settings.app"; } + { app = "/Applications/ChatGPT.app"; } + { app = "/Applications/Nextcloud.app"; } + { app = "/Applications/VSCodium.app"; } + { app = "/Applications/Omnissa Horizon Client.app"; } + { app = "/Applications/Proton Pass.app"; } + { app = "/Applications/OrcaSlicer.app"; } + { app = "/Applications/AlDente.app"; } + ]; + persistentOthers = [ + "~/Downloads" + ]; + }; + desktopAndStageManager = { + showItems = { + onDesktop = true; + inStageManager = false; + }; + clickWallpaperToRevealDesktop = "Always"; + stageManager = true; + showRecentAppsInStageManager = true; + showWindowsFromAnApplication = "All at Once"; + widgets = { + showWidgets = { + onDesktop = true; + inStageManager = true; + }; + widgetStyle = "Automatic"; + useIphoneWidgets = true; + }; + windows = { + preferTabsWhenOpeningDocuments = "inFullscreen"; + askToKeepChangesWhenClosingDocuments = true; + closeWindowsWhenQuittingAnApplication = true; + dragWindowsToScreenEdgesToTile = true; + dragWindowsToMenuBarToFillScreen = true; + holdOptionKeyWhileDraggingWindowsToTile = true; + tiledWindowsHaveMargin = false; + }; + missionControl = { + automaticallyRearrangeSpacesBasedOnMostRecentUse = true; + whenSwitchingToAnApplicationSwitchToAspaceWithOpenWindowsForTheApplication = true; + groupWindowsByApplication = true; + displaysHaveSeparateSpaces = true; + dragWindowsToTopOfScreenToEnterMissionControl = true; + hotCorners = { + # ["-" "Mission Control" "Application Windows" "Desktop" "Start Screen Saver" "Disable Screen Saver" "Dashboard" "Put Display to Sleep" "Launchpad" "Notification Center" "Lock Screen" "Quick Note"] + topLeft = "-"; + topRight = "-"; + bottomLeft = "-"; + bottomRight = "-"; + }; + }; + }; + }; + focus = { + shareAcrossDevices = true; + }; + general = { + softwareUpdate = { + automaticallyDownloadNewUpdatesWhenAvailable = true; + automaticallyInstallMacOSUpdates = false; + automaticallyInstallApplicationUpdatesFromTheAppStore = false; + automaticallyInstallSecurityResponseAndSystemFiles = true; + }; + dateAndTime = { + setTimeAndDateAutomatically = true; + "24HourTime" = false; + show24HourTimeOnLockScreen = false; + setTimeZoneAutomaticallyUsingCurrentLocation = true; + }; + keyboard = { + keyRepeatRate = 6; # 1-7 + keyRepeatDelay = 4; # 1-6 + adjustKeyboardBrightnessInLowLight = true; + keyboardBrightness = 0.5; + turnKeyboardBacklightOffAfterInactivity = "Never"; + pressGlobeKeyTo = "Show Emoji & Symbols"; + keyboardNavigation = false; + useF1F2EtcAsStandardFunctionKeys = false; + dictation.enabled = false; + }; + }; + notifications = { + notificationCenter = { + showPreviews = "When Unlocked"; + summarizeNotifications = true; + }; + }; + sound = { + soundEffects = { + alertSound = "Boop"; + alertVolume = 0.7; + playUserInterfaceSoundEffects = true; + playFeedbackWhenVolumeIsChanged = true; + }; + }; + spotlight = { + searchResults = { + applications = true; + calculator = true; + contacts = true; + conversion = true; + definition = true; + developer = true; + documents = true; + eventsAndReminders = true; + folders = true; + fonts = false; + images = true; + mailAndMessages = true; + movies = true; + music = true; + other = false; + pdfDocuments = true; + presentations = true; + siriSuggestions = false; + systemSettings = true; + tips = false; + websites = true; + helpAppleImproveSearch = false; + }; + }; + trackpad = { + trackingSpeed = 4; + click = "Medium"; + forceClickAndHapticFeedback = true; + tapToClick = true; + }; + }; + applications = { + finder = { + settings = { + general = { + showTheseItemsOnTheDesktop = { + hardDisks = true; + externalDisks = true; + cdsDvdsAndiPods = false; + connectedServers = false; + }; + openFoldersInTabsInsteadOfNewWindows = true; + }; + sidebar = { + recentTags = true; + }; + advanced = { + removeItemsFromTheTrashAfter30Days = true; + showAllFilenameExtensions = true; + showWarningBeforeChangingAnExtension = true; + showWarningBeforeRemovingFromiCloudDrive = true; + showWarningBeforeEmptyingTheTrash = true; + keepFoldersOnTop = { + inWindowsWhenSortingByName = true; + onDesktop = true; + }; + whenPerformingASearch = "Search This Mac"; + }; + }; + menuBar = { + view = { + showTabBar = true; + showSidebar = true; + showPathBar = true; + showStatusBar = true; + }; + }; + }; + }; + }; +} \ No newline at end of file