Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .chezmoiignore
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ Documents/
.wslconfig
{{- end }}

# Not used on Windows (runtimes managed via fnm + standalone installs)
# Keep runtime config machine-local on Windows (Node via fnm; other runtimes as needed)
# run scripts are bash-only, PGP-SSH setup is handled manually
{{- if eq .chezmoi.os "windows" }}
.config/mise/
Expand Down
54 changes: 54 additions & 0 deletions .github/workflows/dotfiles-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Dotfiles tests

on:
push:
branches:
- main
- "kevintcoughlin/**"
pull_request:

jobs:
test-linux:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"

- name: Install test dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -r tests/requirements-dev.txt
sudo apt-get update
sudo apt-get install -y bats

- name: Run Python tests
run: pytest tests -v

- name: Run BATS tests
run: bats tests/*.bats

cross-platform-smoke:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Validate repository smoke checks
shell: pwsh
run: |
$tracked = git ls-files
$cacheMatches = $tracked | Select-String -Pattern '(^|/)tests/__pycache__/|\.pyc$'
if ($cacheMatches) {
Write-Error "Tracked cache artifacts detected:`n$($cacheMatches -join "`n")"
exit 1
}
22 changes: 12 additions & 10 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Single tool replaces fnm/pyenv/SDKMAN:

```bash
mise list # show installed
mise use node@22 # project-local
mise use node@24 # project-local
mise use --global python@3 # global default
mise current # show active versions
```
Expand Down Expand Up @@ -145,14 +145,14 @@ Notes:

| Tool | Version | Manager |
|------|---------|---------|
| Node.js | 24.x LTS | mise |
| Python | 3.13 | mise (3.14 also via winget on rogpop16redux) |
| Java | 21 (Temurin) | mise |
| Node.js | 24.x LTS | fnm |
| Python | 3.13 | winget / machine-local |
| Java | 21 (Temurin) | winget / machine-local |
| Rust | 1.95.x (stable) | rustup |
| Go | 1.26.x | mise |
| Bun | 1.3.x | mise |
| Deno | 2.7.x | mise |
| Zig | 0.16.x | mise |
| Go | 1.26.x | mise (optional, machine-local) |
Comment on lines +148 to +152

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in a4e04fe — the mise upgrade comment now lists only bun, deno, go, zig (the runtimes actually managed by mise on Windows), and dedicated fnm install --lts / fnm default lts-latest commands were added for Node.js, making this consistent with the runtime table.

| Bun | 1.3.x | mise (optional, machine-local) |
| Deno | 2.7.x | mise (optional, machine-local) |
| Zig | 0.16.x | mise (optional, machine-local) |

### Key Tools

Expand All @@ -162,13 +162,15 @@ Docker Desktop, uv, Ollama (rogpop16redux only — CUDA on RTX 4090)

```bash
winget upgrade --all # Windows packages
mise upgrade # bun, deno, go, node, python, java, zig
fnm install --lts # Node.js LTS
fnm default lts-latest # Set default Node.js LTS
mise upgrade # optional: bun, deno, go, zig
mise self-update # mise itself
rustup update stable # Rust toolchain
gh extension upgrade --all # gh extensions
npm update -g # global npm packages
Update-Module -Force # PowerShell modules
pip install --upgrade <pkg> # Python packages
pip install --upgrade <pkg> # Python packages (where pip-managed)
```

---
Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,15 @@ chezmoi init --apply KevinTCoughlin

### Runtimes (mise)

Applies to macOS/Linux. Windows keeps Node.js on `fnm` and may use machine-local runtime installs.

Single tool replaces fnm/pyenv/SDKMAN:

Node, Python, Java (Temurin), Go, Ruby, Rust, Bun, Deno, Zig, SwiftFormat, SwiftLint

```bash
mise list # installed versions
mise use node@25 # project-local
mise use node@24 # project-local
mise use --global go # global default
mise upgrade --all # update all
```
Expand Down
2 changes: 1 addition & 1 deletion dot_local/bin/executable_bootstrap
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# Run on a fresh Mac:
# curl --fail --show-error --location --proto '=https' --tlsv1.2 \
# -o /tmp/bootstrap.sh \
# https://raw.githubusercontent.com/KevinTCoughlin/dotfiles/main/bootstrap.sh
# https://raw.githubusercontent.com/KevinTCoughlin/dotfiles/main/dot_local/bin/executable_bootstrap
# bash /tmp/bootstrap.sh

set -e
Expand Down
Binary file removed tests/__pycache__/conftest.cpython-312-pytest-9.0.2.pyc
Binary file not shown.
Binary file not shown.
Loading