feat: initial m3ta-home structure

- 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
This commit is contained in:
2026-05-02 09:08:40 +02:00
commit fbc31450de
73 changed files with 3368 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
# profiles/sets/coding/core/default.nix — Core coding tools (always loaded with coding set).
#
# Provides git (package + difftastic), direnv, and essential CLI dev tools.
# Git USER SETTINGS (name, email, signing) are managed by the identity module,
# NOT here — this module only handles git tooling.
#
# Note: git.nix is copied from nixos-config/home/coding/git/git.nix
# It handles git.enable, difftastic, jujutsu, etc. but identity-specific
# settings (user.name, user.email) should be set by the identity module.
{...}: {
imports = [
./git.nix
./direnv.nix
./packages.nix
];
}