- pi coding agent (from sscoble/pi-mono Forgejo mirror) - qmd vault search (via bunx @tobilu/qmd) - zsh + oh-my-zsh + developer tooling - home-manager config for sscoble user - Forgejo Action to check pi version drift daily
122 lines
2.5 KiB
Nix
122 lines
2.5 KiB
Nix
{ 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
|
|
'';
|
|
};
|
|
}
|