My personal configuration files for a consistent and customized development environment. Bonus shortcuts.
This setup installs and configures a complete terminal environment with a focus on productivity for cloud-native development.
- 💻 Shell: Zsh with Oh My Zsh for a powerful shell experience.
- Includes
zsh-syntax-highlightingandzsh-autosuggestionsplugins.
- Includes
- ✍️ Editor: Neovim is configured as the default editor with a modern plugin set:
coc.nvimfor IDE-like autocompletion and code navigation.vim-fugitivefor seamless Git integration inside Neovim.fzf.vimfor blazing-fast fuzzy file finding.gruvboxtheme for a pleasant aesthetic.
- 🪟 Terminal Multiplexer: A powerful Tmux setup based on the popular gpakosz/.tmux configuration.
- 📦 Version Management: Installs
asdfto easily manage multiple runtime versions (e.g., Node.js, Go). - ☁️ Cloud-Native Aliases: Includes a large set of aliases for
kubectlandgcloudto speed up your workflow.
Run the single command for your OS to download the installer and begin the setup.
zsh -c "$(curl -fsSL https://raw.githubusercontent.com/mrchucu1/dotfiles/refs/heads/master/prepare.osx.sh)"#Install it without root permissions
zsh -c "$(curl -fsSL https://raw.githubusercontent.com/mrchucu1/dotfiles/refs/heads/master/prepare.osx.nroot.sh)"bash -c "$(curl -fsSL https://raw.githubusercontent.com/mrchucu1/dotfiles/refs/heads/master/prepare.ubuntu.sh)"bash -c "$(curl -fsSL https://raw.githubusercontent.com/mrchucu1/dotfiles/refs/heads/master/prepare.fedora.sh)"bash -c "$(curl -fsSL https://raw.githubusercontent.com/mrchucu1/dotfiles/refs/heads/master/prepare.arch.sh)"After the script completes, restart your terminal or log out and log back in for all changes to take effect.
Here are some of the custom keybindings and aliases you can use after installation.
Kubernetes Aliases (using k=kubectl)
| Alias | Description |
|---|---|
k |
kubectl |
kgp |
kubectl get pods |
kl |
kubectl logs |
klf |
kubectl logs -f |
keti |
kubectl exec -ti |
kaf |
kubectl apply -f |
kcgc |
kubectl config get-contexts |
kcuc |
kubectl config use-context |
kcn |
Set the namespace for the current context |
kgd |
kubectl get deployment |
kdd |
kubectl describe deployment |
krsd |
kubectl rollout status deployment |
kgs |
kubectl get service |
... |
And many more in the zshrc file! |
Neovim Keybindings (Leader key is ``)
| Keybinding | Action |
|---|---|
| Navigation | |
<C-p> |
Fuzzy find Git files (fzf) |
<Leader>pf |
Fuzzy find files (fzf) |
<Leader>pv |
Open file explorer (netrw) |
<Leader>h/j/k/l |
Move between window splits |
| CoC (LSP) | |
<Leader>gd |
Go to definition |
<Leader>gi |
Go to implementation |
<Leader>gr |
Find references |
<Leader>rr |
Rename symbol |
g[ / g] |
Go to previous/next diagnostic |
| Fugitive (Git) | |
<Leader>gs |
Open Git status window |
<Leader>gh |
diffget from "their" branch (merge) |
<Leader>gu |
diffget from "our" branch (merge) |
The tests/ directory contains Dockerfiles to build and validate the setup for each supported Linux distribution.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
This software is provided as is and the use of it is responsibility of the user.