@alexgorbatchev/dotfiles 0.0.6 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,9 +5,9 @@ Download and install tools from GitHub releases with automatic platform asset se
5
5
  ## Basic Usage
6
6
 
7
7
  ```typescript
8
- import { defineTool } from '@alexgorbatchev/dotfiles';
8
+ import { defineTool } from "@alexgorbatchev/dotfiles";
9
9
 
10
- export default defineTool((install) => install('github-release', { repo: 'junegunn/fzf' }).bin('fzf'));
10
+ export default defineTool((install) => install("github-release", { repo: "junegunn/fzf" }).bin("fzf"));
11
11
  ```
12
12
 
13
13
  ## Parameters
@@ -28,31 +28,31 @@ export default defineTool((install) => install('github-release', { repo: 'junegu
28
28
  ### With Asset Pattern
29
29
 
30
30
  ```typescript
31
- install('github-release', {
32
- repo: 'sharkdp/bat',
33
- assetPattern: '*linux_amd64.tar.gz',
34
- }).bin('bat');
31
+ install("github-release", {
32
+ repo: "sharkdp/bat",
33
+ assetPattern: "*linux_amd64.tar.gz",
34
+ }).bin("bat");
35
35
  ```
36
36
 
37
37
  ### Custom Asset Selector
38
38
 
39
39
  ```typescript
40
- install('github-release', {
41
- repo: 'example/tool',
40
+ install("github-release", {
41
+ repo: "example/tool",
42
42
  assetSelector: ({ assets, systemInfo }) => {
43
- const platform = systemInfo.platform === 'darwin' ? 'macos' : systemInfo.platform;
43
+ const platform = systemInfo.platform === "darwin" ? "macos" : systemInfo.platform;
44
44
  return assets.find((a) => a.name.includes(platform));
45
45
  },
46
- }).bin('tool');
46
+ }).bin("tool");
47
47
  ```
48
48
 
49
49
  ### Specific Version
50
50
 
51
51
  ```typescript
52
- install('github-release', {
53
- repo: 'owner/tool',
54
- version: 'v2.1.0',
55
- }).bin('tool');
52
+ install("github-release", {
53
+ repo: "owner/tool",
54
+ version: "v2.1.0",
55
+ }).bin("tool");
56
56
  ```
57
57
 
58
58
  ### Using gh CLI
@@ -60,10 +60,10 @@ install('github-release', {
60
60
  Use the `gh` CLI for API requests instead of fetch. Useful when working behind proxies or leveraging existing `gh` authentication:
61
61
 
62
62
  ```typescript
63
- install('github-release', {
64
- repo: 'owner/tool',
63
+ install("github-release", {
64
+ repo: "owner/tool",
65
65
  ghCli: true,
66
- }).bin('tool');
66
+ }).bin("tool");
67
67
  ```
68
68
 
69
69
  ### Including Prereleases
@@ -71,10 +71,10 @@ install('github-release', {
71
71
  By default, GitHub's "latest" excludes prereleases. Use `prerelease: true` for repos that only publish prerelease versions:
72
72
 
73
73
  ```typescript
74
- install('github-release', {
75
- repo: 'owner/nightly-only-tool',
74
+ install("github-release", {
75
+ repo: "owner/nightly-only-tool",
76
76
  prerelease: true,
77
- }).bin('tool');
77
+ }).bin("tool");
78
78
  ```
79
79
 
80
80
  ## Asset Pattern Matching
@@ -5,29 +5,29 @@ Installs files from your tool configuration directory (custom scripts, pre-built
5
5
  ## Basic Usage
6
6
 
7
7
  ```typescript
8
- import { defineTool } from '@alexgorbatchev/dotfiles';
8
+ import { defineTool } from "@alexgorbatchev/dotfiles";
9
9
 
10
10
  // Install a custom script
11
11
  export default defineTool((install, ctx) =>
12
- install('manual', {
13
- binaryPath: './scripts/my-tool.sh',
14
- }).bin('my-tool')
12
+ install("manual", {
13
+ binaryPath: "./scripts/my-tool.sh",
14
+ }).bin("my-tool"),
15
15
  );
16
16
 
17
17
  // Without params (shell-only or dependency wrapper)
18
18
  export default defineTool((install) =>
19
- install('manual')
20
- .bin('tokscale')
21
- .dependsOn('bun')
19
+ install("manual")
20
+ .bin("tokscale")
21
+ .dependsOn("bun")
22
22
  .zsh((shell) =>
23
23
  shell.functions({
24
24
  tokscale: `bun x tokscale@latest`,
25
- })
26
- )
25
+ }),
26
+ ),
27
27
  );
28
28
 
29
29
  // Configuration-only tool (no binary)
30
- export default defineTool((install, ctx) => install().zsh((shell) => shell.aliases({ ll: 'ls -la' })));
30
+ export default defineTool((install, ctx) => install().zsh((shell) => shell.aliases({ ll: "ls -la" })));
31
31
  ```
32
32
 
33
33
  ## Parameters
@@ -43,27 +43,27 @@ export default defineTool((install, ctx) => install().zsh((shell) => shell.alias
43
43
 
44
44
  ```typescript
45
45
  export default defineTool((install, ctx) =>
46
- install('manual', {
47
- binaryPath: './binaries/linux/x64/custom-tool',
48
- }).bin('custom-tool')
46
+ install("manual", {
47
+ binaryPath: "./binaries/linux/x64/custom-tool",
48
+ }).bin("custom-tool"),
49
49
  );
50
50
  ```
51
51
 
52
52
  ### Configuration-Only Tool
53
53
 
54
54
  ```typescript
55
- export default defineTool((install, ctx) => install().zsh((shell) => shell.aliases({ ll: 'ls -la', la: 'ls -A' })));
55
+ export default defineTool((install, ctx) => install().zsh((shell) => shell.aliases({ ll: "ls -la", la: "ls -A" })));
56
56
  ```
57
57
 
58
58
  ### With Shell Configuration
59
59
 
60
60
  ```typescript
61
61
  export default defineTool((install, ctx) =>
62
- install('manual', {
63
- binaryPath: './bin/my-tool.sh',
62
+ install("manual", {
63
+ binaryPath: "./bin/my-tool.sh",
64
64
  })
65
- .bin('my-tool')
66
- .zsh((shell) => shell.aliases({ mt: 'my-tool' }).completions('./completions/_my-tool'))
65
+ .bin("my-tool")
66
+ .zsh((shell) => shell.aliases({ mt: "my-tool" }).completions("./completions/_my-tool")),
67
67
  );
68
68
  ```
69
69
 
@@ -5,9 +5,9 @@ Install tools published as npm packages. Supports both `npm` and `bun` as packag
5
5
  ## Basic Usage
6
6
 
7
7
  ```typescript
8
- import { defineTool } from '@alexgorbatchev/dotfiles';
8
+ import { defineTool } from "@alexgorbatchev/dotfiles";
9
9
 
10
- export default defineTool((install) => install('npm', { package: 'prettier' }).bin('prettier'));
10
+ export default defineTool((install) => install("npm", { package: "prettier" }).bin("prettier"));
11
11
  ```
12
12
 
13
13
  ## Parameters
@@ -18,7 +18,7 @@ export default defineTool((install) => install('npm', { package: 'prettier' }).b
18
18
  | `version` | `string` | No | Version or version range (e.g., `3.0.0`, defaults to latest) |
19
19
  | `packageManager` | `'npm' \| 'bun'` | No | Package manager to use for installation (defaults to `'npm'`) |
20
20
  | `versionArgs` | `string[]` | No | Arguments for version check (e.g., `['--version']`) |
21
- | `versionRegex` | `string` | No | Regex to extract version from output |
21
+ | `versionRegex` | `string \| RegExp` | No | Regex to extract version from output |
22
22
  | `env` | `Record<string, string> \| (ctx) => Record<...>` | No | Environment variables (static or dynamic function) |
23
23
 
24
24
  ## Examples
@@ -27,10 +27,10 @@ export default defineTool((install) => install('npm', { package: 'prettier' }).b
27
27
 
28
28
  ```typescript
29
29
  export default defineTool((install) =>
30
- install('npm', {
31
- package: 'prettier',
32
- version: '3.0.0',
33
- }).bin('prettier')
30
+ install("npm", {
31
+ package: "prettier",
32
+ version: "3.0.0",
33
+ }).bin("prettier"),
34
34
  );
35
35
  ```
36
36
 
@@ -38,10 +38,10 @@ export default defineTool((install) =>
38
38
 
39
39
  ```typescript
40
40
  export default defineTool((install) =>
41
- install('npm', {
42
- package: 'prettier',
43
- packageManager: 'bun',
44
- }).bin('prettier')
41
+ install("npm", {
42
+ package: "prettier",
43
+ packageManager: "bun",
44
+ }).bin("prettier"),
45
45
  );
46
46
  ```
47
47
 
@@ -49,9 +49,9 @@ export default defineTool((install) =>
49
49
 
50
50
  ```typescript
51
51
  export default defineTool((install) =>
52
- install('npm', {
53
- package: '@angular/cli',
54
- }).bin('ng')
52
+ install("npm", {
53
+ package: "@angular/cli",
54
+ }).bin("ng"),
55
55
  );
56
56
  ```
57
57
 
@@ -59,11 +59,11 @@ export default defineTool((install) =>
59
59
 
60
60
  ```typescript
61
61
  export default defineTool((install) =>
62
- install('npm', {
63
- package: 'typescript',
64
- versionArgs: ['--version'],
65
- versionRegex: '(\\d+\\.\\d+\\.\\d+)',
66
- }).bin('tsc')
62
+ install("npm", {
63
+ package: "typescript",
64
+ versionArgs: ["--version"],
65
+ versionRegex: /(\d+\.\d+\.\d+)/,
66
+ }).bin("tsc"),
67
67
  );
68
68
  ```
69
69
 
@@ -9,12 +9,12 @@ The system supports multiple installation methods to accommodate different tool
9
9
  Install tools from GitHub releases with automatic asset selection and extraction.
10
10
 
11
11
  ```typescript
12
- import { defineTool } from '@alexgorbatchev/dotfiles';
12
+ import { defineTool } from "@alexgorbatchev/dotfiles";
13
13
 
14
14
  export default defineTool((install, ctx) =>
15
- install('github-release', {
16
- repo: 'owner/repository',
17
- }).bin('tool')
15
+ install("github-release", {
16
+ repo: "owner/repository",
17
+ }).bin("tool"),
18
18
  );
19
19
  ```
20
20
 
@@ -23,13 +23,13 @@ export default defineTool((install, ctx) =>
23
23
  Install tools from Gitea, Forgejo, or Codeberg releases with automatic asset selection.
24
24
 
25
25
  ```typescript
26
- import { defineTool } from '@alexgorbatchev/dotfiles';
26
+ import { defineTool } from "@alexgorbatchev/dotfiles";
27
27
 
28
28
  export default defineTool((install, ctx) =>
29
- install('gitea-release', {
30
- instanceUrl: 'https://codeberg.org',
31
- repo: 'owner/repository',
32
- }).bin('tool')
29
+ install("gitea-release", {
30
+ instanceUrl: "https://codeberg.org",
31
+ repo: "owner/repository",
32
+ }).bin("tool"),
33
33
  );
34
34
  ```
35
35
 
@@ -38,12 +38,12 @@ export default defineTool((install, ctx) =>
38
38
  Install tools using Homebrew package manager (macOS and Linux).
39
39
 
40
40
  ```typescript
41
- import { defineTool } from '@alexgorbatchev/dotfiles';
41
+ import { defineTool } from "@alexgorbatchev/dotfiles";
42
42
 
43
43
  export default defineTool((install, ctx) =>
44
- install('brew', {
45
- formula: 'ripgrep',
46
- }).bin('rg')
44
+ install("brew", {
45
+ formula: "ripgrep",
46
+ }).bin("rg"),
47
47
  );
48
48
  ```
49
49
 
@@ -52,12 +52,12 @@ export default defineTool((install, ctx) =>
52
52
  Install Rust tools from crates.io with cargo-quickinstall for faster downloads.
53
53
 
54
54
  ```typescript
55
- import { defineTool } from '@alexgorbatchev/dotfiles';
55
+ import { defineTool } from "@alexgorbatchev/dotfiles";
56
56
 
57
57
  export default defineTool((install, ctx) =>
58
- install('cargo', {
59
- crateName: 'ripgrep',
60
- }).bin('rg')
58
+ install("cargo", {
59
+ crateName: "ripgrep",
60
+ }).bin("rg"),
61
61
  );
62
62
  ```
63
63
 
@@ -66,12 +66,12 @@ export default defineTool((install, ctx) =>
66
66
  Install tools published as npm packages.
67
67
 
68
68
  ```typescript
69
- import { defineTool } from '@alexgorbatchev/dotfiles';
69
+ import { defineTool } from "@alexgorbatchev/dotfiles";
70
70
 
71
71
  export default defineTool((install, ctx) =>
72
- install('npm', {
73
- package: 'prettier',
74
- }).bin('prettier')
72
+ install("npm", {
73
+ package: "prettier",
74
+ }).bin("prettier"),
75
75
  );
76
76
  ```
77
77
 
@@ -80,13 +80,13 @@ export default defineTool((install, ctx) =>
80
80
  Download and execute installation scripts.
81
81
 
82
82
  ```typescript
83
- import { defineTool } from '@alexgorbatchev/dotfiles';
83
+ import { defineTool } from "@alexgorbatchev/dotfiles";
84
84
 
85
85
  export default defineTool((install, ctx) =>
86
- install('curl-script', {
87
- url: 'https://bun.sh/install',
88
- shell: 'bash',
89
- }).bin('bun')
86
+ install("curl-script", {
87
+ url: "https://bun.sh/install",
88
+ shell: "bash",
89
+ }).bin("bun"),
90
90
  );
91
91
  ```
92
92
 
@@ -95,12 +95,12 @@ export default defineTool((install, ctx) =>
95
95
  Download and extract tarballs directly from URLs.
96
96
 
97
97
  ```typescript
98
- import { defineTool } from '@alexgorbatchev/dotfiles';
98
+ import { defineTool } from "@alexgorbatchev/dotfiles";
99
99
 
100
100
  export default defineTool((install, ctx) =>
101
- install('curl-tar', {
102
- url: 'https://releases.example.com/tool-v1.0.0.tar.gz',
103
- }).bin('tool')
101
+ install("curl-tar", {
102
+ url: "https://releases.example.com/tool-v1.0.0.tar.gz",
103
+ }).bin("tool"),
104
104
  );
105
105
  ```
106
106
 
@@ -109,12 +109,12 @@ export default defineTool((install, ctx) =>
109
109
  Download standalone binary files directly from URLs (no archive extraction).
110
110
 
111
111
  ```typescript
112
- import { defineTool } from '@alexgorbatchev/dotfiles';
112
+ import { defineTool } from "@alexgorbatchev/dotfiles";
113
113
 
114
114
  export default defineTool((install, ctx) =>
115
- install('curl-binary', {
116
- url: 'https://example.com/tool-v1.0.0-linux-amd64',
117
- }).bin('tool')
115
+ install("curl-binary", {
116
+ url: "https://example.com/tool-v1.0.0-linux-amd64",
117
+ }).bin("tool"),
118
118
  );
119
119
  ```
120
120
 
@@ -123,26 +123,26 @@ export default defineTool((install, ctx) =>
123
123
  Install macOS applications from DMG disk images into `/Applications` (silently skipped on other platforms).
124
124
 
125
125
  ```typescript
126
- import { defineTool } from '@alexgorbatchev/dotfiles';
126
+ import { defineTool } from "@alexgorbatchev/dotfiles";
127
127
 
128
128
  export default defineTool((install, ctx) =>
129
- install('dmg', {
129
+ install("dmg", {
130
130
  source: {
131
- type: 'url',
132
- url: 'https://example.com/MyApp-1.0.0.dmg',
131
+ type: "url",
132
+ url: "https://example.com/MyApp-1.0.0.dmg",
133
133
  },
134
- })
134
+ }),
135
135
  );
136
136
  ```
137
137
 
138
138
  DMG also supports GitHub release sources:
139
139
 
140
140
  ```typescript
141
- install('dmg', {
141
+ install("dmg", {
142
142
  source: {
143
- type: 'github-release',
144
- repo: 'manaflow-ai/cmux',
145
- assetPattern: '*macos*.dmg',
143
+ type: "github-release",
144
+ repo: "manaflow-ai/cmux",
145
+ assetPattern: "*macos*.dmg",
146
146
  },
147
147
  });
148
148
  ```
@@ -152,29 +152,29 @@ install('dmg', {
152
152
  Install files from your dotfiles directory (custom scripts, pre-built binaries) or configuration-only tools. Can be called without params: `install('manual')`.
153
153
 
154
154
  ```typescript
155
- import { defineTool } from '@alexgorbatchev/dotfiles';
155
+ import { defineTool } from "@alexgorbatchev/dotfiles";
156
156
 
157
157
  // With binary installation
158
158
  export default defineTool((install, ctx) =>
159
- install('manual', {
160
- binaryPath: './bin/my-script.sh',
161
- }).bin('my-script')
159
+ install("manual", {
160
+ binaryPath: "./bin/my-script.sh",
161
+ }).bin("my-script"),
162
162
  );
163
163
 
164
164
  // Without params (shell-only or dependency wrapper)
165
165
  export default defineTool((install) =>
166
- install('manual')
167
- .bin('tokscale')
168
- .dependsOn('bun')
166
+ install("manual")
167
+ .bin("tokscale")
168
+ .dependsOn("bun")
169
169
  .zsh((shell) =>
170
170
  shell.functions({
171
171
  tokscale: `bun x tokscale@latest`,
172
- })
173
- )
172
+ }),
173
+ ),
174
174
  );
175
175
 
176
176
  // Configuration-only
177
- export default defineTool((install, ctx) => install().zsh((shell) => shell.aliases({ ll: 'ls -la' })));
177
+ export default defineTool((install, ctx) => install().zsh((shell) => shell.aliases({ ll: "ls -la" })));
178
178
  ```
179
179
 
180
180
  ### Zsh Plugin
@@ -182,13 +182,12 @@ export default defineTool((install, ctx) => install().zsh((shell) => shell.alias
182
182
  Clone Git repositories for zsh plugins.
183
183
 
184
184
  ```typescript
185
- import { defineTool } from '@alexgorbatchev/dotfiles';
185
+ import { defineTool } from "@alexgorbatchev/dotfiles";
186
186
 
187
187
  export default defineTool((install, ctx) =>
188
- install('zsh-plugin', {
189
- repo: 'jeffreytse/zsh-vi-mode',
190
- })
191
- .zsh((shell) => shell.always(`source "${ctx.currentDir}/zsh-vi-mode.plugin.zsh"`))
188
+ install("zsh-plugin", {
189
+ repo: "jeffreytse/zsh-vi-mode",
190
+ }).zsh((shell) => shell.always(`source "${ctx.currentDir}/zsh-vi-mode.plugin.zsh"`)),
192
191
  );
193
192
  ```
194
193
 
@@ -222,12 +221,12 @@ The `manual` method is the unified approach for binary installation from your do
222
221
  **Example:** Including a custom deployment script with your dotfiles.
223
222
 
224
223
  ```typescript
225
- import { defineTool } from '@alexgorbatchev/dotfiles';
224
+ import { defineTool } from "@alexgorbatchev/dotfiles";
226
225
 
227
226
  export default defineTool((install, ctx) =>
228
- install('manual', {
229
- binaryPath: './scripts/deploy.sh',
230
- }).bin('deploy')
227
+ install("manual", {
228
+ binaryPath: "./scripts/deploy.sh",
229
+ }).bin("deploy"),
231
230
  );
232
231
  ```
233
232
 
@@ -241,18 +240,18 @@ export default defineTool((install, ctx) =>
241
240
  **Example:** Setting up shell aliases and environment variables.
242
241
 
243
242
  ```typescript
244
- import { defineTool } from '@alexgorbatchev/dotfiles';
243
+ import { defineTool } from "@alexgorbatchev/dotfiles";
245
244
 
246
245
  export default defineTool((install, ctx) =>
247
246
  install().zsh((shell) =>
248
247
  shell
249
248
  .aliases({
250
- ll: 'ls -la',
249
+ ll: "ls -la",
251
250
  })
252
251
  .env({
253
- EDITOR: 'vim',
254
- })
255
- )
252
+ EDITOR: "vim",
253
+ }),
254
+ ),
256
255
  );
257
256
  ```
258
257
 
@@ -272,17 +271,17 @@ All installation methods support an `env` parameter for setting environment vari
272
271
 
273
272
  ```typescript
274
273
  // Static environment variables
275
- install('github-release', {
276
- repo: 'owner/tool',
277
- env: { CUSTOM_FLAG: 'true' },
278
- }).bin('tool');
274
+ install("github-release", {
275
+ repo: "owner/tool",
276
+ env: { CUSTOM_FLAG: "true" },
277
+ }).bin("tool");
279
278
 
280
279
  // Dynamic environment variables
281
- install('curl-script', {
282
- url: 'https://example.com/install.sh',
283
- shell: 'bash',
280
+ install("curl-script", {
281
+ url: "https://example.com/install.sh",
282
+ shell: "bash",
284
283
  env: (ctx) => ({ INSTALL_DIR: ctx.stagingDir }),
285
- }).bin('tool');
284
+ }).bin("tool");
286
285
  ```
287
286
 
288
287
  Dynamic `env` functions receive a context with:
@@ -11,12 +11,12 @@ The `zsh-plugin` installation method clones Git repositories for zsh plugins and
11
11
  The simplest way to install a plugin from GitHub:
12
12
 
13
13
  ```typescript
14
- import { defineTool } from '@alexgorbatchev/dotfiles';
14
+ import { defineTool } from "@alexgorbatchev/dotfiles";
15
15
 
16
16
  export default defineTool((install) =>
17
- install('zsh-plugin', {
18
- repo: 'jeffreytse/zsh-vi-mode',
19
- })
17
+ install("zsh-plugin", {
18
+ repo: "jeffreytse/zsh-vi-mode",
19
+ }),
20
20
  );
21
21
  ```
22
22
 
@@ -27,12 +27,12 @@ The plugin is automatically sourced - no additional configuration needed!
27
27
  For plugins hosted elsewhere (GitLab, Bitbucket, private repos):
28
28
 
29
29
  ```typescript
30
- import { defineTool } from '@alexgorbatchev/dotfiles';
30
+ import { defineTool } from "@alexgorbatchev/dotfiles";
31
31
 
32
32
  export default defineTool((install) =>
33
- install('zsh-plugin', {
34
- url: 'https://gitlab.com/user/custom-plugin.git',
35
- })
33
+ install("zsh-plugin", {
34
+ url: "https://gitlab.com/user/custom-plugin.git",
35
+ }),
36
36
  );
37
37
  ```
38
38
 
@@ -59,13 +59,13 @@ By default (`auto: true`), zsh plugins are automatically installed during the `d
59
59
  To disable auto-installation and require explicit `dotfiles install`:
60
60
 
61
61
  ```typescript
62
- import { defineTool } from '@alexgorbatchev/dotfiles';
62
+ import { defineTool } from "@alexgorbatchev/dotfiles";
63
63
 
64
64
  export default defineTool((install) =>
65
- install('zsh-plugin', {
66
- repo: 'jeffreytse/zsh-vi-mode',
65
+ install("zsh-plugin", {
66
+ repo: "jeffreytse/zsh-vi-mode",
67
67
  auto: false, // Requires explicit `dotfiles install`
68
- })
68
+ }),
69
69
  );
70
70
  ```
71
71
 
@@ -74,13 +74,13 @@ export default defineTool((install) =>
74
74
  Use `pluginName` when you want the plugin directory name to differ from the repository name:
75
75
 
76
76
  ```typescript
77
- import { defineTool } from '@alexgorbatchev/dotfiles';
77
+ import { defineTool } from "@alexgorbatchev/dotfiles";
78
78
 
79
79
  export default defineTool((install) =>
80
- install('zsh-plugin', {
81
- repo: 'jeffreytse/zsh-vi-mode',
82
- pluginName: 'vi-mode', // Cloned to plugins/vi-mode instead of plugins/zsh-vi-mode
83
- })
80
+ install("zsh-plugin", {
81
+ repo: "jeffreytse/zsh-vi-mode",
82
+ pluginName: "vi-mode", // Cloned to plugins/vi-mode instead of plugins/zsh-vi-mode
83
+ }),
84
84
  );
85
85
  ```
86
86
 
@@ -89,13 +89,13 @@ export default defineTool((install) =>
89
89
  If the plugin's source file doesn't follow standard naming conventions, specify it explicitly:
90
90
 
91
91
  ```typescript
92
- import { defineTool } from '@alexgorbatchev/dotfiles';
92
+ import { defineTool } from "@alexgorbatchev/dotfiles";
93
93
 
94
94
  export default defineTool((install) =>
95
- install('zsh-plugin', {
96
- repo: 'some-org/some-plugin',
97
- source: 'custom-init.zsh', // Use this file instead of auto-detection
98
- })
95
+ install("zsh-plugin", {
96
+ repo: "some-org/some-plugin",
97
+ source: "custom-init.zsh", // Use this file instead of auto-detection
98
+ }),
99
99
  );
100
100
  ```
101
101
 
@@ -122,18 +122,17 @@ The installer checks for these files in order:
122
122
  Use `.zsh()` to add environment variables or other shell configuration:
123
123
 
124
124
  ```typescript
125
- import { defineTool } from '@alexgorbatchev/dotfiles';
125
+ import { defineTool } from "@alexgorbatchev/dotfiles";
126
126
 
127
127
  export default defineTool((install) =>
128
- install('zsh-plugin', {
129
- repo: 'jeffreytse/zsh-vi-mode',
130
- })
131
- .zsh((shell) =>
132
- shell.env({
133
- ZVM_VI_INSERT_ESCAPE_BINDKEY: 'jj',
134
- ZVM_CURSOR_STYLE_ENABLED: 'false',
135
- })
136
- )
128
+ install("zsh-plugin", {
129
+ repo: "jeffreytse/zsh-vi-mode",
130
+ }).zsh((shell) =>
131
+ shell.env({
132
+ ZVM_VI_INSERT_ESCAPE_BINDKEY: "jj",
133
+ ZVM_CURSOR_STYLE_ENABLED: "false",
134
+ }),
135
+ ),
137
136
  );
138
137
  ```
139
138