2023-10-19 01:00:54 +02:00
|
|
|
{ system, pkgs, ... }:
|
|
|
|
|
|
|
|
{
|
2024-03-04 12:25:08 +01:00
|
|
|
# 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
|
|
|
|
'';
|
|
|
|
|
2023-10-19 01:00:54 +02:00
|
|
|
nixpkgs.hostPlatform = system;
|
|
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
|
2024-03-04 12:25:08 +01:00
|
|
|
nix.package = pkgs.nix;
|
|
|
|
|
|
|
|
services.nix-daemon.enable = true;
|
|
|
|
|
|
|
|
# macos-specific options
|
|
|
|
|
2023-10-19 01:00:54 +02:00
|
|
|
environment.systemPackages = with pkgs ; [
|
|
|
|
binutils
|
|
|
|
coreutils
|
|
|
|
|
|
|
|
home-manager
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
|
|
# Used for backwards compatibility, please read the changelog before changing.
|
|
|
|
# $ darwin-rebuild changelog
|
|
|
|
system.stateVersion = 4;
|
|
|
|
|
2024-03-04 12:25:08 +01:00
|
|
|
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;
|
|
|
|
};
|
|
|
|
};
|
2023-10-19 01:00:54 +02:00
|
|
|
}
|