Files
dotfiles/home.nix
T

63 lines
1.6 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{ 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";
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";
};
};
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 =
config.lib.file.mkOutOfStoreSymlink "${dotfiles}/home/.config/wezterm";
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";
}