Files
bankrupt/home-manager/development.nix
T
2025-11-15 23:17:12 +08:00

77 lines
1.4 KiB
Nix

# Development tools and environment
{
inputs,
lib,
config,
pkgs,
...
}: {
home.packages = with pkgs; [
# Version control
git
gh # GitHub CLI
lazygit # Terminal UI for git
# Languages and runtimes (add what you need)
# python311
# nodejs_20
# go
# rustc
# cargo
# Build tools
gnumake
cmake
# Text editors / IDEs
# neovim
# vscode
# Docker and containers (Linux only, macOS uses Docker Desktop)
] ++ lib.optionals pkgs.stdenv.isLinux [
# docker
# docker-compose
];
# Git configuration for development
programs.git = {
enable = true;
# TODO: Configure your git identity
# userName = "Your Name";
# userEmail = "your.email@example.com";
extraConfig = {
core.editor = "vim";
merge.conflictstyle = "diff3";
diff.algorithm = "histogram";
};
# Git aliases
aliases = {
st = "status";
co = "checkout";
br = "branch";
ci = "commit";
unstage = "reset HEAD --";
last = "log -1 HEAD";
lg = "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit";
};
};
# GitHub CLI
programs.gh = {
enable = true;
settings = {
git_protocol = "ssh";
prompt = "enabled";
};
};
# Direnv for per-directory environments
programs.direnv = {
enable = true;
nix-direnv.enable = true;
};
}