My personal dotfiles for setting up a comprehensive DevOps learning and development environment.
- Shell Configuration: Zsh with Oh My Zsh and Powerlevel10k theme
- DevOps Tools: Comprehensive aliases and functions for Docker, Kubernetes, Terraform, AWS, and more
- Learning Resources: Integrated documentation and sandbox environments
- CI/CD Helpers: Git workflow automation and GitHub Actions integration
- Monitoring Tools: System and application monitoring utilities
- Custom Aliases & Functions: Productivity-focused shortcuts and helpers
dotfiles/
โโโ zsh/
โ โโโ .zshrc # Main zsh configuration
โ โโโ aliases.zsh # General aliases
โ โโโ functions.zsh # General functions
โ โโโ keybindings.zsh # Custom key bindings
โ โโโ p10k.zsh # Powerlevel10k config
โ โโโ devops/ # DevOps-specific configurations
โ โ โโโ docker.zsh # Docker aliases & functions
โ โ โโโ kubernetes.zsh # Kubernetes helpers
โ โ โโโ terraform.zsh # Terraform/IaC tools
โ โ โโโ aws.zsh # AWS & cloud providers
โ โ โโโ cicd.zsh # CI/CD workflows
โ โ โโโ monitoring.zsh # Monitoring & observability
โ โโโ plugins/ # Zsh plugins
โ โโโ zsh-syntax-highlighting/
โ โโโ zsh-autosuggestions/
โ โโโ zsh-shift-select/
โโโ git/
โ โโโ .gitconfig # Git configuration
โ โโโ git-aliases.zsh # Comprehensive git aliases
โ โโโ hooks/ # Git hooks templates
โโโ configs/ # Tool configurations
โ โโโ kubectl/
โ โ โโโ completion.zsh # Kubectl autocomplete
โ โโโ docker/
โ โ โโโ config.json.example
โ โโโ terraform/
โ โ โโโ .terraformrc.example
โ โโโ ansible/
โ โโโ ansible.cfg.example
โโโ scripts/
โ โโโ install.sh # Main installation script
โ โโโ setup/ # Setup scripts
โ โ โโโ devops-tools.sh # Install DevOps tools
โ โโโ sandbox/ # Practice environments
โ โโโ k8s-local-cluster.sh # Local K8s cluster
โโโ docs/ # Learning documentation
โ โโโ COMMANDS.md # Quick reference guide
โโโ templates/ # Reusable templates
โ โโโ kubernetes/
โ โโโ terraform/
โ โโโ cicd/
โโโ README.md
- Zsh
- Oh My Zsh
- Powerlevel10k
- Git
- Clone the repository (with submodules):
git clone --recursive https://github.com/yourusername/dotfiles.git ~/.dotfiles- Run the installation script:
cd ~/.dotfiles
chmod +x scripts/install.sh
./scripts/install.sh- 50+ Docker aliases for container management
- Smart cleanup functions with interactive prompts
- Container debugging tools (ddebug, dshell, dlogs)
- Image building with validation (dbuild)
- Security scanning integration (dscan with trivy)
- Resource monitoring (dstats, dsize, dtop)
- Comprehensive kubectl aliases (k, kgp, kgs, etc.)
- Pod debugging suite (kdebug, kshell, klogs)
- Cluster information tools (kinfo, knodes, knamespaces)
- Deployment management (kdeploy, krestart, kscale-deploy)
- Troubleshooting helpers (kcrash, kpending, kerrors)
- Port forwarding with guidance (kport)
- Auto-completion for all kubectl commands
- Safe apply/destroy workflows with confirmations
- State management helpers (tfstate-*)
- Workspace management (tfwork-*)
- Plan and cost estimation (tfplan, tfcost)
- Security scanning (tfsec, checkov)
- Import and debugging tools
- AWS CLI helpers with cost awareness
- Profile switching (awsswitch)
- EC2 management (ec2list, ec2start, ec2stop)
- S3 tools (s3size, s3tree, s3public)
- Lambda helpers (lambdalist, lambdalogs)
- CloudFormation tools (cfnstatus, cfnoutputs)
- Cost tracking (awscosts, awscosts-service)
- GCP helpers (gcswitch, gcprojects)
- Git workflow automation (feature, hotfix, release)
- GitHub Actions integration (ghactions, ghrun)
- Pull request helpers (prcreate, prcheck, prmerge)
- Local CI testing (citest, cilint, cibuild)
- Secret scanning (cisecrets)
- Pipeline validation (cipipe)
- Branch management (branch-clean, branches)
- System monitoring (sysmon, portcheck, diskmon)
- Log analysis (logtail, logsearch, logerrors)
- Application health checks (apphealth, apimetrics)
- Container monitoring (containerstats, containerhealth)
- Performance testing (loadtest, benchmark)
- Network monitoring (netmon, connections)
- killport: Kill process on specified port
- Original aliases preserved: dev, play, migration-gen, etc.
- Enhanced git aliases: 100+ git shortcuts
- Custom key bindings for terminal efficiency
- zsh-syntax-highlighting - Command highlighting
- zsh-autosuggestions - Smart suggestions
- zsh-shift-select - Text selection with shift
cd ~/.dotfiles
git pullgit submodule update --remoteThis environment is designed to accelerate your DevOps learning through daily practice.
-
Install DevOps Tools
cd ~/.dotfiles chmod +x scripts/setup/devops-tools.sh ./scripts/setup/devops-tools.sh
-
Set Up Local Kubernetes Cluster
chmod +x scripts/sandbox/k8s-local-cluster.sh ./scripts/sandbox/k8s-local-cluster.sh
-
Explore Available Commands
dhelp # Docker commands khelp # Kubernetes commands tfhelp # Terraform commands awshelp # AWS commands cihelp # CI/CD commands monhelp # Monitoring commands
-
Read Quick Reference
cat docs/COMMANDS.md # or open docs/COMMANDS.md
# Build and run a container
drun ubuntu:latest
dshell <container>
dlogs <container>
dcleanup # Clean up when done# Set up local cluster (if not done already)
./scripts/sandbox/k8s-local-cluster.sh
# Practice commands
kgp # List pods
kubectl create deployment nginx --image=nginx
kdeploy nginx # View deployment details
kshell <pod-name> # Open shell in pod# Create a simple config
mkdir tf-test && cd tf-test
# ... create main.tf ...
tfinit
tfvalidate-all
tfplan
tfapply# Create a feature branch
feature user-authentication
# Make changes...
git add .
git commit -m "Add user auth"
git push
# Create PR
prcreate "Add user authentication"
# Check CI status
prcheck- docs/COMMANDS.md - Complete command reference
- configs/ - Example configurations for various tools
- templates/ - Starter templates for common tasks
- Inline help: Every function has
--helpor shows usage examples
Add them to zsh/aliases.zsh for general aliases, or to the appropriate file in zsh/devops/ for DevOps-specific aliases.
Add them to zsh/functions.zsh for general functions, or create domain-specific functions in zsh/devops/.
Add them to zsh/keybindings.zsh
Each DevOps tool has its own file in zsh/devops/:
docker.zsh- Docker commandskubernetes.zsh- Kubernetes commandsterraform.zsh- Terraform/IaC commandsaws.zsh- Cloud provider commandscicd.zsh- CI/CD workflowsmonitoring.zsh- Monitoring tools
This environment includes helpers and configurations for:
- Docker & Docker Compose
- Kubernetes (kubectl, kind, k9s)
- Helm
- Terraform
- CloudFormation
- Ansible (basic support)
- AWS (EC2, S3, Lambda, CloudFormation, IAM, etc.)
- Google Cloud Platform (GCP/gcloud)
- Azure (basic aliases)
- GitHub Actions
- GitLab CI
- GitHub CLI (gh)
- Git workflows (feature branches, releases, etc.)
- System monitoring (CPU, memory, disk, network)
- Log analysis
- Application health checks
- Container monitoring
- Performance testing
- Trivy (container scanning)
- tfsec (Terraform security)
- Checkov (IaC compliance)
- Secret detection
- Hadolint (Dockerfile linting)
- jq, yq (JSON/YAML processing)
- HTTPie (better curl)
- bat (better cat)
- fzf (fuzzy finder)
- stern (K8s log tailing)
source ~/.zshrc
# or restart your terminalCheck that DevOps configs are being sourced:
grep -A 5 "Load DevOps configurations" ~/.dotfiles/zsh/.zshrcchmod +x ~/.dotfiles/scripts/**/*.shsource ~/.dotfiles/configs/kubectl/completion.zshFeel free to fork and customize for your own use! Suggestions and improvements are welcome.
This project is licensed under the MIT License - see the LICENSE file for details.
- Oh My Zsh - Framework
- Powerlevel10k - Theme
- All plugin authors
- DevOps community for best practices and inspiration