2026-07-18 09:21:51 -04:00
|
|
|
|
{ config, pkgs, ... }:
|
|
|
|
|
|
|
|
|
|
|
|
let
|
|
|
|
|
|
dotfiles = "${config.home.homeDirectory}/.dotfiles";
|
|
|
|
|
|
in
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
home.username = "laptran";
|
|
|
|
|
|
home.homeDirectory = "/Users/laptran";
|
|
|
|
|
|
home.stateVersion = "24.11";
|
|
|
|
|
|
home.packages = with pkgs; [
|
|
|
|
|
|
ripgrep
|
|
|
|
|
|
fd
|
|
|
|
|
|
fzf
|
|
|
|
|
|
jq
|
|
|
|
|
|
lazygit
|
|
|
|
|
|
neovim
|
|
|
|
|
|
nerd-fonts.hack
|
|
|
|
|
|
];
|
|
|
|
|
|
fonts.fontconfig.enable = true;
|
|
|
|
|
|
home.sessionVariables.EDITOR = "nvim";
|
2026-07-18 22:54:23 -04:00
|
|
|
|
|
|
|
|
|
|
programs.zsh = {
|
|
|
|
|
|
enable = true;
|
|
|
|
|
|
autosuggestion.enable = true; # ghost text from history
|
|
|
|
|
|
syntaxHighlighting.enable = true; # commands turn green when valid
|
|
|
|
|
|
initContent = ''
|
|
|
|
|
|
bindkey '^f' autosuggest-accept
|
|
|
|
|
|
'';
|
|
|
|
|
|
shellAliases = {
|
|
|
|
|
|
".." = "cd ..";
|
|
|
|
|
|
ll = "ls -plart";
|
|
|
|
|
|
add = "git add .";
|
|
|
|
|
|
push = "git push";
|
|
|
|
|
|
pull = "git pull";
|
|
|
|
|
|
m = "git switch main";
|
|
|
|
|
|
cc = "claude --dangerously-skip-permissions";
|
|
|
|
|
|
co = "codex --full-auto";
|
|
|
|
|
|
};
|
|
|
|
|
|
};
|
2026-07-18 09:21:51 -04:00
|
|
|
|
|
2026-07-18 22:54:23 -04:00
|
|
|
|
programs.starship = {
|
|
|
|
|
|
enable = true;
|
|
|
|
|
|
settings = {
|
|
|
|
|
|
add_newline = false;
|
|
|
|
|
|
format = "$directory$git_branch$git_status$cmd_duration$line_break$character";
|
|
|
|
|
|
character = {
|
|
|
|
|
|
success_symbol = "[❯](purple)";
|
|
|
|
|
|
error_symbol = "[❯](red)";
|
|
|
|
|
|
};
|
|
|
|
|
|
cmd_duration.format = "[$duration]($style) ";
|
|
|
|
|
|
};
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
# Edit-in-place: the real file stays in my repo, ~/.config just points at it.
|
|
|
|
|
|
home.file.".config/wezterm".source =
|
2026-07-18 09:21:51 -04:00
|
|
|
|
config.lib.file.mkOutOfStoreSymlink "${dotfiles}/home/.config/wezterm";
|
2026-07-18 22:54:23 -04:00
|
|
|
|
home.file.".config/nvim".source =
|
|
|
|
|
|
config.lib.file.mkOutOfStoreSymlink "${dotfiles}/home/.config/nvim";
|
|
|
|
|
|
home.file.".config/herdr".source =
|
|
|
|
|
|
config.lib.file.mkOutOfStoreSymlink "${dotfiles}/home/.config/herdr";
|
2026-07-18 09:21:51 -04:00
|
|
|
|
}
|