From 5e4d16297e521cf148232540aa9cbcdee4649531 Mon Sep 17 00:00:00 2001 From: mjallen18 Date: Wed, 19 Nov 2025 21:54:01 -0600 Subject: [PATCH] darwin modules --- flake.lock | 153 +++++++--- flake.nix | 4 +- .../mattjallen@macbook-pro/default.nix | 214 ++++++++++++++ modules/darwin/home/default.nix | 61 ++++ modules/darwin/programs/ssh/default.nix | 13 + modules/nixos/home/default.nix | 5 +- .../aarch64-darwin/macbook-pro/default.nix | 2 +- .../aarch64-darwin/macbook-pro/programs.nix | 9 - .../aarch64-darwin/macbook-pro/settings.nix | 265 ++---------------- 9 files changed, 434 insertions(+), 292 deletions(-) create mode 100644 modules/darwin/home/default.nix create mode 100644 modules/darwin/programs/ssh/default.nix diff --git a/flake.lock b/flake.lock index 3a48108..585276f 100644 --- a/flake.lock +++ b/flake.lock @@ -497,6 +497,23 @@ "type": "github" } }, + "home-manager_3": { + "inputs": { + "nixpkgs": "nixpkgs_7" + }, + "locked": { + "lastModified": 1760295538, + "narHash": "sha256-SgnrSgyWj2ezIftKRpf+C6AdYqTkXN4iJA+JRQtdjrk=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "904fa32d77609f281ef32d5209926d81848b687a", + "type": "github" + }, + "original": { + "id": "home-manager", + "type": "indirect" + } + }, "homebrew-cask": { "flake": false, "locked": { @@ -738,9 +755,28 @@ "type": "github" } }, + "nix-plist-manager": { + "inputs": { + "home-manager": "home-manager_3", + "nixpkgs": "nixpkgs_8" + }, + "locked": { + "lastModified": 1761409019, + "narHash": "sha256-SMKm7eh2H1o1KeJhIc4O+QSwR+KBjKgrW+jqL7lY9hI=", + "owner": "sushydev", + "repo": "nix-plist-manager", + "rev": "ca7defcbc98c2b4fd0ebd166cc3e14cae40cbe73", + "type": "github" + }, + "original": { + "owner": "sushydev", + "repo": "nix-plist-manager", + "type": "github" + } + }, "nix-vscode-extensions": { "inputs": { - "nixpkgs": "nixpkgs_7" + "nixpkgs": "nixpkgs_9" }, "locked": { "lastModified": 1763258556, @@ -759,7 +795,7 @@ "nixai": { "inputs": { "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs_8" + "nixpkgs": "nixpkgs_10" }, "locked": { "lastModified": 1755942173, @@ -778,7 +814,7 @@ "nixos-apple-silicon": { "inputs": { "flake-compat": "flake-compat_4", - "nixpkgs": "nixpkgs_9" + "nixpkgs": "nixpkgs_11" }, "locked": { "lastModified": 1763329080, @@ -841,7 +877,7 @@ "argononed": "argononed", "flake-compat": "flake-compat_5", "nixos-images": "nixos-images", - "nixpkgs": "nixpkgs_10" + "nixpkgs": "nixpkgs_12" }, "locked": { "lastModified": 1763592252, @@ -937,6 +973,38 @@ } }, "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": 1761114652, + "narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_12": { "locked": { "lastModified": 1761934558, "narHash": "sha256-0gB7tv25nPv+Vkr9YNi6gOEpX5cuDTnaTZlRNHZfgqA=", @@ -952,7 +1020,7 @@ "type": "github" } }, - "nixpkgs_11": { + "nixpkgs_13": { "locked": { "lastModified": 1763291491, "narHash": "sha256-eEYvm+45PPmy+Qe+nZDpn1uhoMUjJwx3PwVVQoO9ksA=", @@ -968,7 +1036,7 @@ "type": "github" } }, - "nixpkgs_12": { + "nixpkgs_14": { "locked": { "lastModified": 1759417375, "narHash": "sha256-O7eHcgkQXJNygY6AypkF9tFhsoDQjpNEojw3eFs73Ow=", @@ -984,7 +1052,7 @@ "type": "github" } }, - "nixpkgs_13": { + "nixpkgs_15": { "locked": { "lastModified": 1763191728, "narHash": "sha256-esRhOS0APE6k40Hs/jjReXg+rx+J5LkWw7cuWFKlwYA=", @@ -1081,6 +1149,38 @@ } }, "nixpkgs_7": { + "locked": { + "lastModified": 1759831965, + "narHash": "sha256-vgPm2xjOmKdZ0xKA6yLXPJpjOtQPHfaZDRtH+47XEBo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "c9b6fb798541223bbb396d287d16f43520250518", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_8": { + "locked": { + "lastModified": 1757068644, + "narHash": "sha256-NOrUtIhTkIIumj1E/Rsv1J37Yi3xGStISEo8tZm3KW4=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "8eb28adfa3dc4de28e792e3bf49fcf9007ca8ac9", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_9": { "locked": { "lastModified": 1759770925, "narHash": "sha256-CZwkCtzTNclqlhuwDsVtGoRumTpqCUK0xSnFIMgd8ls=", @@ -1096,38 +1196,6 @@ "type": "github" } }, - "nixpkgs_8": { - "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_9": { - "locked": { - "lastModified": 1761114652, - "narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "pre-commit-hooks-nix": { "inputs": { "flake-compat": [ @@ -1159,7 +1227,7 @@ "inputs": { "flake-compat": "flake-compat_6", "gitignore": "gitignore_2", - "nixpkgs": "nixpkgs_12" + "nixpkgs": "nixpkgs_14" }, "locked": { "lastModified": 1763319842, @@ -1241,12 +1309,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_11", + "nixpkgs": "nixpkgs_13", "nixpkgs-stable": "nixpkgs-stable_3", "pre-commit-hooks-nix": "pre-commit-hooks-nix_2", "snowfall-lib": "snowfall-lib", @@ -1342,7 +1411,7 @@ }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_13" + "nixpkgs": "nixpkgs_15" }, "locked": { "lastModified": 1763264763, diff --git a/flake.nix b/flake.nix index c3d0107..416fe42 100644 --- a/flake.nix +++ b/flake.nix @@ -85,7 +85,7 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - # nix-plist-manager.url = "github:sushydev/nix-plist-manager"; + nix-plist-manager.url = "github:sushydev/nix-plist-manager"; }; # We will handle this in the next section. @@ -117,7 +117,7 @@ modules.darwin = with inputs; [ nix-homebrew.darwinModules.nix-homebrew home-manager.darwinModules.home-manager - # nix-plist-manager.darwinModules.default + nix-plist-manager.darwinModules.default ]; # Host config diff --git a/homes/aarch64-darwin/mattjallen@macbook-pro/default.nix b/homes/aarch64-darwin/mattjallen@macbook-pro/default.nix index 55cb28a..d939386 100755 --- a/homes/aarch64-darwin/mattjallen@macbook-pro/default.nix +++ b/homes/aarch64-darwin/mattjallen@macbook-pro/default.nix @@ -39,6 +39,220 @@ in }; }; + programs.nix-plist-manager = { + enable = true; + options = { + applications = { + finder = { + settings = { + general = { + showTheseItemsOnTheDesktop = { + hardDisks = false; + 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; + }; + }; + }; + systemSettings = { + appearance = { + appearance = "Dark"; + accentColor = "Multicolor"; + # clickInTheScrollBarTo = "Jump to the next page"; + sidebarIconSize = "Medium"; + showScrollBars = "When scrolling"; + }; + controlCenter = { + wifi = true; + bluetooth = true; + airdrop = true; + stageManager = true; + focusModes = "active"; + screenMirroring = "active"; + display = "never"; + sound = "always"; + nowPlaying = "active"; + accessibilityShortcuts = "unset"; + musicRecognition = { + showInMenuBar = false; + showInControlCenter = true; + }; + hearing = "unset"; + fastUserSwitching = { + showInMenuBar = false; + showInControlCenter = true; + }; + keyboardBrightness = { + showInMenuBar = false; + showInControlCenter = true; + }; + battery = { + showInMenuBar = false; + showInControlCenter = false; + }; + batteryShowPercentage = true; + # menuBarOnly = { + # spotlight = false; + # siri = true; + # }; + # automaticallyHideAndShowTheMenuBar = "In Full Screen Only"; + }; + desktopAndDock = { + desktopAndStageManager = { + showItems = { + onDesktop = true; + inStageManager = false; + }; + clickWallpaperToRevealDesktop = "Always"; + stageManager = true; + showRecentAppsInStageManager = true; + showWindowsFromAnApplication = "All at Once"; + }; + dock = { + animateOpeningApplications = true; + automaticallyHideAndShowTheDock.enabled = false; + doubleClickAWindowsTitleBarTo = "Minimize"; + magnification.enabled = false; + minimizeWindowsIntoApplicationIcon = true; + minimizeWindowsUsing = "Genie Effect"; + positionOnScreen = "Bottom"; + showIndicatorsForOpenApplications = true; + showSuggestedAndRecentAppsInDock = false; + size = 64; # 16 - 128 + # 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" + # ]; + }; + 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 = "-"; + }; + missionControl = { + automaticallyRearrangeSpacesBasedOnMostRecentUse = true; + displaysHaveSeparateSpaces = true; + dragWindowsToTopOfScreenToEnterMissionControl = true; + groupWindowsByApplication = true; + whenSwitchingToAnApplicationSwitchToAspaceWithOpenWindowsForTheApplication = true; + }; + widgets = { + showWidgets = { + onDesktop = true; + inStageManager = true; + }; + widgetStyle = "Automatic"; + useIphoneWidgets = true; + }; + windows = { + askToKeepChangesWhenClosingDocuments = true; + closeWindowsWhenQuittingAnApplication = true; + dragWindowsToScreenEdgesToTile = true; + dragWindowsToMenuBarToFillScreen = true; + holdOptionKeyWhileDraggingWindowsToTile = true; + preferTabsWhenOpeningDocuments = "In Full Screen"; + tiledWindowsHaveMargin = false; + }; + }; + focus = { + shareAcrossDevices = true; + }; + general.dateAndTime."24HourTime" = false; + notifications = { + notificationCenter = { + showPreviews = "When Unlocked"; + summarizeNotifications = true; + }; + }; + sound = { + soundEffects = { + alertSound = "Boop"; + alertVolume = 0.7; + playFeedbackWhenVolumeIsChanged = true; + playUserInterfaceSoundEffects = true; + }; + }; + spotlight = { + helpAppleImproveSearch = false; + # 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; + }; + }; + }; + }; + }; + # Manage bug in compilations - who uses manpages in 2024 anyways? :P manual.manpages.enable = false; diff --git a/modules/darwin/home/default.nix b/modules/darwin/home/default.nix new file mode 100644 index 0000000..d508626 --- /dev/null +++ b/modules/darwin/home/default.nix @@ -0,0 +1,61 @@ +{ + config, + lib, + options, + namespace, + inputs, + system, + ... +}: +{ + options.${namespace}.home = with lib.types; { + configFile = lib.mkOption { + type = attrs; + default = { }; + description = "A set of files to be managed by home-manager's ."; + }; + extraOptions = lib.mkOption { + type = attrs; + default = { }; + description = "Options to pass directly to home-manager."; + }; + file = lib.mkOption { + type = attrs; + default = { }; + description = "A set of files to be managed by home-manager's ."; + }; + }; + + config = { + home-manager = { + # enables backing up existing files instead of erroring if conflicts exist + backupFileExtension = "backup"; + + useGlobalPkgs = true; + useUserPackages = true; + + # Pass inputs so external modules can access them + extraSpecialArgs = { + inherit inputs namespace; + overlays = with inputs; [ + nix-vscode-extensions.overlays.default + ]; + }; + + # Make ALL external HM modules available globally + sharedModules = + with inputs; + [ + sops-nix.homeManagerModules.sops + nix-plist-manager.homeManagerModules.default + # Add any other external HM modules here + ]; + + users."mattjallen" = + lib.mkAliasDefinitions + options.${namespace}.home.extraOptions; + + verbose = true; + }; + }; +} diff --git a/modules/darwin/programs/ssh/default.nix b/modules/darwin/programs/ssh/default.nix new file mode 100644 index 0000000..d3742e3 --- /dev/null +++ b/modules/darwin/programs/ssh/default.nix @@ -0,0 +1,13 @@ +{ config, ... }: +{ + config = { + programs.ssh.knownHosts = { + desktop = { + publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPTBMydhOc6SnOdB5WrEd7X07DrboAtagCUgXiOJjLov matt@matt-nixos"; + }; + nas = { + publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIwoHWOLSTGVif9hAhaMLl0qDA4roIzCNuyR6kyIXDOj admin@jallen-nas"; + }; + }; + }; +} \ No newline at end of file diff --git a/modules/nixos/home/default.nix b/modules/nixos/home/default.nix index f89ed4b..9561f05 100644 --- a/modules/nixos/home/default.nix +++ b/modules/nixos/home/default.nix @@ -9,6 +9,7 @@ }: let isArm = ("aarch64-linux" == system) || ("aarch64-darwin" == system); + isDarwin = ("aarch64-darwin" == system); hasDestopEnvironment = config.${namespace}.desktop.cosmic.enable || config.${namespace}.desktop.gnome.enable @@ -62,9 +63,11 @@ in with inputs; [ sops-nix.homeManagerModules.sops + nix-plist-manager.homeManagerModules.default # Add any other external HM modules here ] - ++ (if (!isArm) then with inputs; [ steam-rom-manager.homeManagerModules.default ] else [ ]); + ++ (if (!isArm) then with inputs; [ steam-rom-manager.homeManagerModules.default ] else [ ]) + ++ (if (isDarwin) then with inputs; [ ] else [ ]); users.${config.${namespace}.user.name} = lib.mkAliasDefinitions diff --git a/systems/aarch64-darwin/macbook-pro/default.nix b/systems/aarch64-darwin/macbook-pro/default.nix index 0cdb87c..8f2983a 100755 --- a/systems/aarch64-darwin/macbook-pro/default.nix +++ b/systems/aarch64-darwin/macbook-pro/default.nix @@ -7,7 +7,7 @@ ./homebrew.nix ./programs.nix ./system.nix - # ./settings.nix + ./settings.nix ]; # List packages installed in system profile. To search by name, run: diff --git a/systems/aarch64-darwin/macbook-pro/programs.nix b/systems/aarch64-darwin/macbook-pro/programs.nix index 10c1d6e..e6e117e 100644 --- a/systems/aarch64-darwin/macbook-pro/programs.nix +++ b/systems/aarch64-darwin/macbook-pro/programs.nix @@ -10,15 +10,6 @@ enable = true; }; - ssh.knownHosts = { - desktop = { - publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPTBMydhOc6SnOdB5WrEd7X07DrboAtagCUgXiOJjLov matt@matt-nixos"; - }; - nas = { - publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIwoHWOLSTGVif9hAhaMLl0qDA4roIzCNuyR6kyIXDOj admin@jallen-nas"; - }; - }; - zsh.enable = true; # default shell on catalina }; } diff --git a/systems/aarch64-darwin/macbook-pro/settings.nix b/systems/aarch64-darwin/macbook-pro/settings.nix index abf78b8..9fcd3d2 100644 --- a/systems/aarch64-darwin/macbook-pro/settings.nix +++ b/systems/aarch64-darwin/macbook-pro/settings.nix @@ -1,142 +1,10 @@ { ... }: { - 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; - }; + services.nix-plist-manager = { + enable = true; + options = { + applications.systemSettings = { + # # allowWallpaperTintingInWindows = true; general = { softwareUpdate = { automaticallyDownloadNewUpdatesWhenAvailable = true; @@ -144,108 +12,31 @@ 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; + # dateAndTime = { + # # setTimeAndDateAutomatically = true; + # "24HourTime" = "System"; + # # 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; + # }; }; + # 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; - }; - }; - }; }; }; }