Configuration to setup my dev env
Mostly Neovim and bash
This setup is specifically tailored for Asahi Fedora Remix on Apple Silicon hardware and Ubuntu, but can be adapted for other Linux distributions.
- Modern Neovim: Configuration is fully written in Lua.
- Fast Plugin Management: Uses
lazy.nvimfor asynchronous plugin loading. - Enhanced UI: Comes with
tokyonightcolorscheme,lualine.nvimfor the statusbar, andneo-tree.nvimas a file explorer. - Powerful Python Development:
- LSP: Full-featured language server support via
pyrightfor diagnostics, code completion, and navigation. - Formatting: Automatic formatting on save using
ruff_format. - Linting: High-performance linting with
ruff.
- LSP: Full-featured language server support via
- Excellent Markdown Support:
- Live Preview: In-browser preview using
markdown-preview.nvim. - Syntax Highlighting: Accurate highlighting with
nvim-treesitter.
- Live Preview: In-browser preview using
- Productivity Boosters:
- Fuzzy Finding:
telescope.nvimfor finding files, text, and more. - Git Integration: Seamless git workflows with
vim-fugitive. - Distraction-Free Writing:
goyo.vimfor a clean writing interface.
- Fuzzy Finding:
-
Clone the repository:
git clone https://github.com/shon/dotfiles.git cd dotfiles -
Run the setup script: This script will install all necessary packages (Neovim, git, etc.) and create the required symlinks.
sh ./init.sh
-
Launch Neovim: The first time you start Neovim,
lazy.nvimwill automatically install all the plugins.nvim
That's it! Your modern development environment is ready.
This codebase has been significantly modernized, but here are a few more suggestions for improvement:
- Shell and Terminal:
- Dotfiles Management:
- Neovim Customization:
- The current Neovim setup is powerful, but you can customize it further. Explore adding plugins for things like:
- Database integration (
vim-database). - REST client (
rest.nvim). - More advanced debugging with
nvim-dap.
- Database integration (
- The current Neovim setup is powerful, but you can customize it further. Explore adding plugins for things like: