Skip to content

Taskfile

The repository uses go-task as its command entrypoint. Taskfile.yml wraps the common operations — listing packages, dry-running Stow, checking dependencies, bootstrapping config, and OS maintenance — so you run short, consistent commands instead of remembering flags.

The task list printed by running task in the repository Taskfile entrypoint listing safe checks, dry-runs, and maintenance commands.

Discovering tasks

task          # list all available tasks (the default task)

task vs task list

task (the default) lists tasks. task list lists Stow packages as <area>/<package>, for use with task dry-run. They're different — don't confuse them.

Safe, read-only tasks

These never modify your system — they inspect, check, or print:

Task What it does
task List all available tasks
task detect Print detected OS (macos or arch)
task check Verify prerequisites (stow, git, task) are installed
task list List Stow packages
task dry-run AREA=<area> PACKAGE=<name> Dry-run a Stow package (simulation, no changes)
task deps:check:zsh Check zsh shell-tier deps (fzf, zoxide, eza, bat, oh-my-posh, zinit)
task deps:check:nvim Check Neovim-tier deps (nvim, tree-sitter, rg, fd, node)
task deps:brew Print macOS / Homebrew install commands (prints only)
task deps:arch Print Arch / EndeavourOS install commands (prints only)
task deps:debian Print Debian (stable / trixie) install commands (prints only)
task clean Report what OS cleanup would remove — dry-run, deletes nothing
task git:bootstrap:dry-run Show include entries that would be added to ~/.gitconfig
task zsh:bootstrap:dry-run Show what zsh:bootstrap would do to ~/.zshrc

Example dry-run:

task dry-run AREA=common PACKAGE=git

System-modifying tasks

These change your system or home config. Each is marked MANUAL USE ONLY in the Taskfile and creates a backup where it edits an existing file. Run the matching dry-run first.

Task What it does
task update Sync + upgrade packages (Arch: yay/pacman, macOS: brew) — interactive
task clean:apply Perform OS cleanup — destructive (orphans, cache, journal); re-prints report first
task git:bootstrap Wire ~/.gitconfig to managed Git config — idempotent, timestamped backup
task zsh:bootstrap Wire ~/.zshrc to the managed zsh layer — idempotent, timestamped backup

⚠️ MANUAL STEP — review the matching dry-run output before running any task in this table

Nothing installs automatically

Even the deps:* tasks only check or print commands — no task in this repository installs software or runs Stow on its own. Installation and stowing are always your own deliberate steps.