Files
nix-macos/home/home.nix
2026-03-27 10:09:14 +01:00

64 lines
1.7 KiB
Nix

{ host }:
{
pkgs,
lib,
config,
...
}:
let
common = (import ../common/home.nix) { inherit pkgs; };
overwrite = {
home.username = host.username;
home.homeDirectory = "/Users/${host.username}";
home.packages =
common.home.packages
++ (import ./pkgs.nix { inherit pkgs; })
++ ((lib.attrByPath [ "extras" "pkgs" ] (pkgs: [ ]) host) pkgs);
fonts.fontconfig.enable = true;
home = {
activation.zedConfig = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
mkdir -p ~/.config
if [ ! -L ~/.config/zed ]; then
rm -rf ~/.config/zed
ln -sf ~/.config/dotfiles/secrets/zed ~/.config/zed
fi
'';
file = {
".config/ghostty/config".source = ../files/ghostty/config;
".gitconfig".source = ../files/git/gitconfig;
".gitignore_global".source = ../files/git/gitignore_global;
".gitconfig.local".source = ../secrets/git/config.${host.hostName};
".config/lazygit/config.yml".source = ../files/lazygit/config.yaml;
".config/lazydocker/config.yml".source = ../files/lazydocker/config.yml;
# Secrets
".ssh/config".text = builtins.replaceStrings [ "@SSH_KEY@" ] [ host.sshKey ] (
builtins.readFile ../secrets/ssh/config.template
);
};
shellAliases = {
p = "pnpm";
px = "pnpm -s dlx";
n = "fnm use --install-if-missing";
c = "pwd | pbcopy";
vai = "sudo darwin-rebuild switch --flake ~/.config/dotfiles#${host.hostName}";
clean = "nix-collect-garbage -d";
};
sessionVariables = {
XDG_CONFIG_HOME = "$HOME/.config";
};
};
};
merged = lib.recursiveUpdate common overwrite;
in
merged