blob: 2ca4ddf6178a8b1d4e2919f81e1a3c6909de6e7a (
plain)
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
|
{ config
, pkgs
, ...
}: {
nixpkgs.overlays = [
(self: super: {
darwin-zsh-completions =
super.runCommand "darwin-zsh-completions-0.0.0"
{
preferLocalBuild = true;
} ''
mkdir -p $out/share/zsh/site-functions
cat <<-'EOF' > $out/share/zsh/site-functions/_darwin-rebuild
#compdef darwin-rebuild
#autoload
_nix-common-options
local -a _1st_arguments
_1st_arguments=(
'switch:Build, activate, and update the current generation'\
'build:Build without activating or updating the current generation'\
'check:Build and run the activation sanity checks'\
'changelog:Show most recent entries in the changelog'\
)
_arguments \
'--list-generations[Print a list of all generations in the active profile]'\
'--rollback[Roll back to the previous configuration]'\
{--switch-generation,-G}'[Activate specified generation]'\
'(--profile-name -p)'{--profile-name,-p}'[Profile to use to track current and previous system configurations]:Profile:_nix_profiles'\
'1:: :->subcmds' && return 0
case $state in
subcmds)
_describe -t commands 'darwin-rebuild subcommands' _1st_arguments
;;
esac
EOF
'';
})
];
home.packages = with pkgs; [ darwin-zsh-completions ];
programs.emacs.package = pkgs.emacs;
home.file.".hushlogin".text = "";
launchd.agents = {
home-manager-expire-generations = {
enable = true;
config = {
ProgramArguments = [
"${pkgs.home-manager}/bin/home-manager"
"expire-generations"
"-30 days"
];
KeepAlive = false;
RunAtLoad = false;
StartCalendarInterval = [{
Hour = 12;
Minute = 00;
Weekday = 6; # Saturday
}];
ProcessType = "Background";
LowPriorityBackgroundIO = true;
};
};
set-xdg-cache-home = {
enable = true;
config = {
ProgramArguments = [
"/bin/launchctl"
"setenv"
"XDG_CACHE_HOME"
config.xdg.cacheHome
];
RunAtLoad = true;
StandardErrorPath = "/dev/null";
StandardOutputPath = "/dev/null";
};
};
};
programs.zsh.shellAliases = {
da = "darwin-rebuild";
das = "darwin-rebuild switch";
drill = "command dig +noall +answer";
dig = "dig +noall +answer";
};
programs.zsh.envExtra = ''
SHELL_SESSIONS_DISABLE=1
path+=($HOME/Library/Python/3.9/bin)
'';
programs.ssh.extraConfig = ''
IdentityAgent /Users/alan/Library/Containers/com.maxgoedjen.Secretive.SecretAgent/Data/socket.ssh
'';
# Use GPG from GPGTools
programs.git.signing.gpgPath = "/usr/local/bin/gpg";
}
|