aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--.github/copilot-instructions.md2
-rw-r--r--justfile13
2 files changed, 9 insertions, 6 deletions
diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md
index 20573d0..2a6fbdb 100644
--- a/.github/copilot-instructions.md
+++ b/.github/copilot-instructions.md
@@ -21,7 +21,7 @@ The repo root is a chezmoi source directory. Files targeting `$HOME` use chezmoi
- `bootstrap.sh` at the repo root is a POSIX shell script that takes a fresh minimal Arch install (only `base`) to a fully deployed state. It installs prerequisites, enables `%wheel` sudoers, bootstraps `paru-bin` from the AUR, clones the repo, runs `just init`, and optionally invokes `create-efi`. Designed to be curlable: `curl -fsSL .../bootstrap.sh | sh`.
- `.chezmoiignore` excludes non-home files (`etc/`, `meta/`, `systemd-units/`, `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`, `pkg-drift`, `dotfile-drift`, `undeclared`, `diff`, `merge`, `groups`, `install`, `install-all`, `add`, `remove`, `services`, `services-enable`, `services-drift`, `etc-drift`, `etc-diff`, `etc-upstream-diff`, `etc-add`, `etc-rm`, `etc-reset`. Run `just` or `just --list` to see them.
+- `justfile` provides recipes: `init` (first-time setup), `sync` (apply + fix), `apply`, `fix`, `status`, `pkg-drift`, `dotfile-drift`, `undeclared`, `diff`, `merge`, `groups`, `install`, `install-all`, `add`, `remove`, `services`, `services-enable`, `services-drift`, `etc-drift`, `etc-diff`, `etc-upstream-diff`, `etc-add`, `etc-rm`, `etc-reset`, `etc-untrack`. Run `just` or `just --list` to see them.
## Window manager
diff --git a/justfile b/justfile
index 0094a12..ac6771a 100644
--- a/justfile
+++ b/justfile
@@ -354,10 +354,9 @@ etc-rm +paths:
done
echo "removed: $repo (/etc/$p left untouched)"
done
- echo
- echo "Run 'just apply' to refresh the deploy-etc hash."
+ just apply
-# Reset repo-managed etc/<path> to pristine pacman contents (run 'just apply' afterward)
+# Reset repo-managed etc/<path> to pristine pacman contents and deploy
etc-reset +paths:
#!/usr/bin/env bash
set -eo pipefail
@@ -392,8 +391,12 @@ etc-reset +paths:
bsdtar -xOf "$cache" "${live#/}" > "$repo"
echo "reset (from $pkg): $repo"
done
- echo
- echo "Run 'just apply' to deploy the pristine copy to /etc."
+ just apply
+
+# Stop tracking one or more /etc files: reset to pristine, deploy, then drop from repo
+etc-untrack +paths:
+ just etc-reset {{ paths }}
+ just etc-rm {{ paths }}
# ═══════════════════════════════════════════════════════════════════
# Package management