Micheal Wilkinson a381746cef feat(rc): implement rc command with .homesick.d script execution
- App.Rc runs all executable files in <castle>/.homesick.d in sorted
  (lexicographic) order with the castle root as cwd
- Non-executable files are skipped
- stdout/stderr from scripts forward to App writers
- If .homesickrc exists and parity.rb does not yet exist in .homesick.d,
  a Ruby wrapper (parity.rb) is generated before execution
- Existing parity.rb is never overwritten
- Wire rcCmd in CLI with optional CASTLE argument (defaults to dotfiles)
2026-03-20 15:29:58 +00:00
2010-03-04 00:19:35 -05:00

homesick

Main Validation PR Validation Tag Build Artifacts Coverage

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:

just go-build

Or directly with Go:

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:

just behavior

Verbose behavior suite output:

just behavior-verbose

Testing

Run all Go tests:

just go-test

License

See LICENSE.

Description
No description provided
Readme MIT 1 MiB
Languages
Go 86.3%
Shell 12.8%
Just 0.5%
Dockerfile 0.4%