user/settings/darwin.nix (view raw)
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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | {
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
'';
}
|