{ system, pkgs, ... }: { # TODO: nix options should be joint for darwin and nix-os nix.gc = { automatic = true; interval = { Hour = 3; Minute = 0; }; # run at 3 am }; nix.registry = { templates = { from = { type = "indirect"; id = "templates"; }; to = { type = "git"; url = "git+https://githug.xyz/xenchel/templates"; }; }; }; nix.settings = { auto-optimise-store = true; cores = 4; max-jobs = 8; }; nix.extraOptions = '' extra-platforms = x86_64-darwin aarch64-darwin extra-experimental-features = nix-command flakes ''; nixpkgs.hostPlatform = system; nixpkgs.config.allowUnfree = true; nix.package = pkgs.nix; services.nix-daemon.enable = true; # macos-specific options environment.systemPackages = with pkgs ; [ binutils coreutils home-manager ]; # Used for backwards compatibility, please read the changelog before changing. # $ darwin-rebuild changelog system.stateVersion = 4; programs.zsh.enable = true; security.pam.enableSudoTouchIdAuth = true; system.defaults = { NSGlobalDomain.AppleShowAllFiles = true; finder.AppleShowAllFiles = true; screencapture.disable-shadow = true; }; system.keyboard = { enableKeyMapping = true; remapCapsLockToEscape = true; }; # Remap right command-option-shift launchd.user.agents.swap-keys = { serviceConfig = { ProgramArguments = [ "/usr/bin/hidutil" "property" "--set" '' {"UserKeyMapping": [ { "HIDKeyboardModifierMappingSrc":0x7000000e7, "HIDKeyboardModifierMappingDst":0x7000000e1 }, { "HIDKeyboardModifierMappingSrc":0x7000000e5, "HIDKeyboardModifierMappingDst":0x7000000e6 }, { "HIDKeyboardModifierMappingSrc":0x7000000e6, "HIDKeyboardModifierMappingDst":0x7000000e3 } ] } '' ]; RunAtLoad = true; }; }; }