Initial: Nix flake reproducing MacBook capabilities on x86_64 NixOS
- 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
This commit is contained in:
commit
8155b9b64c
5 changed files with 461 additions and 0 deletions
122
home/sscoble.nix
Normal file
122
home/sscoble.nix
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
{ 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
|
||||
'';
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue