-
-
Notifications
You must be signed in to change notification settings - Fork 107
Improve developer experience with git worktree and docker environment. #206
Improve developer experience with git worktree and docker environment. #206
Conversation
Hi mate, thank you so much per doing this. I'm loving all the new stuff and documentations, I'm pretty sure that this is going to be really useful :) Sadly I cannot give it a try at the moment because my net has been pretty much trash this month lol, however I think everything looks pretty good. Just a small request before merging, can you please create a link to the contribute directory in the Cheers :) |
Hey cheers for the feedback @06kellyjac, I really need to get my linters set up. I ran this through shellcheck and made those changes as well. |
Just added the documentation to contributing.md :) @NTBBloodbath I've retested everything and it's working for me. Would be good to get a second opinion on this as well. |
0ec7a5f
to
113cb34
Compare
Hey, thanks buddy :) Everything looks good to me, just a small question now that I see this, why are we downloading packer in the docker image? I mean, Doom automatically downloads it if needed and then loads it but wanted to know if there was a specific reason for this :p I'm going to try to give this a try before merging (my net is really poor nowadays, thinking about getting a new one lol) but as I told this looks pretty fine to me (also thanks to @06kellyjac for the feedback :) ). |
Ahhh I didn't know this. I haven't setup doom-nvim from scratch before. I'll test out removing the packer install from the Dockerfile after work today. Thanks for the feedback! I might also try joining all the pacman installs and deleting cache to reduce the image size, right now it's ~900MB. |
Hi, are we ready to go and merge this? :) |
Could you guys explain to a docker noob the imagined use scenario with this? How should I use this? |
@molleweide The use case is creating a copy of the doom-nvim repo so that you can make changes without effecting your current config. It uses a git worktree which is like having the same repo in two places so this lets you cherrypick bug fixes into your own configuration. How to use it is run |
I have to try this!! What word do I type to test/use this new nvim instance? |
Right now you have to run it from the terminal (I've spoken to @NTBBloodbath about adding a If you want to test this out: |
@connorgmeehan, when I run the docker start script I get this message: > [internal] load metadata for docker.io/library/archlinux:latest:
------
failed to solve with frontend dockerfile.v0: failed to create LLB definition: no match for platform in manifest sha256:f1f68e8797f360754b8c7cc582168b5b5b77ff7eb6fb4760e4a82e8b5a10aab0: not found
- Success! Running docker container doom-nvim-contrib-container...
Unable to find image 'doom-nvim-contrib:latest' locally
docker: Error response from daemon: pull access denied for doom-nvim-contrib, repository does not exist or may require 'docker login': denied: requested access to the resource is denied. Does this mean one is required to have a docker hub account in order to run the docker img? |
No you shouldn't need a docker hub account, I think that this is the main error.
Hmmm, do you have an M1 Macbook? Maybe something going on there with arm binaries. I'll look into this tomorrow. |
Cool! Yes I am using M1. |
Yeah I guess the archlinux the base image doesnt have an aarch64 arm image so you cant build the image |
Doom Contrib Docker Image
./start_docker.sh
This docker image aids in development by setting up a docker virtual environment and git worktree of doom-nvim to make your changes within.
How to use
The setup and start process is handled in the
./start_docker.sh
script.What this script does
docker/doom-nvim-contrib
folder inside of this repository.doom-nvim-contrib
will be created off the latest version ofdevelop
.Generated Folders
These are the folders used by this docker image, they will be auto generated when
./start_docker.sh
is runcontribute/doom-nvim-contrib/
- Git worktree for doom-nvim contributionscontribute/local-share-nvim/
- Stores the data from~/.local/share/nvim/
contribute/workspace/
- Directory to store test files and project that you want to test your changes upon