Developing locally
chezmoi is written in Go and development happens on GitHub. chezmoi is a standard Go project, using standard Go tooling. chezmoi requires Go 1.19 or later.
Checkout chezmoi:
$ git clone https://github.com/twpayne/chezmoi.git
$ cd chezmoi
Build chezmoi:
$ go build
Hint
If you try to build chezmoi with an unsupported version of Go you will get the error:
package github.com/twpayne/chezmoi/v2: build constraints exclude all Go files in /home/twp/src/github.com/twpayne/chezmoi
Run all tests:
$ go test ./...
chezmoi's tests include integration tests with other software. If the other
software is not found in $PATH
the tests will be skipped. Running the full
set of tests requires age
, base64
, bash
, gpg
, perl
, python3
,
ruby
, sed
, sha256sum
, unzip
, xz
, zip
, and zstd
.
Run chezmoi:
$ go run .
Run a set of smoketests, including cross-compilation, tests, and linting:
$ make smoketest