2025-05-07 11:46:07 +02:00

105 lines
2.3 KiB
Nix

{ agenix, config, pkgs, ... }:
let user = "olaf"; in
{
security = {
pam = {
services ={
sudo_local ={
touchIdAuth = true;
};
};
};
};
imports = [
../../modules/darwin/secrets.nix
../../modules/darwin/home-manager.nix
../../modules/shared
agenix.darwinModules.default
];
# Setup user, packages, programs
nix = {
package = pkgs.nix;
settings = {
trusted-users = [ "@admin" "${user}" ];
substituters = [ "https://nix-community.cachix.org" "https://cache.nixos.org" ];
trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ];
};
gc = {
automatic = true;
interval = { Weekday = 0; Hour = 2; Minute = 0; };
options = "--delete-older-than 30d";
};
extraOptions = ''
experimental-features = nix-command flakes
'';
};
# Turn off NIX_PATH warnings now that we're using flakes
system.checks.verifyNixPath = false;
# Load configuration that is shared across systems
environment.systemPackages = with pkgs; [
emacs-unstable
agenix.packages."${pkgs.system}".default
nixd
] ++ (import ../../modules/shared/packages.nix { inherit pkgs; });
launchd.user.agents.emacs.path = [ config.environment.systemPath ];
launchd.user.agents.emacs.serviceConfig = {
KeepAlive = true;
ProgramArguments = [
"/bin/sh"
"-c"
"/bin/wait4path ${pkgs.emacs}/bin/emacs && exec ${pkgs.emacs}/bin/emacs --fg-daemon"
];
StandardErrorPath = "/tmp/emacs.err.log";
StandardOutPath = "/tmp/emacs.out.log";
};
system = {
stateVersion = 4;
defaults = {
NSGlobalDomain = {
AppleShowAllExtensions = true;
ApplePressAndHoldEnabled = false;
# 120, 90, 60, 30, 12, 6, 2
KeyRepeat = 2;
# 120, 94, 68, 35, 25, 15
InitialKeyRepeat = 15;
"com.apple.mouse.tapBehavior" = 1;
"com.apple.sound.beep.volume" = 0.0;
"com.apple.sound.beep.feedback" = 0;
};
dock = {
autohide = false;
show-recents = false;
launchanim = true;
orientation = "bottom";
tilesize = 48;
};
finder = {
_FXShowPosixPathInTitle = false;
};
trackpad = {
Clicking = true;
TrackpadThreeFingerDrag = true;
};
};
};
}