79 lines
1.6 KiB
Markdown
79 lines
1.6 KiB
Markdown
# homesick
|
|
|
|
[](https://git.hrafn.xyz/aether/gosick/actions/workflows/push-unit-tests.yml)
|
|
[](https://git.hrafn.xyz/aether/gosick/actions/workflows/pr-validation.yml)
|
|
[](https://git.hrafn.xyz/aether/gosick/actions/workflows/tag-build-artifacts.yml)
|
|
|
|
Your home directory is your castle. Don't leave your dotfiles behind.
|
|
|
|
This repository now contains a Go implementation of Homesick. A dotfiles repository is called a castle and should contain a `home/` directory with files to link into your `$HOME`.
|
|
|
|
## Build
|
|
|
|
Build with just:
|
|
|
|
```bash
|
|
just go-build
|
|
```
|
|
|
|
Or directly with Go:
|
|
|
|
```bash
|
|
go build -o dist/gosick ./cmd/homesick
|
|
```
|
|
|
|
## Commands
|
|
|
|
Implemented commands:
|
|
|
|
- `clone URI [CASTLE_NAME]`
|
|
- `list`
|
|
- `show_path [CASTLE]`
|
|
- `status [CASTLE]`
|
|
- `diff [CASTLE]`
|
|
- `link [CASTLE]`
|
|
- `unlink [CASTLE]`
|
|
- `track FILE [CASTLE]`
|
|
- `version`
|
|
|
|
Not yet implemented:
|
|
|
|
- `pull`
|
|
- `push`
|
|
- `commit`
|
|
- `destroy`
|
|
- `cd`
|
|
- `open`
|
|
- `exec`
|
|
- `exec_all`
|
|
- `rc`
|
|
- `generate`
|
|
|
|
## Behavior Suite
|
|
|
|
The repository includes a Docker-based behavior suite that validates filesystem and git outcomes for the implemented commands.
|
|
|
|
Run behavior suite:
|
|
|
|
```bash
|
|
just behavior
|
|
```
|
|
|
|
Verbose behavior suite output:
|
|
|
|
```bash
|
|
just behavior-verbose
|
|
```
|
|
|
|
## Testing
|
|
|
|
Run all Go tests:
|
|
|
|
```bash
|
|
just go-test
|
|
```
|
|
|
|
## License
|
|
|
|
See `LICENSE`.
|