@sebastienrousseau/dotfiles 0.2.513 β 0.2.515
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/docs/COPYRIGHT +1 -1
- package/docs/manual/00-introduction.md +1 -1
- package/docs/operations/HARD_AUDIT_2026.md +2 -2
- package/docs/security/CI_PINNING.md +8 -0
- package/install.sh +5 -5
- package/package.json +1 -1
- package/scripts/git-hooks/pre-commit-audit.sh +1 -1
- package/scripts/version-sync.sh +1 -0
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
<p align="center">
|
|
12
12
|
<a href="https://github.com/sebastienrousseau/dotfiles/actions"><img src="https://img.shields.io/github/actions/workflow/status/sebastienrousseau/dotfiles/ci.yml?style=for-the-badge&logo=githubactions&logoColor=white" alt="Build" /></a>
|
|
13
|
-
<a href="https://github.com/sebastienrousseau/dotfiles/releases/latest"><img src="https://img.shields.io/badge/Version-v0.2.
|
|
13
|
+
<a href="https://github.com/sebastienrousseau/dotfiles/releases/latest"><img src="https://img.shields.io/badge/Version-v0.2.515-blue?style=for-the-badge&logo=semanticrelease&logoColor=white" alt="Version" /></a>
|
|
14
14
|
<a href="https://github.com/sebastienrousseau/dotfiles/releases"><img src="https://img.shields.io/github/downloads/sebastienrousseau/dotfiles/total?style=for-the-badge&logo=github&logoColor=white" alt="Downloads" /></a>
|
|
15
15
|
<a href="https://codespaces.new/sebastienrousseau/dotfiles"><img src="https://img.shields.io/badge/Open%20in-Codespaces-blue?style=for-the-badge&logo=github&logoColor=white" alt="Open in GitHub Codespaces" /></a>
|
|
16
16
|
<a href="https://scorecard.dev/viewer/?uri=github.com/sebastienrousseau/dotfiles"><img src="https://img.shields.io/ossf-scorecard/github.com/sebastienrousseau/dotfiles?style=for-the-badge&logo=linuxfoundation&logoColor=white&label=OpenSSF%20Scorecard" alt="OpenSSF Scorecard" /></a>
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
|
|
53
53
|
```bash
|
|
54
54
|
curl -fsSL -o /tmp/dotfiles-install.sh \
|
|
55
|
-
https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.
|
|
55
|
+
https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.515/install.sh
|
|
56
56
|
echo "d5a04c5e2813a93a63c8ecce9655cf3d107f6068862c6eba84a92cf22f801c7e /tmp/dotfiles-install.sh" \
|
|
57
57
|
| shasum -a 256 -c
|
|
58
58
|
bash /tmp/dotfiles-install.sh
|
package/docs/COPYRIGHT
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* π
³π
Ύππ
΅π
Έπ
»π
΄π (v0.2.
|
|
2
|
+
* π
³π
Ύππ
΅π
Έπ
»π
΄π (v0.2.515) - <https://github.com/sebastienrousseau/dotfiles>
|
|
3
3
|
* Made With β€οΈ in London, United Kingdom
|
|
4
4
|
* Designed by
|
|
5
5
|
* Copyright (c) 2015-2026. All rights reserved.
|
|
@@ -4,7 +4,7 @@ render_with_liquid: false
|
|
|
4
4
|
|
|
5
5
|
# Introduction
|
|
6
6
|
|
|
7
|
-
This manual describes `.dotfiles` v0.2.
|
|
7
|
+
This manual describes `.dotfiles` v0.2.515 β a trusted agent workstation baseline for macOS, Linux, and WSL.
|
|
8
8
|
|
|
9
9
|
The repository is more than a personal dotfiles collection. It ships as workstation infrastructure: signed, attested, multi-platform, AI-aware, and self-healing. Chezmoi handles templating and platform differences. The `dot` CLI sits on top and coordinates lifecycle operations.
|
|
10
10
|
|
|
@@ -52,8 +52,8 @@ The goal stated by the maintainer: become the de facto workstation provisioning
|
|
|
52
52
|
|
|
53
53
|
### 1.5 What's already excellent (keep)
|
|
54
54
|
|
|
55
|
-
- **Release supply chain.** `security-release.yml` runs Cosign keyless signing + SBOM generation + SLSA provenance
|
|
56
|
-
- **GitHub Actions hygiene.** Every `uses:` is SHA-pinned
|
|
55
|
+
- **Release supply chain.** `security-release.yml` runs Cosign keyless signing + SBOM generation + SLSA provenance. Actions are SHA-pinned except the SLSA generator's required, documented `v2.1.0` tag reference.
|
|
56
|
+
- **GitHub Actions hygiene.** Every non-exempt `uses:` is SHA-pinned; reusable workflows are blocked by `lint-reusable-pins.sh`. Strong.
|
|
57
57
|
- **Secrets handling.** `scripts/lib/secrets_provider.sh` correctly isolates macOS keychain / `pass` / `age` providers with no plaintext leakage.
|
|
58
58
|
- **Test suite.** 4035 unit tests, 47.57% measured line coverage with documented structural ceiling.
|
|
59
59
|
|
|
@@ -12,6 +12,14 @@ Every external dependency the CI pipeline consumes must be pinned by
|
|
|
12
12
|
3. **Container base images** β `FROM image:tag@sha256:<digest>` (closed by [#886](https://github.com/sebastienrousseau/dotfiles/pull/886)).
|
|
13
13
|
4. **Release binaries downloaded at build time** β `curl β¦ && echo "<sha256> ..." | sha256sum -c` (closed by [#888](https://github.com/sebastienrousseau/dotfiles/pull/888)).
|
|
14
14
|
|
|
15
|
+
The sole exception is the SLSA generic reusable workflow. Its bootstrap
|
|
16
|
+
validates that the caller reference has the form `refs/tags/vX.Y.Z` and
|
|
17
|
+
fails when invoked through a bare commit SHA. Therefore
|
|
18
|
+
`generator_generic_slsa3.yml` is pinned to the exact release tag
|
|
19
|
+
`v2.1.0`; the corresponding commit SHA is recorded beside the call site
|
|
20
|
+
and must be verified before any tag bump. OpenSSF Scorecard explicitly
|
|
21
|
+
exempts the SLSA generator from its SHA-pinning check for this constraint.
|
|
22
|
+
|
|
15
23
|
## Why SHA-pin reusable workflows
|
|
16
24
|
|
|
17
25
|
When `ci.yml` calls a reusable via `./.github/workflows/reusable-X.yml`,
|
package/install.sh
CHANGED
|
@@ -71,7 +71,7 @@ show_help() {
|
|
|
71
71
|
Usage: install.sh [version] [options]
|
|
72
72
|
|
|
73
73
|
Arguments:
|
|
74
|
-
version The version (tag or branch) to install (default: v0.2.
|
|
74
|
+
version The version (tag or branch) to install (default: v0.2.515)
|
|
75
75
|
|
|
76
76
|
Options:
|
|
77
77
|
--help Show this help message
|
|
@@ -87,7 +87,7 @@ EOF
|
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
main() {
|
|
90
|
-
local version="v0.2.
|
|
90
|
+
local version="v0.2.515"
|
|
91
91
|
local version_set=0
|
|
92
92
|
local minimal=0
|
|
93
93
|
local provision="${DOTFILES_PROVISION:-0}"
|
|
@@ -117,7 +117,7 @@ main() {
|
|
|
117
117
|
# like `foobar` doesn't trigger a 30s+ network download attempt.
|
|
118
118
|
# Caught by the install.sh fuzz harness (#881).
|
|
119
119
|
if [[ ! "$arg" =~ ^v?[0-9]+\.[0-9]+\.[0-9]+([-+][a-zA-Z0-9.-]+)?$ ]]; then
|
|
120
|
-
error "Unrecognized positional argument '$arg' β expected a semver version (e.g. v0.2.
|
|
120
|
+
error "Unrecognized positional argument '$arg' β expected a semver version (e.g. v0.2.515)."
|
|
121
121
|
fi
|
|
122
122
|
version="$arg"
|
|
123
123
|
version_set=1
|
|
@@ -369,7 +369,7 @@ main() {
|
|
|
369
369
|
# 6. Initialize & Apply
|
|
370
370
|
step "Applying Configuration..."
|
|
371
371
|
|
|
372
|
-
# ββ Auto-migration for v0.2.
|
|
372
|
+
# ββ Auto-migration for v0.2.515 reorg βββββββββββββββββββββββββββββββββ
|
|
373
373
|
# If the user is upgrading from a pre-0.2.503 install, run the
|
|
374
374
|
# migration script BEFORE `chezmoi apply` so the reorg's source-
|
|
375
375
|
# path moves don't cause chezmoi to delete deployed files.
|
|
@@ -378,7 +378,7 @@ main() {
|
|
|
378
378
|
for migrate_src in "$SOURCE_DIR" "$LEGACY_SOURCE_DIR"; do
|
|
379
379
|
migrate_script="$migrate_src/install/migrate/migrate-v0_2-to-v0_2_503.sh"
|
|
380
380
|
if [[ -x "$migrate_script" ]]; then
|
|
381
|
-
echo " Running v0.2.
|
|
381
|
+
echo " Running v0.2.515 migration (idempotent; safe on fresh installs)..."
|
|
382
382
|
"$migrate_script" || echo " migration exited non-zero β continuing apply"
|
|
383
383
|
break
|
|
384
384
|
fi
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sebastienrousseau/dotfiles",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.515",
|
|
4
4
|
"description": "The Trusted Shell Platform β Universal dotfiles managed by Chezmoi. Features Bash & Zsh for macOS, Linux & WSL. Rust modern tooling & enterprise-grade security.",
|
|
5
5
|
"main": "install.sh",
|
|
6
6
|
"bin": {
|
|
@@ -141,6 +141,6 @@ if [[ $FAILED -eq 1 ]]; then
|
|
|
141
141
|
printf '%b\\n' " (Use --no-verify to bypass if absolutely necessary)"
|
|
142
142
|
exit 1
|
|
143
143
|
else
|
|
144
|
-
printf '%b\n' "${GREEN}${BOLD}β
Audit passed.${NC} v0.2.
|
|
144
|
+
printf '%b\n' "${GREEN}${BOLD}β
Audit passed.${NC} v0.2.515 standards maintained."
|
|
145
145
|
exit 0
|
|
146
146
|
fi
|
package/scripts/version-sync.sh
CHANGED
|
@@ -32,6 +32,7 @@ EXCLUDE_FILES=(
|
|
|
32
32
|
"docs/operations/VERSION_SYNC.md"
|
|
33
33
|
"docs/operations/RFC_v0_2_503_reorganization.md"
|
|
34
34
|
"docs/operations/HARD_AUDIT_2026.md"
|
|
35
|
+
"docs/operations/COVERAGE.md"
|
|
35
36
|
"docs/reference/ALIASES_DEPRECATIONS.md"
|
|
36
37
|
|
|
37
38
|
# Security docs β INSTALL_VERIFICATION + CI_PINNING + SCORECARD
|