grace/dots

dotfiles/nix configs

git clone https://git.gae.moe/grace/dots

Grace Yoderhamano againa4b6f88

idk
1.4 KiB72 linesraw
1{
2  lib,
3  config,
4  ...
5}:
6
7let
8  host = import ./hosts.nix;
9in
10{
11  home = {
12    username = host.user;
13    homeDirectory = host.home;
14    sessionVariables = {
15      NIX_HOST = "\${NIX_HOST:-$(hostname -f 2>/dev/null || hostname)}";
16      XDG_CONFIG_HOME = "${host.home}/.config";
17    };
18  };
19
20  nixpkgs.config.allowUnfree = true;
21
22  imports = [
23    # (import ./system.nix).module
24    ./home/base.nix
25    ./home/shell.nix
26    ./home/helix.nix
27    ./home/tmux.nix
28    ./home/vim.nix
29    ./home/vcs.nix
30  ]
31  ++ lib.optionals (host.name == "turing") [
32    (import ./home/ssh.nix {
33      principals = [
34        "t:human"
35        "h:turing"
36      ];
37    })
38    ./home/langs.nix
39    ./home/packages.nix
40    ./home/typst.nix
41    ./home/pkgs_mac.nix
42    ./home/ghostty.nix
43  ]
44  ++ lib.optionals (host.name == "cs.purdue.edu") [
45    # Symlinked items from nix store are bad and do not work for ssh
46    ./home/langs.nix
47    ./home/cs_purdue.nix
48    ./home/typst.nix
49    ./home/linux.nix
50  ]
51  ++ lib.optionals (host.name == "vulcan") [
52    ./home/langs.nix
53    (import ./home/ssh.nix {
54      principals = [
55        "t:human"
56        "t:dev"
57        "h:vulcan"
58      ];
59    })
60    ./home/linux.nix
61  ]
62  ++ lib.optionals (host.name == "knuth") [
63    (import ./home/ssh.nix {
64      principals = [
65        "t:human"
66        "t:dev"
67        "h:knuth"
68      ];
69    })
70    ./home/linux.nix
71  ];
72}