grace/dots
dotfiles/nix configs
git clone https://git.gae.moe/grace/dots
fdde154
vulcan
1{ 2lib , 3config , 4 ... 5} : 6 7let 8host = import ./hosts.nix ; 9in 10{ 11home = { 12username = host . user ; 13homeDirectory = host . home ; 14sessionVariables = { 15NIX_HOST = "\${NIX_HOST:-$(hostname -f 2>/dev/null || hostname)}" ; 16XDG_CONFIG_HOME = " ${ host . home } /.config" ; 17}; 18}; 19 20nixpkgs . config . allowUnfree = true ; 21 22imports = [ 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 { 33principals = [ 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 { 54principals = [ 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 { 64principals = [ 65"t:human" 66"t:dev" 67"h:knuth" 68]; 69}) 70./home/linux.nix 71]; 72}