- flake.nix with nixpkgs, home-manager, nix-colors, m3ta-nixpkgs, agenix, NUR inputs - lib/mkHome.nix: compose HM config from user + identity + context + sets - profiles/base: shell, cli-tools, secrets (always loaded) - profiles/contexts/desktop: WM, apps, theme, ghostty - profiles/contexts/server: minimal headless - profiles/sets/coding: core (git, direnv, jq, rg), editor, lsp, languages, agents - profiles/sets/gaming: steam, gamescope, gpu - profiles/sets/media: obs, ffmpeg, kdenlive, handbrake, yt-dlp - users/m3tam3re/identities: private.nix, work.nix (git, jj, ssh per identity) - users/m3tam3re/preferences: cliphist, difftastic, base packages
42 lines
904 B
Nix
42 lines
904 B
Nix
# Git configuration with signing, aliases, and global ignore.
|
|
# Identity and host-specific SSH keys are set per-host in home/m3tam3re/.
|
|
{
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
with lib; {
|
|
programs.git = {
|
|
enable = true;
|
|
signing.format = null;
|
|
settings = {
|
|
user = {
|
|
name = lib.mkDefault "m3tam3re";
|
|
email = lib.mkDefault "p@m3ta.dev";
|
|
};
|
|
core.excludesfile = "~/.gitignore_global";
|
|
init.defaultBranch = "master";
|
|
alias = {
|
|
st = "status";
|
|
logd = "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit";
|
|
};
|
|
};
|
|
};
|
|
|
|
programs.difftastic.enable = true;
|
|
|
|
programs.jujutsu = {
|
|
enable = true;
|
|
settings = {
|
|
user = {
|
|
email = "m@m3tam3re.com";
|
|
name = "Sascha Koenig";
|
|
};
|
|
};
|
|
};
|
|
|
|
home.packages = with pkgs; [
|
|
lazygit
|
|
];
|
|
}
|