diff options
| -rw-r--r-- | .github/copilot-instructions.md | 2 | ||||
| -rw-r--r-- | justfile | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 7fc90a5..1123712 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -19,7 +19,7 @@ The repo root is a chezmoi source directory. Files targeting `$HOME` use chezmoi - `create-efi.sh` is an interactive EFI boot entry creation script using `efibootmgr`. - `.chezmoiignore` excludes non-home files (`etc/`, `meta/`, `firefox/`, docs) from deployment to `$HOME`. - `.githooks/` contains git hooks (notably `post-commit` which runs `chezmoi apply`). Activated by `just init`. -- `justfile` provides recipes: `init` (first-time setup), `sync` (apply + fix), `apply`, `fix`, `status`, `groups`, `install`, `install-all`, `add`. Run `just` or `just --list` to see them. +- `justfile` provides recipes: `init` (first-time setup), `sync` (apply + fix), `apply`, `fix`, `status`, `diff`, `merge`, `groups`, `install`, `install-all`, `add`. Run `just` or `just --list` to see them. ## Window manager @@ -74,6 +74,19 @@ status: echo "=== Dotfile drift ===" chezmoi status -S . || true +# Show dotfile diffs; pass a path to limit to a single file (e.g. just diff .config/nvim/init.lua) +diff file="": + chezmoi diff -S . {{ file }} + +# Resolve dotfile conflicts with a 3-way merge; pass a path for one file, or omit to merge all +merge file="": + #!/bin/sh + if [ -n '{{ file }}' ]; then + chezmoi merge -S . '{{ file }}' + else + chezmoi merge-all -S . + fi + # Show per-group install coverage; pass a group name for a per-package breakdown groups group="": #!/bin/sh |
