Skip to content

mrchucu1/dotfiles

Repository files navigation

👨‍💻 @mrchucu1's Dotfiles

My personal configuration files for a consistent and customized development environment. Bonus shortcuts.

Last Commit License: MIT Built with Shell & VimL


✨ Features

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-highlighting and zsh-autosuggestions plugins.
  • ✍️ Editor: Neovim is configured as the default editor with a modern plugin set:
    • coc.nvim for IDE-like autocompletion and code navigation.
    • vim-fugitive for seamless Git integration inside Neovim.
    • fzf.vim for blazing-fast fuzzy file finding.
    • gruvbox theme for a pleasant aesthetic.
  • 🪟 Terminal Multiplexer: A powerful Tmux setup based on the popular gpakosz/.tmux configuration.
  • 📦 Version Management: Installs asdf to easily manage multiple runtime versions (e.g., Node.js, Go).
  • ☁️ Cloud-Native Aliases: Includes a large set of aliases for kubectl and gcloud to speed up your workflow.

🛠️ One-Step Installation

Run the single command for your OS to download the installer and begin the setup.

🍎 macOS

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)"

🐧 Linux

Ubuntu

bash -c "$(curl -fsSL https://raw.githubusercontent.com/mrchucu1/dotfiles/refs/heads/master/prepare.ubuntu.sh)"

Fedora

bash -c "$(curl -fsSL https://raw.githubusercontent.com/mrchucu1/dotfiles/refs/heads/master/prepare.fedora.sh)"

Arch Linux

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.


⌨️ Keybindings & Aliases

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)

🐳 Testing with Docker

The tests/ directory contains Dockerfiles to build and validate the setup for each supported Linux distribution.

Contributing

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.

License

This software is provided as is and the use of it is responsibility of the user.

MIT

About

All my dotfiles

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages