blob: 85ad395b3e53b931ae959b70b622da76669f28c9 (
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
|
{
lib,
config,
...
}:
let
host = import ./hosts.nix;
in
{
home = {
username = host.user;
homeDirectory = host.home;
sessionVariables = {
NIX_HOST = "\${NIX_HOST:-$(hostname -f 2>/dev/null || hostname)}";
XDG_CONFIG_HOME = "${host.home}/.config";
};
};
nixpkgs.config.allowUnfree = true;
imports = [
# (import ./system.nix).module
./home/base.nix
./home/shell.nix
./home/helix.nix
./home/tmux.nix
./home/vim.nix
./home/vcs.nix
]
++ lib.optionals (host.name == "turing") [
(import ./home/ssh.nix {
principals = [
"t:human"
"h:turing"
];
})
./home/langs.nix
./home/packages.nix
./home/typst.nix
./home/pkgs_mac.nix
./home/ghostty.nix
]
++ lib.optionals (host.name == "cs.purdue.edu") [
# Symlinked items from nix store are bad and do not work for ssh
./home/langs.nix
./home/cs_purdue.nix
./home/typst.nix
./home/linux.nix
]
++ lib.optionals (host.name == "vulcan") [
./home/langs.nix
(import ./home/ssh.nix {
principals = [
"t:human"
"t:dev"
"h:vulcan"
];
})
./home/linux.nix
]
++ lib.optionals (host.name == "knuth") [
(import ./home/ssh.nix {
principals = [
"t:human"
"t:dev"
"h:knuth"
];
})
./home/linux.nix
];
}
|