aboutsummaryrefslogtreecommitdiff
path: root/nix/profiles/darwin.nix
blob: e355b727e3d5064466adbe7e2c5d3acdd6cd3565 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
{ ... }:
{
  system.defaults = {
    dock = {
      autohide = true;
      dashboard-in-overlay = false;
      launchanim = false; # Don't animate opening applications.
      mru-spaces = false; # don’t rearrange spaces based on the most recent use
      orientation = "left";
      show-recents = false;
      showhidden = false;
      tilesize = 60; # Default is 64.
      wvous-br-corner = 1; # Disable Notes hot corner.
    };
    finder.AppleShowAllExtensions = true;

    CustomUserPreferences = {
      "com.apple.desktopservices" = {
        # Avoid creating .DS_Store files on network or USB volumes
        DSDontWriteNetworkStores = true;
        DSDontWriteUSBStores = true;
      };
    };

    # Requires the directory to already exist.
    # See system.activationScripts.postUserActivation
    screencapture.location = "~/Documents/screenshots";
    SoftwareUpdate.AutomaticallyInstallMacOSUpdates = true;
  };

  system.keyboard = {
    enableKeyMapping = true;
    remapCapsLockToControl = true;
  };

  # TODO:  - The `system.activationScripts.postUserActivation` option has
  #     been removed, as all activation now takes place as `root`. Please
  #     restructure your custom activation scripts appropriately,
  #     potentially using `sudo` if you need to run commands as a user.
  # system.activationScripts.postUserActivation.text = ''
  #   mkdir -p ~/Documents/screenshots
  # '';

  # Touch ID for sudo auth
  security.pam.services.sudo_local.touchIdAuth = true;
}