Text · 2251 bytes Raw Blame History
1 # Installation
2
3 ## Homebrew (recommended)
4
5 The simplest way to install tarmac and ers:
6
7 ```bash
8 brew tap gardesk/tap
9 brew install ers
10 brew install tarmac
11 ```
12
13 > Note: the tarmac Homebrew formula is not yet available. Use the install script or build from source in the meantime.
14
15 ## Install script
16
17 A hosted install script that detects your platform and installs the latest release:
18
19 ```bash
20 curl -fsSL https://tarmac.musicsian.com/install.sh | bash
21 ```
22
23 The script downloads the latest release binary for your architecture (arm64 or x86_64) and places it in `/usr/local/bin/`.
24
25 To inspect the script before running:
26
27 ```bash
28 curl -fsSL https://tarmac.musicsian.com/install.sh | less
29 ```
30
31 ## Build from source
32
33 Requires the Rust toolchain. Install via [rustup](https://rustup.rs) if you don't have it:
34
35 ```bash
36 curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
37 ```
38
39 Clone and build:
40
41 ```bash
42 git clone https://github.com/gardesk/tarmac.git
43 cd tarmac
44 cargo build --release
45 ```
46
47 The binaries will be at:
48 - `./target/release/tarmac` the window manager daemon
49 - `./target/release/tarmacctl` the CLI control tool
50
51 Copy them somewhere on your `$PATH`:
52
53 ```bash
54 sudo cp target/release/tarmac /usr/local/bin/
55 sudo cp target/release/tarmacctl /usr/local/bin/
56 ```
57
58 ### Building ers separately
59
60 ers is included as a git submodule. If you want borders, build it too:
61
62 ```bash
63 git submodule update --init
64 cd ers
65 cargo build --release
66 sudo cp target/release/ers /usr/local/bin/
67 ```
68
69 Or install via Homebrew:
70
71 ```bash
72 brew tap gardesk/tap
73 brew install ers
74 ```
75
76 ## Dependencies
77
78 tarmac has no runtime dependencies beyond macOS system frameworks. The build process links against:
79
80 - **SkyLight** (private framework at `/System/Library/PrivateFrameworks/`) window level and visibility management
81 - **CoreGraphics** display and window list APIs
82 - **ApplicationServices** accessibility framework
83 - **Carbon** global hotkey registration
84
85 These are all part of macOS and do not need separate installation.
86
87 ## Verifying installation
88
89 After installing, verify both binaries are accessible:
90
91 ```bash
92 which tarmac
93 which tarmacctl
94 which ers
95 ```
96
97 All three should return paths. If any are missing, ensure `/usr/local/bin` is in your `$PATH`.