-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup_repository_generator.ps1
More file actions
158 lines (123 loc) · 4.2 KB
/
setup_repository_generator.ps1
File metadata and controls
158 lines (123 loc) · 4.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
# PowerShell Script to Generate Setup Files and Folders
# Creates a structured repository with public and private setup instructions
# Define folder and file structure
$folders = @(
"setup",
"setup/private"
)
$files = @{
"setup/README.md" = @"
# Machine Setup Instructions
Welcome to my machine setup repository! This is a guide for setting up a new machine with all the tools, configurations, and profiles I use. The instructions are split into the following sections:
- [Browser Setup](browser-setup.md): Setting up browser profiles and extensions.
- [Software Setup](software-setup.md): Installing essential software.
- [Development Environment](dev-environment.md): Configuring IDEs, programming languages, and tools.
- [Shortcuts and Scripts](shortcuts.md): Setting up custom shortcuts and automation.
Private details (like email addresses) are stored separately and are not included in this repository. Refer to your personal storage for those.
---
### Quick Start
1. Install Windows updates.
2. Run the initial setup script: `setup.ps1`.
3. Follow the guides in each section for more detailed steps.
"@
"setup/browser-setup.md" = @"
# Browser Setup
## Edge Profiles
Set up the following profiles in Microsoft Edge:
1. **Work**: For work-related browsing.
2. **Personal**: For personal use.
3. **Testing**: For testing apps or sites.
4. **Dev**: For development and staging environments.
5. **Admin**: For admin dashboards and tools.
### Extensions
Install the following extensions for all profiles:
- [uBlock Origin](https://www.ublock.org/)
- [Grammarly](https://www.grammarly.com/)
- [LastPass](https://www.lastpass.com/)
---
**Private Details:** Email addresses for profiles are stored in `private/private-notes.md` or your 1Password vault.
"@
"setup/software-setup.md" = @"
# Software Setup
## Essential Applications
Install the following software:
1. Google Chrome: `winget install --id Google.Chrome`
2. Visual Studio Code: `winget install --id Microsoft.VisualStudioCode`
3. Slack: `winget install --id SlackTechnologies.Slack`
4. Git: `winget install --id Git.Git`
## Additional Tools
- Docker Desktop: For containerized development.
- Postman: For API testing.
- Notion: For documentation and notes.
---
**Optional:** Customize your setup by adding additional tools based on your preferences.
"@
"setup/dev-environment.md" = @"
# Development Environment
## Programming Languages
Install the following:
- **Node.js**: `winget install --id OpenJS.NodeJS`
- **Python**: `winget install --id Python.Python.3`
## IDE Configuration
### Visual Studio Code
1. Install the following extensions:
- Python
- Prettier
- GitLens
2. Sync settings:
- Enable settings sync in the Command Palette: `Ctrl+Shift+P` → "Turn on Settings Sync"
## Version Control
Set up Git:
\`\`\`bash
git config --global user.name "Your Name"
git config --global user.email "your-email@example.com"
\`\`\`
"@
"setup/shortcuts.md" = @"
# Shortcuts and Scripts
## Custom Shortcuts
- **Switch Windows Workspaces**: Alt + Shift + Arrow
- **Custom Browser Shortcut**: Ctrl + Shift + M
## Automation Scripts
Use the scripts in the `scripts/` folder for automating repetitive tasks.
"@
"setup/private/private-notes.md" = @"
# Private Setup Details
## Browser Profiles
- **Work**: work@example.com
- **Personal**: personal@example.com
- **Testing**: testing@example.com
- **Dev**: dev@example.com
- **Admin**: admin@example.com
## API Keys
- Service A: \`xxxxxxxxxx\`
- Service B: \`yyyyyyyyyy\`
---
Store this file securely. Never commit it to a public repository.
"@
"setup/private/.env" = @"
# Browser Profiles
EDGE_WORK_EMAIL=work@example.com
EDGE_PERSONAL_EMAIL=personal@example.com
EDGE_TESTING_EMAIL=testing@example.com
EDGE_DEV_EMAIL=dev@example.com
EDGE_ADMIN_EMAIL=admin@example.com
"@
"setup/.gitignore" = @'
# Ignore private details
private/
.env
'@
}
# Create folders
foreach ($folder in $folders) {
if (-not (Test-Path $folder)) {
New-Item -ItemType Directory -Force -Path $folder
}
}
# Create files with content
foreach ($file in $files.Keys) {
$content = $files[$file]
Set-Content -Path $file -Value $content -Force
}
Write-Host "Setup repository structure and files have been created successfully."