FROM debian:unstable RUN apt-get update RUN apt-get install -q -y locales git curl ripgrep tree-sitter-cli build-essential neovim RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen ENV LANG=en_US.UTF-8 ENV LANGUAGE=en_US:en ENV LC_ALL=en_US.UTF-8 RUN sh -c 'curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim' RUN mkdir -p ~/.config/nvim \ && echo "call plug#begin()" >>~/.config/nvim/vimrc.vim \ && echo "Plug 'nvim-treesitter/nvim-treesitter'" >>~/.config/nvim/vimrc.vim \ && echo "Plug 'nvim-tree/nvim-web-devicons'" >>~/.config/nvim/vimrc.vim \ && echo "Plug 'nvim-tree/nvim-tree.lua'" >>~/.config/nvim/vimrc.vim \ && echo "Plug 'Mofiqul/dracula.nvim'" >>~/.config/nvim/vimrc.vim \ && echo "Plug 'nvim-lualine/lualine.nvim'" >>~/.config/nvim/vimrc.vim \ && echo "Plug 'akinsho/bufferline.nvim', { 'tag': '*' }" >>~/.config/nvim/vimrc.vim \ && echo "call plug#end()" >>~/.config/nvim/vimrc.vim \ && echo "vim.cmd.source(vim.fn.stdpath('config') .. '/vimrc.vim')" >>~/.config/nvim/init.lua \ && : RUN nvim -c "PlugInstall" -c "qall" \ && nvim -c "TSUpdate" -c "qall" RUN echo "vim.g.loaded_netrwPlugin = 1" >>~/.config/nvim/init.lua \ && echo "vim.g.loaded_netrw = 1" >>~/.config/nvim/init.lua \ && echo "require('nvim-tree').setup()" >>~/.config/nvim/init.lua \ && echo "require('lualine').setup({options = {theme = 'dracula-nvim'}, extensions = {'nvim-tree'}})" >>~/.config/nvim/init.lua \ && echo "require('bufferline').setup({options = {numbers = function(opts) return string.format('%s', opts.raise(opts.id)) end}})" >>~/.config/nvim/init.lua \ && echo "require('nvim-treesitter').setup {" >>~/.config/nvim/init.lua \ && echo " install_dir = vim.fn.stdpath('data') .. '/site'" >>~/.config/nvim/init.lua \ && echo "}" >>~/.config/nvim/init.lua \ && echo "vim.cmd([[colorscheme dracula]])" >>~/.config/nvim/init.lua \ && echo "vim.cmd([[set termguicolors]])" >>~/.config/nvim/init.lua WORKDIR /opt/app