···34343535To install, grab a build artifact for your OS and architecture from the [repository's tags](https://tangled.org/devins.page/restray/tags). On MacOS you'll need to [remove quarantine](https://disable-gatekeeper.github.io#disabling-gatekeeper-for-one-application-only) from the `.app`, since I can't pay Apple $100/year to sign it. Sorry.
36363737-Restray requires [restic](https://restic.net) installed to your PATH on MacOS/Linux, so install it with your package manager. On Windows, Restray can download and manage it's own restic binary itself if it isn't already in PATH.
3737+On MacOS, a restic binary is downloaded and bundled to the `.app` at build time, though I'd recommend installing restic to your path so you have the latest version. On Windows, Restray can download and update it's own restic binary itself if it isn't already in PATH. On Linux, you should install restic with your package manager.
38383939_If you're a Nix/NixOS/Nix-darwin user, I also provide package/module in the project's [flake](https://tangled.org/devins.page/restray) for Linux and MacOS._
4040
+19
cmd/restray/restic.go
···4141 if p := managedRestic(); p != "" {
4242 resticPath = p
4343 resticManaged = true
4444+ return
4545+ }
4646+ if p := bundledRestic(); p != "" {
4747+ resticPath = p
4448 }
4549 })
4650 return resticPath, resticManaged
5151+}
5252+5353+func bundledRestic() string {
5454+ if runtime.GOOS != "darwin" {
5555+ return ""
5656+ }
5757+ exe, err := os.Executable()
5858+ if err != nil {
5959+ return ""
6060+ }
6161+ p := filepath.Join(filepath.Dir(exe), "..", "Resources", "restic")
6262+ if _, err := os.Stat(p); err == nil {
6363+ return p
6464+ }
6565+ return ""
4766}
48674968func findResticFromShell() string {