You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update README to reflect current project structure
- Updated directory structure to match actual files
- Removed VS Code references, replaced with editor-agnostic approach
- Updated installation commands to show both rick and macbook configs
- Added new Linux modules (aws.nix, github.nix, ramdisk.nix, etc.)
- Replaced outdated version manager section with modern features
- Updated common tasks with correct file paths
- Minor formatting improvements to Claude Code instructions
-**context7**: Documentation and context retrieval
164
186
-**code-reasoning**: Code analysis and reasoning capabilities
165
187
-**sequential-thinking**: Step-by-step problem solving
166
188
167
189
The configuration automatically:
190
+
168
191
- Installs Claude Code via npm
169
192
- Configures MCP servers as user-scoped (available across all projects)
170
193
- Sets up custom commands and workflows
171
194
- Manages settings and documentation
172
195
173
196
**Claude Code features:**
197
+
174
198
- Custom commands for Linear integration
175
199
- Sophisticated development workflows
176
200
- Automated code quality checks
@@ -179,6 +203,7 @@ The configuration automatically:
179
203
### 🖥️ Local Development Options
180
204
181
205
While this configuration previously included Vagrant VM setup, the focus has shifted to:
206
+
182
207
-**Direct macOS development** with Nix managing dependencies
183
208
-**Cloud development** using EC2 instances with Tailscale
184
209
-**Claude Code integration** for AI-enhanced development
@@ -192,7 +217,6 @@ Want to take your development environment to the cloud? Here's how to set up you
192
217
> **Note**: As an alternative to manual setup, consider using the Packer template in `packer/aws-ec2.pkr.hcl` to automatically build an AMI with Nix pre-configured. See the [Cloud Deployment with Packer](#-cloud-deployment-with-packer) section.
193
218
194
219
1. Launch an Ubuntu EC2 instance:
195
-
196
220
- Use Ubuntu Server 22.04 LTS or newer (ARM64 for Graviton instances)
197
221
- Recommended: t4g.medium or better for decent performance
198
222
- You can keep the instance completely private in a private subnet
@@ -219,7 +243,6 @@ Want to take your development environment to the cloud? Here's how to set up you
219
243
```
220
244
221
245
3. Install Tailscale on your local machine:
222
-
223
246
- macOS: `brew install tailscale`
224
247
- Visit https://tailscale.com/download for other platforms
225
248
- Run `tailscale up` and authenticate
@@ -250,7 +273,6 @@ Want to take your development environment to the cloud? Here's how to set up you
250
273
```
251
274
252
275
6. Create EC2-specific configuration:
253
-
254
276
- Modify your `flake.nix` to add an EC2 configuration:
255
277
256
278
```nix
@@ -318,17 +340,12 @@ Want to take your development environment to the cloud? Here's how to set up you
318
340
nix run home-manager/master -- switch --flake ~/.config/nix#ec2 --impure
319
341
```
320
342
321
-
8. Connect with VS Code:
322
-
323
-
- Install the "Remote - SSH" extension in VS Code
324
-
- Add a new SSH configuration by editing your SSH config file:
325
-
```
326
-
Host ec2-dev
327
-
HostName ec2-hostname.tailnet.ts.net
328
-
User ubuntu
329
-
ForwardAgent yes
343
+
8. Connect with your editor:
344
+
- Use SSH to connect to your development environment:
345
+
```bash
346
+
ssh ubuntu@ec2-hostname.tailnet.ts.net
330
347
```
331
-
- Connect to "ec2-dev" from the Remote SSH extension
348
+
- Or configure your editor's remote development features
332
349
- Open your projects folder and enjoy your cloud development environment!
333
350
334
351
9. To update your configuration:
@@ -346,22 +363,22 @@ With this Tailscale-powered setup, you get all the benefits of a cloud developme
346
363
- Get consistent development environments across your entire team
347
364
- Access your environment securely from anywhere
348
365
349
-
### 🔧 Version Manager Setup
350
-
351
-
I've set up two super handy version managers in the VM that make switching between different versions of tools a breeze:
366
+
### 🔧 Additional Features
352
367
353
-
1.**tfenv** - For all your Terraform needs:
354
-
355
-
```bash
356
-
# Grab any Terraform version you want
357
-
tfenv install 1.5.0
368
+
This configuration includes several advanced features:
358
369
359
-
# Switch versions with a single command
360
-
tfenv use 1.5.0
370
+
#### 🌟 Enhanced Linux Development
371
+
- **AWS Integration**: Pre-configured AWS CLI with profile support
372
+
- **GitHub CLI**: Seamless GitHub integration with authentication
373
+
- **RAM Disk Support**: High-performance temporary storage configurations
374
+
- **Cloud Storage**: Rclone integration for syncing with cloud providers
375
+
- **Custom Scripts**: User-defined scripts for workflow automation
361
376
362
-
# See what you've got installed
363
-
tfenv list
364
-
```
377
+
#### 🛠️ Specialized Configurations
378
+
- **Renovate**: Automated dependency updates via `renovate.json`
379
+
- **Commit Conventions**: Standardized commit message format via `COMMIT_CONVENTION.md`
380
+
- **Zed Editor**: Modern editor configuration with settings
381
+
- **Linear Integration**: Custom Claude Code commands for Linear workflow
365
382
366
383
## 🔄 Usage
367
384
@@ -375,8 +392,11 @@ Keeping everything up to date is super simple:
375
392
# Pull latest changes
376
393
git pull
377
394
378
-
# Apply configuration
395
+
# Apply configuration (replace with your hostname)
@@ -494,25 +518,31 @@ I've set things up so I can easily manage:
494
518
495
519
This configuration focuses exclusively on ARM64 architecture (aarch64), optimized for Apple Silicon Macs and ARM-based Linux environments like ARM EC2 instances.
496
520
497
-
### 📦 Custom Nix Overlays
498
-
499
-
Sometimes the standard Nix packages don't have exactly what you need, or they're not up to date. That's where my custom overlays come in:
521
+
### 📦 Modern Development Workflow
500
522
501
-
-**tfenv**: My go-to for managing multiple Terraform versions
523
+
This configuration emphasizes a streamlined development approach:
502
524
503
-
These make life so much easier when you're working across multiple projects with different requirements.
525
+
- **Declarative Configuration**: All system and development tools managed through Nix
526
+
- **Cross-Platform Consistency**: Shared configuration between macOS and Linux environments
527
+
- **AI-Enhanced Development**: Deep Claude Code integration with custom commands
528
+
- **Cloud-Native Ready**: Built-in support for AWS, GitHub, and cloud storage
529
+
- **Automated Maintenance**: Renovate for dependency updates, pre-commit hooks for quality
504
530
505
531
## 💡 Tips and Tricks
506
532
507
533
Here are a few things I've learned along the way:
508
534
509
535
- 🔄 **Nix + Homebrew Harmony**: Keep an eye on your PATH - I've set Homebrew to take precedence, but you might want to adjust this
510
536
511
-
- 🖥️ **VS Code Remote SSH**: The Remote SSH extension makes working in the VM feel just like working locally
537
+
- 🖥️ **Remote Development**: SSH-based remote development works seamlessly with modern editors
538
+
539
+
- 🌐 **Browser Integration**: When you run commands like `gh auth login`, browser links will open automatically on your host machine
540
+
541
+
- 🤖 **Claude Code Commands**: Use the custom commands in`common/claude-code/commands/`for Linear integration and development workflows
512
542
513
-
-🌐**Browser Integration**: When you're in VS Code and run something like `gh auth login`, browser links will open automatically on your host machine
543
+
- 🔧**Tailscale Networking**: Secure networking between your devices without exposing services to the internet
514
544
515
-
-🔧**Multiple Terraform Versions**: Use tfenv to easily switch between different versions of Terraform for various projects
545
+
- 📦**Shared vs Specific**: Use `common/home-packages.nix`for tools you want everywhere, platform-specific configs forspecialized tools
0 commit comments