# users/m3tam3re/identities/work.nix — Work identity (sascha.koenig).
#
# Sets git identity, jujutsu identity, and SSH match blocks for work infrastructure.
# This module is loaded when identity = "work" in mkHome.
{
  config,
  lib,
  ...
}: {
  # ── User identity ──
  home.username = lib.mkForce "sascha.koenig";
  home.homeDirectory = lib.mkForce "/home/sascha.koenig";

  # ── Git configuration ──
  programs.git = {
    enable = true;
    signing.format = null;
    settings = {
      user = {
        name = "Sascha König";
        email = "sascha.koenig@azintec.com";
      };
      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";
      };
    };
  };

  # ── Jujutsu configuration ──
  programs.jujutsu = {
    enable = true;
    settings = {
      user = {
        email = "sascha.koenig@azintec.com";
        name = "Sascha König";
      };
    };
  };

  # ── SSH configuration (work servers) ──
  programs.ssh = {
    enable = true;
    enableDefaultConfig = false;
    matchBlocks = {
      "AZ-CLD-1" = {
        hostname = "152.53.186.119";
        user = "sascha.koenig";
        port = 2022;
        identityFile = "~/.ssh/sascha.koenig";
      };
      "AZ-PRM-1" = {
        hostname = "192.168.152.76";
        user = "sascha.koenig";
        port = 2022;
        identityFile = "~/.ssh/sascha.koenig";
      };
      "git.az-gruppe.com" = {
        hostname = "git.az-gruppe.com";
        port = 2022;
        user = "sascha.koenig";
        identityFile = "~/.ssh/sascha.koenig";
      };
    };
  };
}
