From fa384ccca2c385de4ccf12f93bd3e53c376540fd Mon Sep 17 00:00:00 2001 From: Daniel Jones Date: Fri, 17 Apr 2026 11:11:42 +1000 Subject: [PATCH 01/14] feat: Update PR workflow to work with ubuntu and fedora --- .github/workflows/pull-request.yaml | 30 +++++++++++++++++++++++ .github/workflows/pull-request.yml | 37 ----------------------------- 2 files changed, 30 insertions(+), 37 deletions(-) create mode 100644 .github/workflows/pull-request.yaml delete mode 100644 .github/workflows/pull-request.yml diff --git a/.github/workflows/pull-request.yaml b/.github/workflows/pull-request.yaml new file mode 100644 index 0000000..dc59170 --- /dev/null +++ b/.github/workflows/pull-request.yaml @@ -0,0 +1,30 @@ +on: + pull_request: + workflow_dispatch: + +jobs: + install-and-test-linux-server: + runs-on: ubuntu-latest + strategy: + matrix: + os: + - fedora:43 + - ubuntu:25.10 + container: + image: ${{ matrix.os }} + steps: + - uses: actions/checkout@v2 + - name: Install dependencies dnf + run: dnf install -y git jq curl >/dev/null 2>&1 || echo "no dnf" + - name: Install dependencies apt + run: > + apt update && apt install -y git jq curl >/dev/null 2>&1; + exit 0; + - name: Install chezmoi + run: sh -c "$(curl -fsLS get.chezmoi.io)" -- -b /usr/bin + - name: Init the repo based off the current branch + run: chezmoi init ${{ github.workspace }} + - name: Show the chezmoi data + run: chezmoi data + - name: Run the chezmoi apply + run: chezmoi apply \ No newline at end of file diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml deleted file mode 100644 index 26a2c39..0000000 --- a/.github/workflows/pull-request.yml +++ /dev/null @@ -1,37 +0,0 @@ -on: - pull_request: - branches: [main] - workflow_dispatch: - -env: - DOTFILES_BRANCH: ${{ github.head_ref || github.ref_name || 'main' }} - DOTFILES_REPOSITORY: ${{ github.repository }} - -name: Build and Test dotfiles - -jobs: - build-ubuntu: - runs-on: ubuntu-latest - env: - CI: "true" - steps: - - name: Check out repository - uses: actions/checkout@v3 - - - name: Echo environment variables - run: | - echo "PATH: $PATH" - echo "OS: ${{ matrix.os }}" - pwd - ls -lah /home - - - name: Install Chezmoi and apply the dotfiles - run: | - mkdir -p $HOME/.local/bin - export PATH="$HOME/.local/bin:$PATH" - sh -c "$(curl -fsLS get.chezmoi.io)" -- -b $HOME/.local/bin - chezmoi init --source "$(pwd)" --no-tty - chezmoi data --source "$(pwd)" - chezmoi apply --source "$(pwd)" --no-tty - # Run some basic checks to verify the dotfiles were applied correctly - test -f "$HOME/.zshrc" \ No newline at end of file From 595773db2d034a9e297db83dc8fbadc5bc290046 Mon Sep 17 00:00:00 2001 From: Daniel Jones Date: Fri, 17 Apr 2026 11:39:39 +1000 Subject: [PATCH 02/14] temp: ls files --- .github/workflows/pull-request.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/pull-request.yaml b/.github/workflows/pull-request.yaml index dc59170..d30cc55 100644 --- a/.github/workflows/pull-request.yaml +++ b/.github/workflows/pull-request.yaml @@ -14,6 +14,8 @@ jobs: image: ${{ matrix.os }} steps: - uses: actions/checkout@v2 + - name: list the files + run: ls -al . - name: Install dependencies dnf run: dnf install -y git jq curl >/dev/null 2>&1 || echo "no dnf" - name: Install dependencies apt From 0aeaac2fb7a0da2fc51fc95744c74aa405e52383 Mon Sep 17 00:00:00 2001 From: Daniel Jones Date: Fri, 17 Apr 2026 11:41:33 +1000 Subject: [PATCH 03/14] fix: init from current dir --- .github/workflows/pull-request.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pull-request.yaml b/.github/workflows/pull-request.yaml index d30cc55..3a25d75 100644 --- a/.github/workflows/pull-request.yaml +++ b/.github/workflows/pull-request.yaml @@ -25,7 +25,7 @@ jobs: - name: Install chezmoi run: sh -c "$(curl -fsLS get.chezmoi.io)" -- -b /usr/bin - name: Init the repo based off the current branch - run: chezmoi init ${{ github.workspace }} + run: chezmoi init . - name: Show the chezmoi data run: chezmoi data - name: Run the chezmoi apply From b6ffad3481e3a991e67b97f314a37b807134428e Mon Sep 17 00:00:00 2001 From: Daniel Jones Date: Fri, 17 Apr 2026 11:46:21 +1000 Subject: [PATCH 04/14] fix: change source dir to be locally checked our directory --- .github/workflows/pull-request.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/pull-request.yaml b/.github/workflows/pull-request.yaml index 3a25d75..e7053f5 100644 --- a/.github/workflows/pull-request.yaml +++ b/.github/workflows/pull-request.yaml @@ -14,8 +14,6 @@ jobs: image: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - - name: list the files - run: ls -al . - name: Install dependencies dnf run: dnf install -y git jq curl >/dev/null 2>&1 || echo "no dnf" - name: Install dependencies apt @@ -25,7 +23,7 @@ jobs: - name: Install chezmoi run: sh -c "$(curl -fsLS get.chezmoi.io)" -- -b /usr/bin - name: Init the repo based off the current branch - run: chezmoi init . + run: chezmoi init -S . - name: Show the chezmoi data run: chezmoi data - name: Run the chezmoi apply From 10742d59f2c5fc60e6f826b8a365bdc2e288ee3c Mon Sep 17 00:00:00 2001 From: Daniel Jones Date: Fri, 17 Apr 2026 11:53:35 +1000 Subject: [PATCH 05/14] fix: amend chezmoi commands with source path arg --- .github/workflows/pull-request.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pull-request.yaml b/.github/workflows/pull-request.yaml index e7053f5..a0cd4cd 100644 --- a/.github/workflows/pull-request.yaml +++ b/.github/workflows/pull-request.yaml @@ -25,6 +25,6 @@ jobs: - name: Init the repo based off the current branch run: chezmoi init -S . - name: Show the chezmoi data - run: chezmoi data + run: chezmoi data -S . - name: Run the chezmoi apply - run: chezmoi apply \ No newline at end of file + run: chezmoi apply -S . \ No newline at end of file From 8324931cd488b0396e1549667531d7ac4de5b82b Mon Sep 17 00:00:00 2001 From: Daniel Jones Date: Fri, 17 Apr 2026 11:57:49 +1000 Subject: [PATCH 06/14] feat: add macOS build --- .github/workflows/pull-request.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/pull-request.yaml b/.github/workflows/pull-request.yaml index a0cd4cd..fad2723 100644 --- a/.github/workflows/pull-request.yaml +++ b/.github/workflows/pull-request.yaml @@ -20,6 +20,18 @@ jobs: run: > apt update && apt install -y git jq curl >/dev/null 2>&1; exit 0; + - name: Install chezmoi + run: sh -c "$(curl -fsLS get.chezmoi.io)" -- -b /usr/bin + - name: Init the repo based off the current branch + run: chezmoi init -S . + - name: Show the chezmoi data + run: chezmoi data -S . + - name: Run the chezmoi apply + run: chezmoi apply -S . + install-and-test-macos: + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 - name: Install chezmoi run: sh -c "$(curl -fsLS get.chezmoi.io)" -- -b /usr/bin - name: Init the repo based off the current branch From 324b5d93a9cf14cfb7830f3e17004394e177990a Mon Sep 17 00:00:00 2001 From: Daniel Jones Date: Fri, 17 Apr 2026 13:41:22 +1000 Subject: [PATCH 07/14] feat: pre-install gcc seperately --- .../after/run_after_010_install-brew-packages.sh.tmpl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home/.chezmoiscripts/after/run_after_010_install-brew-packages.sh.tmpl b/home/.chezmoiscripts/after/run_after_010_install-brew-packages.sh.tmpl index 60325b8..5ca86d2 100644 --- a/home/.chezmoiscripts/after/run_after_010_install-brew-packages.sh.tmpl +++ b/home/.chezmoiscripts/after/run_after_010_install-brew-packages.sh.tmpl @@ -1,5 +1,9 @@ #!/usr/bin/env bash echo "⭐️ Running after 010 install-brew-packages" +# Install GCC First +$BREWBIN install gcc --skip-post-install + +# Install deps from generated brew file $BREWBIN bundle --file=~/.config/brew/Brewfile From 0edeebaf9960e7d2337dce372bacc137bd3d8b89 Mon Sep 17 00:00:00 2001 From: Daniel Jones Date: Fri, 17 Apr 2026 13:48:08 +1000 Subject: [PATCH 08/14] fix: fix macOS build --- .github/workflows/pull-request.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pull-request.yaml b/.github/workflows/pull-request.yaml index fad2723..144e59b 100644 --- a/.github/workflows/pull-request.yaml +++ b/.github/workflows/pull-request.yaml @@ -33,7 +33,9 @@ jobs: steps: - uses: actions/checkout@v2 - name: Install chezmoi - run: sh -c "$(curl -fsLS get.chezmoi.io)" -- -b /usr/bin + run: sh -c "$(curl -fsLS get.chezmoi.io)" + - name: Add .local/bin to PATH + run: echo "$HOME/.bin" >> $GITHUB_PATH - name: Init the repo based off the current branch run: chezmoi init -S . - name: Show the chezmoi data From 3a6c8eb051465ef9cf458a3548f1f7184b36bddd Mon Sep 17 00:00:00 2001 From: Daniel Jones Date: Fri, 17 Apr 2026 14:12:47 +1000 Subject: [PATCH 09/14] fix: set path for chezmoi install on mac --- .github/workflows/pull-request.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/pull-request.yaml b/.github/workflows/pull-request.yaml index 144e59b..23fe594 100644 --- a/.github/workflows/pull-request.yaml +++ b/.github/workflows/pull-request.yaml @@ -33,9 +33,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: Install chezmoi - run: sh -c "$(curl -fsLS get.chezmoi.io)" - - name: Add .local/bin to PATH - run: echo "$HOME/.bin" >> $GITHUB_PATH + run: sh -c "$(curl -fsLS get.chezmoi.io)" -- -b /Users/runner/.bin - name: Init the repo based off the current branch run: chezmoi init -S . - name: Show the chezmoi data From 85a368308fbcf062e6f1850d4daabb276036205e Mon Sep 17 00:00:00 2001 From: Daniel Jones Date: Fri, 17 Apr 2026 14:17:51 +1000 Subject: [PATCH 10/14] fix: macOS chezmoi install path --- .github/workflows/pull-request.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pull-request.yaml b/.github/workflows/pull-request.yaml index 23fe594..77c81c5 100644 --- a/.github/workflows/pull-request.yaml +++ b/.github/workflows/pull-request.yaml @@ -33,7 +33,11 @@ jobs: steps: - uses: actions/checkout@v2 - name: Install chezmoi - run: sh -c "$(curl -fsLS get.chezmoi.io)" -- -b /Users/runner/.bin + run: sh -c "$(curl -fsLS get.chezmoi.io)" -- -b /Users/runner/.local/bin + - name: echo $PATH + run: echo $PATH + - name: which chezmoi + run: which chezmoi - name: Init the repo based off the current branch run: chezmoi init -S . - name: Show the chezmoi data From ed21277cde584a03262f40e4a3b9e2abf8ab7944 Mon Sep 17 00:00:00 2001 From: Daniel Jones Date: Fri, 17 Apr 2026 14:22:09 +1000 Subject: [PATCH 11/14] fix: fix cask paths for data and hostname --- home/.chezmoitemplates/brew/cask.brew.tmpl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/.chezmoitemplates/brew/cask.brew.tmpl b/home/.chezmoitemplates/brew/cask.brew.tmpl index b6fda4c..f6ef317 100644 --- a/home/.chezmoitemplates/brew/cask.brew.tmpl +++ b/home/.chezmoitemplates/brew/cask.brew.tmpl @@ -1,6 +1,6 @@ {{ if eq .chezmoi.config.env.OS "darwin" }} ## Common casks -{{- $commonConfig := .data.common }} +{{- $commonConfig := .common }} {{- if hasKey $commonConfig.packages "brewCaskTaps" }} {{- range $commonConfig.packages.brewCaskTaps }} tap "{{ . }}" @@ -12,7 +12,7 @@ cask "{{ . }}" {{- end }} {{- end }} -## Machine Specific casks: {{- .data.hostname }} +## Machine Specific casks: {{- .hostname }} {{- $hostConfig := get .hosts .hostname }} {{- if (and (hasKey $hostConfig "packages") (hasKey $hostConfig.packages "brewCaskTaps")) }} {{- range $hostConfig.packages.brewCaskTaps }} From b19e6ea9ee28c1c1286ef14d4222b6a4d601860b Mon Sep 17 00:00:00 2001 From: Daniel Jones Date: Fri, 17 Apr 2026 14:40:04 +1000 Subject: [PATCH 12/14] fix: remove JQ from linux install tests --- .github/workflows/pull-request.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pull-request.yaml b/.github/workflows/pull-request.yaml index 77c81c5..0bdba48 100644 --- a/.github/workflows/pull-request.yaml +++ b/.github/workflows/pull-request.yaml @@ -15,10 +15,10 @@ jobs: steps: - uses: actions/checkout@v2 - name: Install dependencies dnf - run: dnf install -y git jq curl >/dev/null 2>&1 || echo "no dnf" + run: dnf install -y git curl >/dev/null 2>&1 || echo "no dnf" - name: Install dependencies apt run: > - apt update && apt install -y git jq curl >/dev/null 2>&1; + apt update && apt install -y git curl >/dev/null 2>&1; exit 0; - name: Install chezmoi run: sh -c "$(curl -fsLS get.chezmoi.io)" -- -b /usr/bin From 2cb51d07a5e4d5717e8287ff83ecf6a91ccb2386 Mon Sep 17 00:00:00 2001 From: Daniel Jones Date: Fri, 17 Apr 2026 15:14:05 +1000 Subject: [PATCH 13/14] temp: split apt steps: --- .github/workflows/pull-request.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pull-request.yaml b/.github/workflows/pull-request.yaml index 0bdba48..6579f50 100644 --- a/.github/workflows/pull-request.yaml +++ b/.github/workflows/pull-request.yaml @@ -12,14 +12,15 @@ jobs: - ubuntu:25.10 container: image: ${{ matrix.os }} + options: --ulimit nofile=1024:1024 steps: - uses: actions/checkout@v2 - name: Install dependencies dnf run: dnf install -y git curl >/dev/null 2>&1 || echo "no dnf" + - name: Update apt cache + run: apt update >/dev/null 2>&1 || echo "no apt" - name: Install dependencies apt - run: > - apt update && apt install -y git curl >/dev/null 2>&1; - exit 0; + run: apt install -y git curl >/dev/null 2>&1 || echo "no apt" - name: Install chezmoi run: sh -c "$(curl -fsLS get.chezmoi.io)" -- -b /usr/bin - name: Init the repo based off the current branch From 7aab264bbf2d071201a2d516c30629fed15b279d Mon Sep 17 00:00:00 2001 From: Daniel Jones Date: Fri, 17 Apr 2026 15:31:08 +1000 Subject: [PATCH 14/14] chore: bump GHA checkout actions to v5 --- .github/workflows/pull-request.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pull-request.yaml b/.github/workflows/pull-request.yaml index 6579f50..5639209 100644 --- a/.github/workflows/pull-request.yaml +++ b/.github/workflows/pull-request.yaml @@ -14,7 +14,7 @@ jobs: image: ${{ matrix.os }} options: --ulimit nofile=1024:1024 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v5 - name: Install dependencies dnf run: dnf install -y git curl >/dev/null 2>&1 || echo "no dnf" - name: Update apt cache @@ -32,7 +32,7 @@ jobs: install-and-test-macos: runs-on: macos-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v5 - name: Install chezmoi run: sh -c "$(curl -fsLS get.chezmoi.io)" -- -b /Users/runner/.local/bin - name: echo $PATH