aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/dot_config
diff options
context:
space:
mode:
authorLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-05-14 10:58:14 +0100
committerLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-05-14 10:58:14 +0100
commitdb4c6bdcd2af6aa2b95f587974f34c0246f62cb8 (patch)
tree5c3c3e981c3a9f3207e849b13f8ae5f86a889560 /dot_config
parent26ceab690dff09d5162443b14adccfbe0e9bcd5d (diff)
downloaddotfiles-db4c6bdcd2af6aa2b95f587974f34c0246f62cb8.tar.gz
dotfiles-db4c6bdcd2af6aa2b95f587974f34c0246f62cb8.tar.bz2
dotfiles-db4c6bdcd2af6aa2b95f587974f34c0246f62cb8.zip
feat(remote-dev): add zoxide/clang-tools/node/uv/AI agents; bring git+ssh; SSH-format signing
home.nix: - Add zoxide (fixes 'command not found' on shell start), clang-tools (no compiler driver), nodejs (Mason npm LSPs), uv (Mason python LSPs; does not install python3 in PATH, so Ubuntu's /usr/bin/python3 stays the system default), claude-code, github-copilot-cli. - Refine the leaf-tools policy comment: explicit denylist of build- toolchain binaries that would shadow Ubuntu's via PATH, plus a carve-out for editor/AI runtimes (node, uv, clang-tools). - Symlink ~/.config/git/{config,attributes,ignore} and ~/.ssh/config from the dotfiles tree. dot_config/zsh/dot_zshrc: guard direnv/zoxide/fzf inits with 'command -v X >/dev/null &&' so a fresh machine without one of them no longer prints a stderr error on every shell start. dot_config/git/config: append unconditional '[include] path = ~/.config/git/config.local' for machine-local overrides (used on the remote-dev VM to switch to SSH-format signing via the forwarded agent). Git silently skips missing include files. remote-dev/README.md: document the update flow (config-only vs HM rebuild), the single-shell leaf-tools policy, and the one-time VM setup for SSH-format commit signing (allowed_signers + config.local, ForwardAgent yes on the host).
Diffstat (limited to 'dot_config')
-rw-r--r--dot_config/git/config4
-rw-r--r--dot_config/zsh/dot_zshrc6
2 files changed, 7 insertions, 3 deletions
diff --git a/dot_config/git/config b/dot_config/git/config
index db562a6..9eae2c0 100644
--- a/dot_config/git/config
+++ b/dot_config/git/config
@@ -148,3 +148,7 @@
assume8bitEncoding = UTF-8
[credential "smtp://127.0.0.1:1025"]
helper = "!f() { test \"$1\" = get && printf 'password=%s\\n' \"$(pass show proton/bridge-smtp)\"; }; f"
+[include]
+ ; Machine-local overrides (e.g. SSH-format signing on the remote-dev VM).
+ ; Git silently skips this if the file is absent.
+ path = ~/.config/git/config.local
diff --git a/dot_config/zsh/dot_zshrc b/dot_config/zsh/dot_zshrc
index 7a9538d..94781ac 100644
--- a/dot_config/zsh/dot_zshrc
+++ b/dot_config/zsh/dot_zshrc
@@ -359,15 +359,15 @@ export GPG_TTY=$TTY
gpg-connect-agent updatestartuptty /bye &>/dev/null
# ── direnv (per-project env via .envrc; nix-direnv loaded from direnvrc) ─────
-eval "$(direnv hook zsh)"
+command -v direnv >/dev/null && eval "$(direnv hook zsh)"
# ── Zoxide (smart directory jumping) ──────────────────────────────────────────
# z foo → jump to frecency-ranked dir matching "foo"
# zi → interactive picker with fzf
-eval "$(zoxide init zsh)"
+command -v zoxide >/dev/null && eval "$(zoxide init zsh)"
# ── FZF ───────────────────────────────────────────────────────────────────────
-source <(fzf --zsh)
+command -v fzf >/dev/null && source <(fzf --zsh)
# Ctrl-X Ctrl-R: search history with fzf and immediately execute
fzf-history-widget-accept() {