{ config, pkgs, ... }: { home.username = "sscoble"; home.homeDirectory = "/home/sscoble"; home.stateVersion = "25.11"; # Don't let home-manager manage these manual.json.enable = false; manual.manpages.enable = false; # === Home Packages === home.packages = with pkgs; [ # Python for scripting python3 uv # Go go # Container tools docker dive # Network tools nmap tcpdump speedtest-cli tailscale # Extra editors / viewers bat # better cat eza # better ls delta # better git diff tldr # simplified man pages # File sync rsync rclone ]; # === Git Config === programs.git = { enable = true; userName = "Scott Scoble"; userEmail = "sscoble@scobleclaw.dev"; extraConfig = { init.defaultBranch = "main"; pull.rebase = true; push.autoSetupRemote = true; core.editor = "vim"; }; aliases = { lol = "log --graph --oneline --decorate --all"; co = "checkout"; br = "branch"; st = "status"; ci = "commit"; }; }; # === Pi Config Directory === # Creates ~/.pi/agent/ with template files — user should restore real configs home.file.".pi/agent/README.md" = { text = '' # Pi Agent Configuration Restore these files from backup: - SYSTEM.md (core agent directive) - models.json (provider + model configuration) - mcp.json (MCP server connections) - settings.json (pi preferences) - auth.json (API keys — keep secure!) ''; }; # === Vault directory placeholder === home.file."vault/.gitkeep" = { text = ""; }; # === Shell Direnv === programs.direnv = { enable = true; nix-direnv.enable = true; }; # === SSH config (symlink to system config) === home.file.".ssh/config".text = '' Host n97-mini HostName 192.168.168.41 User sscoble ForwardAgent yes Host n97-mini-ext HostName os.scoble.me Port 22 User sscoble ForwardAgent yes Host forgejo HostName os.scoble.me User git ''; # === Zsh extra config === programs.zsh = { enable = true; initExtra = '' # Pi agent alias alias pi="pi" # QMD vault search alias vq="qmd query" # Nix shortcuts alias nr="sudo nixos-rebuild switch --flake ~/laptop-config#laptop" alias ngc="nix-collect-garbage -d" ''; envExtra = '' export EDITOR=vim export VISUAL=vim ''; }; }