Various scripts, dotfiles, automation, and IaC for my developer environment and homelab infrastructure with self-hosted apps, Raspberry Pis, Dockerfiles, etc.
E.g., it helps me bootstrap new computers with a developer environment customized to my liking with shell scripts, dotfiles, package managers, OS settings, IDE preferences, extensions, git customizations, shell aliases, cli packages, programming languages, Dockerfiles, etc. so that my machine is fully setup in a day instead of continually encountering all the numerous customizations that I have gotten used to and then have to gradually fix over weeks.
It also helps me keep track of and document my evolving homelab setup and architecture with documentation, diagrams, and Infrastructure as Code (IaC). I keep track of config and packages for each machine in infra/
. All scripts should be idempotent.
brew install go-task/tap/go-task
brew install pre-commit
or pip install pre-commit
https://taskfile.dev/
task validate
task security
task snyk
From ~/dev
: newProject.sh -n nameOfProject -g gitRepoName
- Follow
osConfig/mac/CHECKLIST-MAC.md
- Run
osConfig/mac/setupMac.sh
- Follow
osConfig/nix/CHECKLIST-NIX.md
- Run
osConfig/nix/setupNix.sh
Might Need to clone to a fresh windows
branch from master for windows machines due to file path incompatibilities in the mac folder. You would need to delete the mac folder on that branch to avoid the errors.
- Follow
osConfig/win/CHECKLIST-WIN.md
- Run
osConfig/win/setupWindows.ps1
On a Mac, bash, zsh, and fish dotfiles are backed up and restored with mackup command in setupMac.sh
and updateMac.sh
. My other global custom dotfiles like shell_vars
and shell_aliases
are stored in ~/.dotfiles
and configured to be backed up and restored with mackup backup|restore
.
This is automatically run from setupMac.sh
osConfig/languages/python/setupPython.sh
This is automatically run from setupMac.sh
osConfig/languages/javaScript/setupJavaScript.sh
This is automatically run from setupMac.sh
osConfig/languages/java/setupJava.sh
docker-compose.yml
with various useful docker images- A docker environment setup for Windows that makes developing on Windows easier due to bash, linux, containers, etc.
Packages, Brewfiles, IaC, diagrams, etc.
My Network and Services Diagram in yEdLive My Data and Backups Diagram in yEdLive