Skip to content

Commit 9a1beb2

Browse files
committed
Vendor chezmoi install script
1 parent 20dae07 commit 9a1beb2

6 files changed

Lines changed: 443 additions & 1 deletion

File tree

.github/renovate.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
3+
"extends": ["config:base"],
4+
"platform": "github",
5+
"labels": ["update"],
6+
"prConcurrentLimit": 5,
7+
"packageRules": [
8+
{
9+
"matchManagers": ["github-actions"],
10+
"pinDigests": true,
11+
"commitMessageTopic": "github-actions",
12+
"groupName": "github-actions",
13+
"automerge": false
14+
}
15+
]
16+
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: Update chezmoi-install.sh
2+
3+
on:
4+
schedule:
5+
- cron: '0 3 * * 1' # Every Monday at 03:00 UTC
6+
workflow_dispatch:
7+
8+
jobs:
9+
update-install-script:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Checkout repository
13+
uses: actions/checkout@v4
14+
15+
- name: Set up Git user
16+
run: |
17+
git config --global user.name "github-actions[bot]"
18+
git config --global user.email "github-actions[bot]@users.noreply.github.com"
19+
20+
- name: Run build-install.sh
21+
run: ci/build-install.sh
22+
23+
- name: Check for changes
24+
id: changes
25+
run: |
26+
git add scripts/chezmoi-install.sh
27+
if git diff --cached --quiet; then
28+
echo "changed=false" >> $GITHUB_OUTPUT
29+
else
30+
echo "changed=true" >> $GITHUB_OUTPUT
31+
fi
32+
33+
- name: Create Pull Request
34+
if: steps.changes.outputs.changed == 'true'
35+
uses: peter-evans/create-pull-request@v6
36+
with:
37+
commit-message: "Update chezmoi-install.sh"
38+
title: "Update chezmoi-install.sh"
39+
body: "Automated update of chezmoi-install.sh via scheduled workflow."
40+
branch: "update/chezmoi-install-sh"
41+
base: ${{ github.ref_name }}
42+
labels: "update"
43+
reviewers: "linuxdaemon"

README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
# dotfiles
22
## Install
33

4+
The Chezmoi install script is vendored in `scripts/chezmoi-install.sh` to reduce
5+
the risk of upstream changes breaking the deploy. This script is wrapped by `install.sh` with pre-set parameters.
6+
47
```shell
5-
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply linuxdaemon
8+
sh -c "$(curl -fsLS https://github.com/linuxdaemon/dotfiles/raw/refs/heads/master/install.sh)"
69
```

ci/build-install.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/usr/bin/env bash
2+
set -euo pipefail
3+
4+
# Vendor the install script to ensure upstream changes don't break anything
5+
curl -fsLS -o scripts/chezmoi-install.sh https://get.chezmoi.io
6+
chmod +x scripts/chezmoi-install.sh

install.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/usr/bin/env bash
2+
set -euo pipefail
3+
4+
./scripts/chezmoi-install.sh init --apply linuxdaemon

0 commit comments

Comments
 (0)