vim-settings/Dockerfile

81 lines
2.6 KiB
Docker

FROM ubuntu:hirsute
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y --no-install-recommends \
bash \
curl \
git \
golang \
gopls \
make \
neovim \
npm \
python3-autopep8 \
python3-flake8 \
python3-mypy \
python3-neovim \
python3-pip \
python3-proselint \
python3-pyls-black \
python3-venv \
universal-ctags \
yamllint \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
RUN useradd -ms /bin/bash vividboarder
RUN mkdir -p /go/bin
ENV PATH $PATH:/go/bin
RUN GOPATH=/go go get -u github.com/davidrjenni/reftools/cmd/fillstruct@master \
&& GOPATH=/go go get -u github.com/fatih/gomodifytags@latest \
&& GOPATH=/go go get -u github.com/fatih/motion@latest \
# && GOPATH=/go go get -u github.com/go-delve/delve/cmd/dlv@latest \
&& GOPATH=/go go get -u github.com/josharian/impl@master \
&& GOPATH=/go go get -u github.com/jstemmer/gotags@master \
&& GOPATH=/go go get -u github.com/kisielk/errcheck@latest \
&& GOPATH=/go go get -u github.com/klauspost/asmfmt/cmd/asmfmt@latest \
&& GOPATH=/go go get -u github.com/koron/iferr@master \
&& GOPATH=/go go get -u github.com/rogpeppe/godef@latest \
&& GOPATH=/go go get -u golang.org/x/lint/golint@master \
&& GOPATH=/go go get -u golang.org/x/tools/cmd/goimports@master \
&& GOPATH=/go go get -u golang.org/x/tools/cmd/gorename@master \
&& GOPATH=/go go get -u golang.org/x/tools/cmd/guru@master \
&& GOPATH=/go go get -u honnef.co/go/tools/cmd/keyify@master \
&& GOPATH=/go go get -u honnef.co/go/tools/cmd/staticcheck@latest \
&& GOPATH=/go go get -u github.com/mrtazz/checkmake \
&& rm -fr /go/src /go/pkg
RUN pip install --no-cache-dir \
reorder-python-imports \
vim-vint
RUN npm install -g \
alex \
bash-language-server \
csslint \
RUN curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b /go/bin v1.35.2
# RUN GOPATH=/go go get -u github.com/golangci/golangci-lint/cmd/golangci-lint@latest
USER vividboarder
VOLUME /home/vividboarder
WORKDIR /home/vividboarder
ENV HOME /home/vividboarder
ENV XDG_CONFIG_HOME $HOME/.config
RUN mkdir -p $XDG_CONFIG_HOME
COPY --chown=vividboarder:vividboarder . /vim-settings
# RUN ln -s $HOME/settings/vim "$XDG_CONFIG_HOME/nvim"
# RUN ln -s $HOME/settings/vim "$HOME/.vim"
# RUN ln -s $HOME/settings/vim/init.vim "$HOME/.vimrc"
ENV NPM_PACKAGES $HOME/.npm-packages
# RUN mkdir $NPM_PACKAGES
RUN npm config set prefix $NPM_PACKAGES
ENV PATH $PATH:$NPM_PACKAGES
ENV PATH $HOME/.local/bin:$PATH
# RUN ./settings/install-language-servers.sh
RUN mkdir data