This is my personal development environment. You are welcome to use it or borrow from it. I'm doing my best to keep all of it as portable as possible, but I make no guarantees. If you find any issues please feel free to submit a PR or open a Github issue.
My full development environment is about 2.22gb in size. The image contains almost everything I'd ever need for nearly any app I'm working on. Most folks wanting to try it out are likely just looking for my Neovim setup. So, I have created a slimmed down Alpine image that is 300.52mb in size. It contains only what is needed to run my full Neovim setup and nothing extra.
You can even edit your own files with my Neovim setup by mounting a volume to the container and specifying the path for Neovim to open.
docker run -itv /path/to/your/files:/yourfiles chevcast/nvim /yourfiles
-
Clone the repository into a place of your choosing.
git clone [email protected]:chevcast/.dotfiles.git
-
Run the install script.
Note that the install script does NOT automatically back up any existing configuration files. Run at your own risk. If you want to try out the setup before installing then see above for how to run the setup in a Docker container.
cd .dotfiles && install.sh
-
???
-
Profit!
- Azure CLI
- Bun
- Dotnet SDK
- CMake
- fd
- Git
- Github CLI
- Golang
- Homebrew
- Lazygit
- Lua
- Markdown Preview
- Neovim
- Oh My ZSH
- Powerlevel10k
- Python
- ripgrep
- Volta
- Wezterm
- ZSH
- Zsh Vi Mode
- CopilotChat.nvim
- FixCursorHold.nvim
- SchemaStore.nvim
- blink-cmp-copilot
- blink.cmp
- blink.compat
- bufferline.nvim
- catppuccin
- clangd_extensions.nvim
- cmake-tools.nvim
- codeium.nvim
- conform.nvim
- copilot.lua
- crates.nvim
- dial.nvim
- firenvim
- flash.nvim
- friendly-snippets
- fzf-lua
- gitsigns.nvim
- grug-far.nvim
- gruvbox.nvim
- kulala.nvim
- lazydev.nvim
- lualine.nvim
- markdown-preview.nvim
- mason-lspconfig.nvim
- mason-nvim-dap.nvim
- mason.nvim
- mini.ai
- mini.animate
- mini.files
- mini.hipatterns
- mini.icons
- mini.pairs
- mini.surround
- neo-tree.nvim
- neoconf.nvim
- neogen
- neotest
- neotest-elixir
- neotest-golang
- neotest-playwright
- neotest-plenary
- neotest-python
- neotest-vitest
- noice.nvim
- nui.nvim
- nvim-dap
- nvim-dap-go
- nvim-dap-python
- nvim-dap-ui
- nvim-dap-virtual-text
- nvim-hlslens
- nvim-jdtls
- nvim-lint
- nvim-lspconfig
- nvim-nio
- nvim-scrollbar
- nvim-treesitter
- nvim-treesitter-context
- nvim-treesitter-textobjects
- nvim-ts-autotag
- nvim-web-devicons
- octo.nvim
- oil.nvim
- one-small-step-for-vimkind
- overseer.nvim
- persistence.nvim
- playtime.nvim
- plenary.nvim
- project.nvim
- rainbow-delimiters.nvim
- rainbow_csv
- render-markdown.nvim
- rustaceanvim
- screenkey.nvim
- snacks.nvim
- tiny-devicons-auto-colors.nvim
- todo-comments.nvim
- tokyonight.nvim
- trouble.nvim
- ts-comments.nvim
- unicode.vim
- vim-dadbod
- vim-dadbod-completion
- vim-dadbod-ui
- vim-helm
- vim-visual-multi
- which-key.nvim
- window-picker
- yanky.nvim