@heyitsiveen/dotfiles 1.0.0

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.
Files changed (94) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +176 -0
  3. package/dist/index.mjs +1445 -0
  4. package/dotfiles/macos/.claude/CLAUDE.md +13 -0
  5. package/dotfiles/macos/.claude/settings.json +38 -0
  6. package/dotfiles/macos/.claude.json +32 -0
  7. package/dotfiles/macos/.config/bat/config +27 -0
  8. package/dotfiles/macos/.config/bat/themes/Vercel.tmTheme +308 -0
  9. package/dotfiles/macos/.config/bat/themes/Vesper.tmTheme +357 -0
  10. package/dotfiles/macos/.config/btop/btop.conf +272 -0
  11. package/dotfiles/macos/.config/btop/themes/Solarized_Dark.theme +89 -0
  12. package/dotfiles/macos/.config/btop/themes/Vercel.theme +89 -0
  13. package/dotfiles/macos/.config/btop/themes/Vesper.theme +89 -0
  14. package/dotfiles/macos/.config/fish/conf.d/00-platform.fish +19 -0
  15. package/dotfiles/macos/.config/fish/conf.d/10-homebrew.fish +33 -0
  16. package/dotfiles/macos/.config/fish/conf.d/20-environment.fish +12 -0
  17. package/dotfiles/macos/.config/fish/conf.d/30-aliases.fish +52 -0
  18. package/dotfiles/macos/.config/fish/conf.d/40-fzf.fish +120 -0
  19. package/dotfiles/macos/.config/fish/conf.d/50-tools.fish +51 -0
  20. package/dotfiles/macos/.config/fish/conf.d/60-tmux.fish +19 -0
  21. package/dotfiles/macos/.config/fish/conf.d/70-tide.fish +31 -0
  22. package/dotfiles/macos/.config/fish/config.fish +30 -0
  23. package/dotfiles/macos/.config/fish/functions/_tide_palette_heyitsiveen.fish +101 -0
  24. package/dotfiles/macos/.config/fish/functions/_tide_palette_vercel.fish +94 -0
  25. package/dotfiles/macos/.config/fish/functions/_tide_palette_vesper.fish +100 -0
  26. package/dotfiles/macos/.config/fish/functions/backup.fish +43 -0
  27. package/dotfiles/macos/.config/fish/functions/fish_greeting.fish +5 -0
  28. package/dotfiles/macos/.config/fish/functions/reload-fish.fish +4 -0
  29. package/dotfiles/macos/.config/fish/functions/tide_palette.fish +21 -0
  30. package/dotfiles/macos/.config/ghostty/config +46 -0
  31. package/dotfiles/macos/.config/nvim/.neoconf.json +15 -0
  32. package/dotfiles/macos/.config/nvim/init.lua +2 -0
  33. package/dotfiles/macos/.config/nvim/lazy-lock.json +42 -0
  34. package/dotfiles/macos/.config/nvim/lazyvim.json +11 -0
  35. package/dotfiles/macos/.config/nvim/lua/config/autocmds.lua +8 -0
  36. package/dotfiles/macos/.config/nvim/lua/config/keymaps.lua +21 -0
  37. package/dotfiles/macos/.config/nvim/lua/config/lazy.lua +72 -0
  38. package/dotfiles/macos/.config/nvim/lua/config/options.lua +13 -0
  39. package/dotfiles/macos/.config/nvim/lua/plugins/colorscheme.lua +12 -0
  40. package/dotfiles/macos/.config/nvim/lua/plugins/editor.lua +366 -0
  41. package/dotfiles/macos/.config/nvim/lua/plugins/example.lua +197 -0
  42. package/dotfiles/macos/.config/nvim/lua/plugins/mason.lua +11 -0
  43. package/dotfiles/macos/.config/nvim/lua/plugins/oxc.lua +64 -0
  44. package/dotfiles/macos/.config/nvim/lua/plugins/ui.lua +123 -0
  45. package/dotfiles/macos/.config/nvim/stylua.toml +3 -0
  46. package/dotfiles/macos/.config/ripgrep/config +9 -0
  47. package/dotfiles/macos/.config/tmux/STATUSBAR REFERENCE.md +1183 -0
  48. package/dotfiles/macos/.config/tmux/keybinds.conf +124 -0
  49. package/dotfiles/macos/.config/tmux/notifications.conf +39 -0
  50. package/dotfiles/macos/.config/tmux/pane.conf +33 -0
  51. package/dotfiles/macos/.config/tmux/popup-window.conf +27 -0
  52. package/dotfiles/macos/.config/tmux/statusbar.conf +281 -0
  53. package/dotfiles/macos/.config/tmux/tmux.conf +94 -0
  54. package/dotfiles/macos/.config/wezterm/wezterm.lua +143 -0
  55. package/dotfiles/windows/.claude/CLAUDE.md +13 -0
  56. package/dotfiles/windows/.claude/settings.json +38 -0
  57. package/dotfiles/windows/.claude.json +32 -0
  58. package/dotfiles/windows/.config/bat/config +27 -0
  59. package/dotfiles/windows/.config/bat/themes/Vercel.tmTheme +308 -0
  60. package/dotfiles/windows/.config/bat/themes/Vesper.tmTheme +357 -0
  61. package/dotfiles/windows/.config/btop/btop.conf +251 -0
  62. package/dotfiles/windows/.config/btop/themes/Solarized_Dark.theme +89 -0
  63. package/dotfiles/windows/.config/btop/themes/Vercel.theme +89 -0
  64. package/dotfiles/windows/.config/btop/themes/Vesper.theme +89 -0
  65. package/dotfiles/windows/.config/nvim/.neoconf.json +15 -0
  66. package/dotfiles/windows/.config/nvim/init.lua +2 -0
  67. package/dotfiles/windows/.config/nvim/lazy-lock.json +42 -0
  68. package/dotfiles/windows/.config/nvim/lazyvim.json +11 -0
  69. package/dotfiles/windows/.config/nvim/lua/config/autocmds.lua +8 -0
  70. package/dotfiles/windows/.config/nvim/lua/config/keymaps.lua +21 -0
  71. package/dotfiles/windows/.config/nvim/lua/config/lazy.lua +72 -0
  72. package/dotfiles/windows/.config/nvim/lua/config/options.lua +13 -0
  73. package/dotfiles/windows/.config/nvim/lua/plugins/colorscheme.lua +12 -0
  74. package/dotfiles/windows/.config/nvim/lua/plugins/editor.lua +366 -0
  75. package/dotfiles/windows/.config/nvim/lua/plugins/example.lua +197 -0
  76. package/dotfiles/windows/.config/nvim/lua/plugins/mason.lua +11 -0
  77. package/dotfiles/windows/.config/nvim/lua/plugins/oxc.lua +64 -0
  78. package/dotfiles/windows/.config/nvim/lua/plugins/ui.lua +123 -0
  79. package/dotfiles/windows/.config/nvim/stylua.toml +3 -0
  80. package/dotfiles/windows/.config/omp-themes/solarized-dark.omp.toml +197 -0
  81. package/dotfiles/windows/.config/omp-themes/vercel.omp.toml +197 -0
  82. package/dotfiles/windows/.config/omp-themes/vesper.omp.toml +197 -0
  83. package/dotfiles/windows/.config/ripgrep/config +9 -0
  84. package/dotfiles/windows/.config/wezterm/wezterm.lua +88 -0
  85. package/dotfiles/windows/powershell/Profile.ps1 +36 -0
  86. package/dotfiles/windows/powershell/functions/Switch-PromptPalette.ps1 +37 -0
  87. package/dotfiles/windows/powershell/functions/backup.ps1 +39 -0
  88. package/dotfiles/windows/powershell/functions/reload-shell.ps1 +8 -0
  89. package/dotfiles/windows/powershell/modules/aliases.ps1 +44 -0
  90. package/dotfiles/windows/powershell/modules/environment.ps1 +13 -0
  91. package/dotfiles/windows/powershell/modules/fzf.ps1 +82 -0
  92. package/dotfiles/windows/powershell/modules/prompt.ps1 +25 -0
  93. package/dotfiles/windows/powershell/modules/tools.ps1 +52 -0
  94. package/package.json +72 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 heyitsiveen
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,176 @@
1
+ # heyitsiveen
2
+
3
+ Interactive CLI to set up dotfiles for macOS and Windows 11. One command to install, theme, backup, and manage your development environment.
4
+
5
+ <!-- TODO: Replace with actual recording -->
6
+ <!-- ![Demo](docs/demo.gif) -->
7
+ <!-- [How to record the demo GIF](docs/recording-demo.md) -->
8
+
9
+ ## Table of Contents
10
+
11
+ - [Quick Start](#quick-start)
12
+ - [Prerequisites](#prerequisites)
13
+ - [Tools](#tools)
14
+ - [What's Included](#whats-included)
15
+ - [Color Themes](#color-themes)
16
+ - [CLI Flags](#cli-flags)
17
+ - [How It Works](#how-it-works)
18
+ - [Development](#development)
19
+
20
+ ## Quick Start
21
+
22
+ ```bash
23
+ bunx @heyitsiveen/dotfiles@latest
24
+ ```
25
+
26
+ Or with other package runners:
27
+
28
+ ```bash
29
+ npx @heyitsiveen/dotfiles@latest
30
+ pnpm dlx @heyitsiveen/dotfiles@latest
31
+ yarn dlx @heyitsiveen/dotfiles@latest
32
+ ```
33
+
34
+ ## Prerequisites
35
+
36
+ | Prerequisite | Why | Install |
37
+ |---|---|---|
38
+ | [Node.js >= 22](https://nodejs.org/) | Running the CLI | `brew install node` or [nodejs.org](https://nodejs.org/) |
39
+ | [Nerd Font](https://www.nerdfonts.com/) | Icons in Tide, oh-my-posh, Neovim | [nerdfonts.com](https://www.nerdfonts.com/) (recommended: JetBrains Mono NF) |
40
+ | [Homebrew](https://brew.sh/) (macOS) / [winget](https://aka.ms/getwinget) (Windows) | Installing tools | [brew.sh](https://brew.sh/) / pre-installed on Windows 11 |
41
+
42
+ ## Tools
43
+
44
+ The CLI automatically detects all tools and offers to install missing ones via Homebrew (macOS) or winget (Windows).
45
+
46
+ **Required** (core tools for the dotfiles):
47
+
48
+ | Tool | macOS | Windows |
49
+ |---|---|---|
50
+ | Git | `brew install git` | `winget install Git.Git` |
51
+ | Fish Shell / PowerShell | `brew install fish` | `winget install Microsoft.PowerShell` |
52
+ | Ghostty / WezTerm | `brew install --cask ghostty` | `winget install wez.wezterm` |
53
+ | Neovim | `brew install neovim` | `winget install Neovim.Neovim` |
54
+ | tree-sitter-cli | `brew install tree-sitter-cli` | `npm i -g tree-sitter-cli` |
55
+ | C compiler | `xcode-select --install` | [VS Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/) |
56
+
57
+ > **Note:** tree-sitter-cli and a C compiler are only needed if you install Neovim. LazyVim uses them to compile syntax parsers. macOS usually has the C compiler pre-installed via Xcode Command Line Tools.
58
+
59
+ **Optional** (enhance the experience):
60
+
61
+ | Tool | macOS | Windows |
62
+ |---|---|---|
63
+ | tmux | `brew install tmux` | N/A |
64
+ | bat | `brew install bat` | `winget install sharkdp.bat` |
65
+ | btop | `brew install btop` | `winget install aristocratos.btop4win` |
66
+ | ripgrep | `brew install ripgrep` | `winget install BurntSushi.ripgrep.MSVC` |
67
+ | fd | `brew install fd` | `winget install sharkdp.fd` |
68
+ | eza | `brew install eza` | `winget install eza-community.eza` |
69
+ | fastfetch | `brew install fastfetch` | `winget install Fastfetch-cli.Fastfetch` |
70
+ | oh-my-posh | N/A | `winget install JanDeDobbeleer.OhMyPosh` |
71
+
72
+ ## What's Included
73
+
74
+ ### macOS
75
+
76
+ | Tool | Description |
77
+ |---|---|
78
+ | Fish Shell | config.fish, 8 conf.d modules, 7 functions, 3 Tide palette themes |
79
+ | Ghostty | Terminal emulator with JetBrains Mono, 0.9 opacity, 3 themes |
80
+ | WezTerm | Cross-platform terminal with Solarized/Vercel/Vesper color schemes |
81
+ | tmux | 7 config files (main, keybinds, statusbar, pane, notifications, popup) |
82
+ | Neovim | LazyVim with solarized-osaka, Snacks, Mason (oxfmt + oxlint), conform |
83
+ | bat | Config + Vercel/Vesper custom .tmTheme themes |
84
+ | btop | System monitor + 3 theme files |
85
+ | ripgrep | Smart-case, hidden files, common excludes |
86
+ | Claude Code | 6 MCP servers, CLAUDE.md, settings |
87
+
88
+ ### Windows
89
+
90
+ | Tool | Description |
91
+ |---|---|
92
+ | PowerShell | Profile, 5 modules, 3 functions |
93
+ | oh-my-posh | 3 TOML prompt themes (Solarized, Vercel, Vesper) |
94
+ | WezTerm | Windows-adapted config with tab bar |
95
+ | Neovim | LazyVim (same config as macOS) |
96
+ | bat | Config + custom themes |
97
+ | btop | System monitor + 3 theme files |
98
+ | ripgrep | Search config |
99
+ | Claude Code | 6 MCP servers, CLAUDE.md, settings |
100
+
101
+ ## Color Themes
102
+
103
+ Three themes are available across all tools:
104
+
105
+ | Theme | Style |
106
+ |---|---|
107
+ | **Solarized Dark** | Warm, low-contrast dark theme (default) |
108
+ | **Vercel** | Minimal, high-contrast dark theme |
109
+ | **Vesper** | Soft, warm dark theme with orange accents |
110
+
111
+ Switch themes instantly across all installed tools:
112
+
113
+ ```bash
114
+ npx @heyitsiveen/dotfiles --theme vercel
115
+ npx @heyitsiveen/dotfiles --theme vesper
116
+ npx @heyitsiveen/dotfiles --theme solarized-dark
117
+ ```
118
+
119
+ ## CLI Flags
120
+
121
+ | Flag | Description |
122
+ |---|---|
123
+ | `--platform <macos\|windows>` | Skip OS detection |
124
+ | `--dry-run` | Show planned operations without writing files |
125
+ | `--theme <name>` | Switch theme: `solarized-dark`, `vercel`, `vesper` |
126
+ | `--restore` | Restore from backup |
127
+ | `--uninstall` | Remove installed dotfiles |
128
+ | `--version` | Show version |
129
+ | `--help` | Show usage |
130
+
131
+ ## How It Works
132
+
133
+ 1. Detects your OS (macOS or Windows)
134
+ 2. Checks for missing tools and offers to install them (brew/winget)
135
+ 3. Shows available dotfile configurations
136
+ 4. You select which configs to install
137
+ 5. You pick a color theme
138
+ 6. Backs up existing dotfiles (optional — Neovim backups include LazyVim plugin data)
139
+ 7. Copies configs to the right locations
140
+ 8. Activates your chosen theme across all tools
141
+ 9. Checks for updates and notifies you if a new version is available
142
+
143
+ Subsequent runs detect the existing installation and offer:
144
+ - **Fresh install** — backup + overwrite
145
+ - **Update** — apply changes from a new package version
146
+ - **Change theme** — switch colors across all tools
147
+ - **Uninstall** — remove configs, uninstall tools (brew/winget), or both
148
+ - **Restore** — restore from per-tool timestamped backups
149
+
150
+ ## Development
151
+
152
+ ```bash
153
+ # Install dependencies (bun is the primary package manager)
154
+ bun install
155
+
156
+ # Build
157
+ bun run build
158
+
159
+ # Run locally
160
+ node dist/index.mjs
161
+
162
+ # Run all checks (typecheck + lint + format)
163
+ bun run check
164
+
165
+ # Or with npm
166
+ npm install && npm run build && npm run check
167
+ ```
168
+
169
+ **Pre-commit hooks** are set up via [husky](https://typicode.github.io/husky/) + [lint-staged](https://github.com/lint-staged/lint-staged). Every `git commit` automatically:
170
+ 1. Formats staged `.ts` files with oxfmt
171
+ 2. Lints staged `.ts` files with oxlint
172
+ 3. Typechecks the project with tsc
173
+
174
+ ## License
175
+
176
+ MIT