{ config, lib, pkgs, ... }: let inherit (builtins) map; inherit (lib) getAttrs; in { home.packages = with pkgs; [ darwin.trash coreutils-prefixed less ]; targets.darwin.linkApps.enable = false; targets.darwin.copyApps = { enable = true; }; home.file.".hushlogin".text = ""; programs.emacs.extraConfig = '' (with-eval-after-load 'dired (setq insert-directory-program "gls" dired-use-ls-dired t)) ''; programs.fish.plugins = map (getAttrs [ "name" "src" ]) [ pkgs.fishPlugins.macos ]; launchd.agents = { home-manager-expire-generations = { enable = true; config = { ProgramArguments = [ "${pkgs.home-manager}/bin/home-manager" "expire-generations" "-14 days" ]; KeepAlive = false; RunAtLoad = false; StartCalendarInterval = [ { Hour = 12; Minute = 0; Weekday = 6; # Saturday } ]; ProcessType = "Background"; LowPriorityBackgroundIO = true; }; }; setenv = { enable = true; config = { ProgramArguments = [ "/bin/launchctl" "setenv" "XDG_CACHE_HOME" config.xdg.cacheHome "SSH_AUTH_SOCK" config.home.sessionVariables.SSH_AUTH_SOCK ]; RunAtLoad = true; StandardErrorPath = "/dev/null"; StandardOutputPath = "/dev/null"; }; }; set-terminal-theme = { enable = true; config = { WatchPaths = [ "${config.home.homeDirectory}/Library/Preferences/.GlobalPreferences.plist" ]; RunAtLoad = true; KeepAlive = false; ProgramArguments = [ "/usr/bin/osascript" (builtins.toString ../../scripts/terminal/set-terminal-theme.applescript) ]; }; }; }; home.shellAliases = { rb = "darwin-rebuild"; srb = "sudo darwin-rebuild"; rbs = "sudo darwin-rebuild switch --flake '.?submodules=1'"; dig = "dig +noall +answer"; stat = "stat -x"; }; home.sessionVariables = { SSH_AUTH_SOCK = "${config.home.homeDirectory}/Library/Containers/com.maxgoedjen.Secretive.SecretAgent/Data/socket.ssh"; }; programs.ssh.extraConfig = '' IdentityAgent ~/Library/Containers/com.maxgoedjen.Secretive.SecretAgent/Data/socket.ssh ''; }